[Cryptography-dev] "intrinsic" symmetric key identifier?

Frank Siebenlist frank.siebenlist at gmail.com
Fri Jul 1 12:11:10 EDT 2016


Many times you will have two parties with a shared symmetric key that
they will use to communicate authenticated and private messages to
each other. If you have multiple keys, then you somehow have to match
the key to the received message based on the context, the sender, or
some key identifier that both parties associate with the used key.

I'm looking for a good symmetric key identifier to use without the
need for context or any pre-shared key-identifier. Some standardized
way to derive a key-id from the key itself, such that both parties can
derive it independently without any pre-shared key specific knowledge.
Of course that key identifier shouldn't reveal anything that could
compromise the key itself.

I haven't been able to find a well-established way to achieve this (yet)...

One possible solution could be to just taking the sha256 of the key.
As long as the key is truly random... that should be ok (?).
It could conflict with possible derived keys that are generated that way.

Or maybe using one of the available KDFs?
Those should be one-way-functions that wouldn't leak anything(?)
Maybe use a well-known nonce to avoid any possible collisions with derived-keys.

Any suggestions? Anything I missed?

Regards, Frank.


More information about the Cryptography-dev mailing list