<div dir="ltr">Actually, the circuit is highly insensitive to noise from non-random sources.  Simply imagine the digital version, where we shift out one bit every cycle.  We can add any signal you like at any amplitude, and all it does is flip bits that are already randomized, making them no less random.  Coupling with adjacent circuits, RF, and NSA or China inspired signal injection attacks are all OK.  The only assumption here is the max amplitude of the injected signal does not move the signal out of the valid bounds, and I've got about .2V on both ends.  A an attacker capable of injecting more than .2V may be able to compromise randomness, but that's a large signal.<div>
<br></div><div>The signal from any one channel will be available in raw form for any software that wants it that way.  On my 1.5 mm^2 die, I fit 16 channels, along with pads, and a custom microcontroller I designed.  I don't have enough digial I/Os available to provide all 16 channels at 8MHz at the same time, but you'll be able to switch between them.</div>
<div><br></div><div>Bill</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Dec 7, 2013 at 4:33 PM, Jonathan Thornburg <span dir="ltr"><<a href="mailto:jthorn@astro.indiana.edu" target="_blank">jthorn@astro.indiana.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Sat, 7 Dec 2013, Bill Cox wrote:<br>
> Someone asked for some more detail about the design.  I've created a simple<br>
> web page describing the Infinite Noise Multiplier here:<br>
><br>
> <a href="http://dev.vinux-project.org/RNG/" target="_blank">http://dev.vinux-project.org/RNG/</a><br>
<br>
</div>I have several (somewhat related) devil's-advocate comments:<br>
[These actually apply to just about any hardware RNG]<br>
<br>
[I should emphasize that I'm *not* trying to be irritating here, i.e.,<br>
these are meant as *constructive* comments and implicit suggestions for<br>
how the design might be made more robust.]<br>
<br>
(1)<br>
It's really good that you checked that coupling in a 1 MHz sine wave<br>
doesn't ruin the randomness.  But what about other nonrandom signals<br>
coupled in from the environment?  Most real-world environments have a<br>
lot of RF floating around (not to mention 50/60Hz hum), and it would<br>
be nice to check a wide range of possible signals and<br>
places-or-sets-of-places-in-the-circuit-to-couple.<br>
<br>
(2)<br>
Checking for couplings with a spice model is good... but can we be sure<br>
that the behavior of the actual physical circuit matches that of the<br>
spice model in this regard?  E.g., does the spice model accurately model<br>
all the parasitic capacitances between different circuit elements?  If<br>
not, is there some argument that it's ok to neglect these?<br>
<br>
(3)<br>
If you have multiple copies of the circuit in close proximity, (how)<br>
do they perturb each other's operation?  Particularly given that they<br>
probably all share a common clock to avoid Buridan's paradox.  Maybe<br>
we need some shielding around each circuit?  Or at least some buffer<br>
amps in the clock tree?<br>
<br>
(4)<br>
Instead of xoring 80 mildly-random bits, why not output them all and<br>
let software [test them and then] run them through your favorite<br>
cryptographic hash fn?<br>
<br>
The underlying problem in (1), (2), and (3) is that this circuit is --<br>
by design -- very sensitive to tiny amounts of noise... so we have be<br>
very paranoid that that "noise" isn't a nonrandom parasitic coupling<br>
from somewhere else.<br>
<br>
ciao,<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
-- "Jonathan Thornburg [remove -animal to reply]" <<a href="mailto:jthorn@astro.indiana-zebra.edu">jthorn@astro.indiana-zebra.edu</a>><br>
   Dept of Astronomy & IUCSS, Indiana University, Bloomington, Indiana, USA<br>
   "There was of course no way of knowing whether you were being watched<br>
    at any given moment.  How often, or on what system, the Thought Police<br>
    plugged in on any individual wire was guesswork.  It was even conceivable<br>
    that they watched everybody all the time."  -- George Orwell, "1984"<br>
</font></span></blockquote></div><br></div>