I have found this discussion very stimulating and enlightening. I'd 
like to make a couple of comments:

1. Mr. Kelsey's argument that entropy should only be added in large 
quanta is compelling, but I wonder if it goes far enough. I would 
argue that entropy collected from different sources (disk, network, 
sound card, user input, etc.) should be collected in separate pools, 
with each pool taped only when enough entropy has been collected in 
that pool.

Mixing sources gives an attacker added opportunities. For example, 
say entropy is being mixed from disk accesses and from network 
activity. An attacker could flood his target with network packets he 
controlled, insuring that there would be few disk entropy deposits in 
any given quanta release. On the other hand, if the entropy were 
collected separately, disk activity entropy would completely rekey 
the PRNG whenever enough accumulated, regardless of network 
manipulation.  Similarly, in a system with a hardware entropy source, 
adding disk entropy in a mixing mode would serve little purpose, but 
if the pools were kept separate, disk entropy would be a valuable 
backup in case the hardware source failed or were compromised.

2. It seems clear that the best solution combines strong crypto 
primitives with entropy collection. I wonder how much of the 
resistance expressed in this thread by has to do with concerns about 
performance. For this reason, I think RC4 deserves further 
consideration. It is very fast and has a natural entropy pool built 
in. With some care, I believe RC4 can be used in such a way that 
attacks on the PRNG can be equated to an attacks on RC4 as a cipher. 
The cryproanalytic significance of RC4's imperfect whiteness is 
questionable and can be addressed in a number of ways, if needed.  I 
have some thoughts on a fairly simple and efficient multi-pool PRNG 
design based on RC4, if anyone is interested.

3. With regard to diskless nodes, I suggest that the cryptographic 
community should push back by saying that some entropy source is a 
requirement and come up with a specification (minimum bit rate, 
maximum acceptable color, testability, open design, etc.). An entropy 
source spec would reward Intel for doing the right thing and 
encourage other processor manufacturers to follow their lead.

A hardware RNG can also be added at the board level. This takes 
careful engineering, but is not that expensive. The review of the 
Pentium III RNG on www.cryptography.com seems to imply that Intel is 
only claiming patent protection on its whitening circuit, which is 
superfluous, if not harmful. If so, their RNG design could be copied.


Arnold Reinhold

Reply via email to