Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 02 Feb 2003 18:36:02 +0000
From:      Mark Murray <mark@grondar.org>
To:        "Andrey A. Chernov" <ache@nagual.pp.ru>
Cc:        current@FreeBSD.ORG
Subject:   Re: rand() is broken 
Message-ID:  <200302021836.h12Ia2aX049696@grimreaper.grondar.org>
In-Reply-To: Your message of "Sun, 02 Feb 2003 21:20:09 %2B0300." <20030202182009.GA66318@nagual.pp.ru> 

next in thread | previous in thread | raw e-mail | index | archive | help
"Andrey A. Chernov" writes:
> On Sun, Feb 02, 2003 at 17:30:48 +0000, Mark Murray wrote:
> > 
> > Why not? Arc4 is a) deterministic and b) good for all bits.
> 
> If you mean arc4random() function - not, because it use true randomness,
> if you mean RC4 algorithm, probably yes, but we should compare its
> distribution with our current variant and be sure that speed is
> acceptable. What form RC4 distribution have?

(I have read the whole thread)

I think we need four things.

1) void srandom(int arg) which uses the argument to seed.
2) void srandomdev(void) which uses system entropy to seed.
3) int random(void) which returns a number statistically
   random in all bits.
4) <something else> which returns as many bytes of randomness
   (statistically random in all bits) as the caller asks for.

We have most of this, and RC4 can deliver. RC4's "licence" is
fine. Call it "ArCFour" and there is no problem. The code is
small, fast and repeatable, and meets conditions 1-4 above.

Coding is Junior-high-school level, given the spec.

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?200302021836.h12Ia2aX049696>