Skip site navigation (1)Skip section navigation (2)
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>