Are there any algorithms/protocols that let you produce a specific length of random tokens/bits in such a way that you can cryptographically determine which 2 or more tokens/bitstrings where produced using the same seed/key. Is it possible at all?
For example, if I produce these random bits: 12432
, 15693
, with key A and 57322
, 57483
with key B. I want a third party who gets 12432
and 15693
to be able to determine they were both produced under the same key.
I thought of digital signatures as the obvious solution. However digital signatures will be to long for my requirement. I would like the token to be between 10-20 bits long, any pointers will be greatly appreciated.
Requirements:
- The third party should be able to verify the tokens are valid.
- Ideally, the third party should be unable to forge tokens.
- Tokens must be unique to a single key.