Date: Mon, 3 Feb 2003 00:26:33 +0000 From: Edward Brocklesby <ejb@lythe.org.uk> To: Don <don@calis.blacksun.org>, current@FreeBSD.ORG Subject: Re: rand() is broken Message-ID: <200302030026.33781.ejb@lythe.org.uk> In-Reply-To: <20030202190827.K2458@calis.blacksun.org> References: <200302021848.NAA19508@agamemnon.cnchost.com> <200302030007.01718.ejb@lythe.org.uk> <20030202190827.K2458@calis.blacksun.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 03 February 2003 12:18 am, Don wrote: > It isn't a question of the API. It's a question of expected function > output. Then it's applicable not only to binary packages as Terry states, but any source that uses rand(). > I run FreeBSD and not Linux because of the stability and predictability of > the system. Changing a critical function like rand() when we know that > there are applications which depend on its output I would say that depending on the internal algorithm used by rand() (or random()) is a bad idea; however, I don't know what the relevant standards say about this, so I won't say any further. (Why is it a bad idea? Because I'm not going to write software which makes this assumption; I'm sure that even if at some point in time all systems use an identical algorithm, at some point my software will have to run on a system which uses something different. So if I really need it, I will take rand() from libc and place it in my own code.) > does not seem like a good idea. > > A seperate function for those who need cryptographic randomness seems like > a _much_ better idea. I'm not sure Yet Another RNG API (of course arc4random() already exists) gains anything unless rand()/random() absolutely cannot be changed; and as I say I'm not convinced this is the case. Doesn't even the 0 / RAND_MAX fix change the algorithm? Software which relies on that behaviour will break .. > This is my person opinion. I am not a developer so please take my comments > as such. Likewise. Regards, Edward. 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?200302030026.33781.ejb>