Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 02 Feb 2003 17:32:57 +0000
From:      Mark Murray <mark@grondar.org>
To:        "Andrey A. Chernov" <ache@nagual.pp.ru>
Cc:        Tim Robbins <tjr@FreeBSD.ORG>, Kris Kennaway <kris@obsecurity.org>, current@FreeBSD.ORG
Subject:   Re: rand() is broken 
Message-ID:  <200302021732.h12HWvaX048978@grimreaper.grondar.org>
In-Reply-To: Your message of "Sun, 02 Feb 2003 16:42:25 %2B0300." <20030202134225.GA63673@nagual.pp.ru> 

next in thread | previous in thread | raw e-mail | index | archive | help
"Andrey A. Chernov" writes:
> On Mon, Feb 03, 2003 at 00:17:35 +1100, Tim Robbins wrote:
> > 
> > I believe that this change just moves the "bad" seed to 123459876; after
> > calling srand() with that seed, each call to rand() returns 0.
> 
> Yes. Nothing better is possible for this formulae and this is documented
> in algorithm, some value must be excluded. Excluding 0 is bad only because
> srand(0) is commonly used and srand(123459876) is not.

This means that this routine has a chance of failing spectacularly.

We should not use it.

> Ragarding to old formulae, the question is: what is worse, generate 
> non-random lover bits everytime (old variant) or exclude one seed value 
> (new variant)?

Neither. New RNG is needed.

> Of course formulae can be changed to some another algorithm, but keep in 
> mind that rand() must be simple and speedy. Now used variant is most 
> simpler, others are much more complex.

RC4 is fast. RC4 is simple. Any objections? :-)

M
--
Mark Murray
iumop ap!sdn w,I idlaH

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200302021732.h12HWvaX048978>