[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Cfrg] consequences of nonce reuse



I'd like to know more about what actually happens when a nonce is reused. For example, does it a) weaken the security bound by some factor? b) immediately allow an attacker to obtain the XOR of two messages that used the same nonce? or c) allow an attacker to recover the entire key or otherwise decrypt arbitrary messages?

When

  tag  = prf(nonce) xor hash(m) and
  tag' = prf(nonce) xor hash(m'),

then any observer knows that tag xor tag' = hash(m) xor hash(m'). In other words, each time a nonce is reused, the adversary gets to know the difference between the hashes of two known messages (since tags and messages are often cleartext).

The definitions of universal hashing -- on which wegman-carter macs are based -- do not accommodate for this type of leak. One would have to develop universal hashing definitions conditioned on the adversary knowing some hash differences, and then functions used in wegman- carter macs would have to be re-proven in light of these new definitions.

For many hash functions, knowing hash differences likely makes it very easy to determine what hash key is in use. For example, simple polynomial hashing has enough mathematical structure that knowing a few differences could make it easy to determine the key in use.

It is probably best to accept that wegman-carter macs REQUIRE non- repeating nonces (and not insist on discussions in RFCs about the subtleties of this). If someone is able to prove that their wegman- carter mac can withstand repeated nonces, then they can point that fact out as special to their mac.

-Ted

_______________________________________________
Cfrg mailing list
Cfrg at ietf.org
https://www1.ietf.org/mailman/listinfo/cfrg