Date: Sun, 02 Feb 2003 20:15:05 +0000 From: Mark Murray <mark@grondar.org> To: Bakul Shah <bakul@bitblocks.com> Cc: "Jeroen C. van Gelderen" <jeroen@vangelderen.org>, phk@FreeBSD.ORG, current@FreeBSD.ORG Subject: Re: rand() is broken Message-ID: <200302022015.h12KF5aX050851@grimreaper.grondar.org> In-Reply-To: Your message of "Sun, 02 Feb 2003 11:55:25 PST." <200302021955.OAA20742@glatton.cnchost.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Bakul Shah writes: > > RC4 is _utterly_ repeatable, given a particular seed/key. > > May be but it is not the same as the current random(). Also, > I know you will want to change it the next time some one > points out a problem with RC4. Yes. This is called "fixing bugs". We (OS maintainers) reserve that right. If you need something more predictable, please maintain your own code. > > Yes. And it breaks, and we have a complainant. > > So create a new function! Or use a different function to > generate or initialize the seed. I think one has to treat a > behavior bug very carefully. If enough people are depending > on it, it pretty much has to get enshrined as part of the > spec -- sort of like the timeout arg to select(). The documented behaviour is rand(3)/random(3). No guarantee of lifelong repeatability is provided. Would you prefer that we defined random() as int random(void) { static int retval = 0; return retval++; } and worked on statistical randomness somewhere else? > > The random() function in libc is documented to give the same > > pseudo-random output for a particular seed. If you link your > > program against a _different_ libc, you cannot expect your > > results to follow a particular number sequence. > > There is an expectation that on subsequent releases of the > same OS things continue to work. Where is that expectation guaranteed? Where is that expectation supported? > Historically rand() and random() under unix have been used > the most for simulation. [aside: Earl T. Cohen (the author > of random(3)) also has had a lot to do in this area] > > Why not totally separate all uses of crypto related random > number generator uses from the traditional simulation use? > That way you can change crypto_random to your heart's content > as the crypto needs change (as they will). The two are related topics. Consider the (joking reference to) "elephant-free biology". :-) 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?200302022015.h12KF5aX050851>