I have many keys of short length (6 bytes) and I know some factors that might be used to calculate them. I know for sure that the can be obtained with the given information.

Since the keys are very short and so are also the factors that may be involved in the generation, I was wondering what would be the approach of discovering how they are generated.

Multiple keys have in common the same UID and differentiated by the "block" of data they authenticate, for example (all values are in hex):

UID: 8de73004

Keys generated for this UID:
1b47cf796936 (block 15)
d53c00f53a3d (block 14)
5f42136fec45 (block 13)
3b1547f2ee91 (block 12)

I also assume there's a private key involved in the process.

I think it's also worth nothing that the keys never change and do not depend on the content of the block.

Is there a particular approach to do this? Or are there simply too many possibilities that it's not worth it?


With any decent key derivation function and a 128-bit secret key, it's possible to generate blocks of output for every UID such that, if you know all the outputs except for one bit of one block of output for one UID, and you don't know the secret key, then you have no way to know what this one missing bit is. (As in, if you used all the computers currently existing, it would take you more than the age of the universe to have a better chance of guessing the value of that bit than flipping a coin.)

So unless somebody did something stupid or there was no attempt at security, you can't find how the output was generated by observing outputs alone as a black box. You'll need to reverse engineer the code.

  • Do things change if my only objective is to generate more keys given the UID and block number? I'm not interested in determining the private key. – devgianlu May 16 at 10:59
  • What I'm saying in my answer is that you can't generate more derived keys, if this system was designed to be secure. – Gilles May 16 at 21:36

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.