On Wed, Dec 02, 2009 at 02:25:57PM +0100, Otto Moerbeek wrote: > On Wed, Dec 02, 2009 at 01:09:02PM +0000, Michael Shalayeff wrote: > > > On Wed, Dec 02, 2009 at 10:38:10AM +0100, Otto Moerbeek wrote: > > > Hi, > > re > > > > > apart from the random page addresses obtained form mmap(2) malloc(3) > > > itself also randomizes cache en chunk operations. It uses a nibble of > > > randomness per call, so optimize that to not waste half the random > > > bits. > > > > arc4 random does not use entropy and is very cheap > > almost the speed of memory copy. "caching" arc4 output > > like this is the same as running rot13 twice (: > > at least it saves on calls to arc4_stir() and thus on sysctl(2) and > getpid(2) calls.
I was a bit puzzled by mickeys comment, remenbering that the kernel arc4 does use entropy, and indeed rc4random_buf() in the kernel which provides the random data for stirring the userland arc4random(3) calls arc4maybeinit() which potentially consumes entropy via arc4_stir() and get_random_bytes(). The the trigger to stir in the kernel is timer based, not consumption based. -Otto