-----Original Message-----
From: IPsec [mailto:[email protected]] On Behalf Of Yoav Nir
Sent: Monday, March 30, 2015 10:40 AM
To: [email protected]
Cc: [email protected]; [email protected]
Subject: [IPsec] Two questions about draft-ietf-ipsecme-chacha20-poly1305-00
> Hi,
>
> There is two questions I would like guidance from the group about.
>
> First is the nonce/IV question: In the current draft, there is a 64-bit IV
> with guidance not to repeat them (so use a counter or LFSR). The function
> itself accepts a 96-bit input nonce, so the nonce is constructed from the
> 64-bit IV and 32 zero bits. The reason for doing this is so the algorithm
> could be used in a multi-sender case such as GDOI, where the 32-bit zero can
> be replaced by a sender ID.
This idea about the multi-sender case works only if the there's a sender id
somewhere in the encrypted packet.
> Alternatively, we could generate a 32-bit salt value from the key material,
> but I don’t see a reason why we’d want that.
Here's the reason that we do use the 32-bit salt value for GCM - to prevent
batching attacks.
Consider the case that an attacker is able to collect packets from a billion
(2^30) sessions; each such session contains a packet with the same IV (say,
IV=0), and contains a packet with the same known plaintext (or, at least,
plaintext that satisfies the same known linear equations). Then, what an
attacker can do is check a key to see if any of the IV=0 packets used that key,
in constant time. The reduces the effort for an attacker to find the n bit key
for some session from 2^n to 2^{n-30}. What the salt does is multiply the
effort involved in this specific attack by a factor of 2^32 (because the
attacker needs to guess the key and the salt); that way, the attacker needs to
collect 4 billion sessions before this attack starts to have any advantage over
a simpler attack that just attacks a single packet (which the salt doesn’t
protect against).
Now, of course, chacha20 has 256 bit keys; hence even if we decided not to
apply the same protection, someone with a collection of a billion sessions
might be able to use this to reduce the effort to 2^226.
I'll let you decide whether this is a compelling argument or not...
_______________________________________________
IPsec mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/ipsec