[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAH8yC8m8hcL-gtWA_SbXOKSNRWV+nwzJRHBiEeMKEiz8ZR5M9Q@mail.gmail.com>
Date: Wed, 4 May 2016 12:54:13 -0400
From: Jeffrey Walton <noloader@...il.com>
To: Stephan Mueller <smueller@...onox.de>
Cc: "Theodore Ts'o" <tytso@....edu>, linux-kernel@...r.kernel.org,
Herbert Xu <herbert@...dor.apana.org.au>, andi@...stfloor.org,
Sandy Harris <sandyinchina@...il.com>,
cryptography@...edaemon.net, jsd@...n.com, hpa@...or.com,
linux-crypto@...r.kernel.org
Subject: Re: [PATCH 1/3] random: replace non-blocking pool with a
Chacha20-based CRNG
>> + chacha20_block(&crng->state[0], out);
>> + if (crng->state[12] == 0)
>> + crng->state[13]++;
>
> state[12]++? Or why do you increment the nonce?
In Bernstein's Salsa and ChaCha, the counter is 64-bit. It appears
ChaCha-TLS uses a 32-bit counter, and the other 32-bits is given to
the nonce.
Maybe the first question to ask is, what ChaCha is the kernel
providing? If its ChaCha-TLS, then the carry does not make a lot of
sense.
If the generator is limiting the amount of material under a given set
of security parameters (key and nonce), then the generator will likely
re-key itself long before the 256-GB induced wrap. In this case, it
does not matter which ChaCha the kernel is providing and the carry is
superfluous.
Jeff
Powered by blists - more mailing lists