I think the title question speaks for itself, but here are the details:
You have 4 bits for the buttons, 16 bits for the counter, and a fix 16 bit ID. The transmitter would send out these bits plus an extra 32 bit word read from a ROM addressed by the counter. The reciever would look up the address in its own ROM and check if the two noise words match. Of course the counter must increase too.
You could even overwrite the noise every time the reciever and transmitter are physically connected. Not even your chip manufacturer would have an access.
So the question is: why does Microchip's KeeLoq technology bother so much to work with algorithms?
Thanks Miklos
I would say by sampling thermal noise, but actually it does not even have to be real perfect noise. It could be a long set of pre-shared 32 bit passwords of almost any kind as well. All we need is that you cannot guess the upcoming next 32 bits. This is not a situation where you have an encrypted file to break. Here half the 'file' is already used and is of no use anymore, while the other half is still unknown. Thanks again Miklos
– Miklos Bence Mar 20 '14 at 12:58