[comp.sys.ibm.pc.hardware] Hardware random bit generator needed

psm@manta.NOSC.MIL (Scot Mcintosh) (10/05/90)

I need a circuit to produce a random or pseudorandom
bit stream that doesn't repeat until at least 2^32
bits have gone by. A software method can't be used
because there won't be a cpu available.
Can anyone supply such a circuit
or refer me to a source? Thanks muchly.

ed@odi.com (Ed Schwalenberg) (10/05/90)

To produce truly random bits, you need to rely on truly random events,
such as radioactive decay.  Sampling the state of a high-frequency
digital oscillator every time you detect a radioactive particle will
give you truly random bits.

Producing pseudo-random bits is easier.  The canonical method is to
use a shift register, the input to which is the XOR of, say, the 19th,
22nd and 35th bits in the shift register.  The length of the register
and the number of inputs to the XOR gate can be varied at will.  I don't
know how to prove, for a given configuration, when the pattern repeats;
certainly if you need 2^32 non-repeating bits one of the inputs to the XOR
function must come from bit 32 or higher of the shift register.

kdq@demott.COM (Kevin D. Quitt) (10/06/90)

In article <1234@manta.NOSC.MIL> psm@manta.NOSC.MIL (Scot Mcintosh) writes:
>I need a circuit to produce a random or pseudorandom
>bit stream that doesn't repeat until at least 2^32
>bits have gone by.

    If you need bytes, use a schmidt buffer with its output tied to its
input (makes a pretty good very-high speed unstable oscillator), and run
the output to the clock of a counter chip.  Since the counter will be
wrapping around so many times more often than you sample, and your
sampling is asynchronous to the oscillator, the output will effectively
random. 

    If you need a bit stream, you can feed the output into a flip-flop's
D, and issue a CLK whenever you want a bit.  Also pretty good.

    Another possibility is to use a cheap (i.e. noisy) transistor that's
forward biased, and let it amplify its own noise to act as the clock for
either of the above.

-- 
 _
Kevin D. Quitt         demott!kdq   kdq@demott.com
DeMott Electronics Co. 14707 Keswick St.   Van Nuys, CA 91405-1266
VOICE (818) 988-4975   FAX (818) 997-1190  MODEM (818) 997-4496 PEP last

                96.37% of all statistics are made up.