Re: Continuing /dev/random problems with 2.4

Robert Love
2002-02-04T22:46:55Z

On Mon, 2002-02-04 at 17:37, Roland Dreier wrote:

> Entropy is gathered from interrupt timing in the kernel because
> interrupts are handled in the kernel. It would be quite difficult for
> a user space process to get accurate information about interrupt
> timing.
>
> However, the i8xx RNG and audio entropy daemons work perfectly well
> from user space. What is gained by moving that code into the kernel?

Exactly. Nothing is gained.

A misconception in this thread seems to be on how this works.
Generating entropy from interrupts and block I/O uses timing values.
Differences in successive operations of whatever. The infrastructure
for carrying out those operations already exists, we just need to note
their timing.

The i8xx and other RNGs are different. They actually _give_ us the
random data. In other words, they generate entropy to just push
directly into the pool. The concern is that this data may not be safe,
and thus we need to run a fitness test on it (i.e. FIPS 190, I
believe). All this muck is new code and can exist in userspace --
therefore it will.

Robert Love