1

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

  • Actually you can add a timestamp to the counter bits to address the ROM to avoid replay attacks. Or use the noise bits as keys to encrypt the whole thing. Possibilities are limitless. There is no way to crack noise. – Miklos Bence Mar 13 '14 at 11:02
  • How is the 'noise' being generated? A pre-shared key needs to be complex enough to increase the effort to brute force. – schroeder Mar 19 '14 at 23:13
  • Thank you Schroeder for your answer! > How is the 'noise' being generated? 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
  • But that's why we use complex algorithms ... It is far easier to create mathematically testable results with math... – schroeder Mar 20 '14 at 14:14
  • Please think of my question as 'Why not use pre-shared disposable passwords?' – Miklos Bence Mar 20 '14 at 18:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.