Newsgroups: sci.crypt
Path: cactus.org!ritter
From: ritter@cactus.org (Terry Ritter)

Subject: Re: IBM-PC random generator, source included
Message-ID: <1992Jun25.201031.19945@cactus.org>
Organization: Capital Area Central Texas UNIX Society, Austin, Tx
References: <2673@accucx.cc.ruu.nl> <1992Jun23.080147.15804@cactus.org>
+           <1992Jun25.033711.26770@massey.ac.nz>
Date: Thu, 25 Jun 1992 20:10:31 GMT


 In <1992Jun25.033711.26770@massey.ac.nz> T.Drawneek@massey.ac.nz
 (Ted Drawneek) writes:


>The phase noise present even in crystal oscillators is nondeterministic.
>Suppose you have two oscillators in phase at the same frequency, each
>driving some sort of trigger so that nominally they both trigger at the
>same time.  Then would they actually both trigger at the same time?
>Probably not - you would find that sometimes one would be before the other,
>at other times it would be later,  if you looked closely enough.

 The issue follows from "if you looked closely enough."

 I do not deny that the capability exists in a laboratory to
 perceive and measure phase noise in crystal oscillators.
 I simply deny that this could possibly be the effect which is
 measured by Nico's design.  On the other hand, jitter arising
 from the background refresh process could scarcely be missed,
 and its effect will be overwhelming.  Presumably, if we could
 predict that effect, we would then be set to measure events
 of smaller magnitude.  I see no attempt to eliminate or
 compensate for this effect.

 Actually, if we were to get down to it, it may be possible for
 a laboratory to measure event-to-event "jitter" differences in
 digital logic itself.  These would arise from thermal and
 junction noise in what is fundamentally an analog process;
 transistors are not inherently digital.  The question is whether
 such an effect, in the magnitude in which it could exist, could
 possibly be important in the results.

 Perhaps Mr. Drawneek would care to speculate on the magnitude of
 crystal oscillator nondeterministic phase shifts, and on the
 rate of such occurrences.  And then on the possibility of
 measuring such shifts by any method on an ordinary PC (after
 the normal digital division).  And then on the ability to draw
 128 bits per second of random information from such a source.

 A 20 Mhz crystal has a period of 50 nsec.  A good AT-cut would
 vary by +/- 0.005% (50 parts per million) over full temperature
 range (-55 deg C to +105 deg C).  If we use this difference as
 an indication of the magnitude of possible phase jitter, we
 could have jitter on the order of 0.0025 nsec.

 Measure *that* on a PC with software and timers at 128 bits
 per second.

 The quartz resonator itself is a physical material and in
 operation the surface pulls about 1,000,000 G's.  This is
 stored resonant energy, and a typical crystal will have a Q
 in excess of 100,000.  In steady-state operation the circuit
 supplies only replacement energy, so we have a mechanical
 integration of about 100,000 cycles worth of supplied energy
 stored in the rock.  (Because of this, it can take a 32 kHz
 clock crystal up to a second to reach steady state.)  The
 crystal might wiggle a little, but my guess is that a good
 proportion of any measured "phase noise" is the simple effect
 of thermal noise at the node which converts the beautiful
 sine wave into harsh digital form.

 Of course, the source of the randomness wouldn't matter at all,
 if we could just measure it.  I am open to the possibility.

 ---
 Terry Ritter    ritter@cactus.org