[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Project: a standard cell random number generator




At 9:50 PM 9/20/95, John Gilmore wrote:
>You probably can't build a hardware random number generator out of
>existing "gate array" gates or "standard cell" cells, because all the
>existing gates and cells are designed to behave completely
>predictably!  It will take designing a new circuit structure.

Actually, even without going into the more analog characteristics of
these same standard cells (as Tim suggests: threshold measurement, DRAM
discharge time, and so on) you can do that using the really basic
behavior of really basic standard cells: I did that some 8 years ago
around a free-running ring oscillator (a bunch of basic logic gates in
a ring).

The problem I would look into first is that any such random number
generator (even the ones based on measurements of analog quantities)
would likely synchronize to some extend to the local noise (like CMOS
switching noise in sync with the chip clock). My impression is that if
you try and make the thing more impervious to noise, it will be less
random too, and the most prominent noise in such chips is not random
at all.

So, you could try to make it run fast, and place it in a slow chip
(like an older style UART), or you could try to kick it out of sync now
and then based on some external conditions (maybe) (bus signal arrival
time, serial line input, etc).

It's not guaranteed it would end up generating anything useful (maybe
not even to seed a software PRNG). I still like the idea of using
macroscopic events, many orders of magnitude different from system
operating frequencies: mouse location and timing sounds good. If you
want to get large amounts of random numbers, use a specially designed
separate box, well shielded, and running on batteries (like a walkman :-)

And a cryptographically secure software hash is always necessary.

Pierre.
[email protected]