> > Where do we invent entropy from when the kernel has only
> > been running for 0.01 of a second?
> 
> O.K. where do you need ramdom bytes during that state of the kernel?
> All locations where arc4random* is called in the kernel are these:

[list of 16]

Unfortunately it looks like you missed a hundred or more.

> The rest of the calls (to the level I checked), will need at least the
> root filesystem to load some config data and then init some stuff
> (i.e. WEP key generation, etc.).

No, there is much more than that.  Processes get started and
initialize their libc-based prng's, as well as other state, including
address space randomization, stack biasing, etc etc.

> So, until the filesystem is mounted, there is no need for arc4random()
> in the kernel.

Totally false.

> After the filesystem has been mounted the entropy data
> will be loaded from the file. If this is true. Where is the need for
> the time value in arc4_stir()??

You must not be reading the same code I am.

> Maybe I'm wrong. If so, please direct me to the code that needs
> arc4random() before the filesystem has been mounted

Your approach is wrong.

> I did not say that. I said, that XORing the time value with the data
> of get_random_bytes() is probably sufficient and that MD5 would not be
> required.

The MD5 is required.

Reply via email to