Subject: Re: replace kernel random number function
To: None <itojun@iijlab.net>
From: Kenjiro Cho <kjc@csl.sony.co.jp>
List: tech-kern
Date: 10/23/2000 23:43:41
itojun@iijlab.net wrote:
> >> 	deraadt told me that i should not replace random(9), as there can be
> >> 	some code depending on poorness, or uniformity, of random(9).
> >???  Can you/he point to some examples of this?  Sounds a little bit
> >suspect to me...
> 
> 	sys/arch/sparc/sparc/clock.c assumes that random(9) returns uniform
> 	random number (at least the comment says so).
> 	if we take a safer side, we should not replace random(9), or we should
> 	repalce random(9) with a random number generator with uniform
> 	number distribuion.  i still am not really sure if it matters (i
> 	suspect it does not).

Traditionally, uniformity is the most important property of a
pseudo-random generator in computer science.
Also, in the Internet research, lots of new algorithms such as RED
employ probablistic behavior.  The curent random() is good for them.

I believe that the algorithm was designed for the following
requirements:
 - its cycle should be as long as possible
 - "random() % N" should be fairly uniform for any N (32bit interger)

I read the original paper a long time ago, so, I could be mistaken.
"Random number generators: good ones are hard to find",
Park and Miller, Communications of the ACM, vol. 31, no. 10,
October 1988, p. 1195.

-Kenjiro