<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 14, 2016 at 2:36 PM, Ron Garret <span dir="ltr"><<a href="mailto:ron@flownet.com" target="_blank">ron@flownet.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Jan 13, 2016, at 5:08 PM, Jonathan Thornburg <br>
</div></div>IMHO the right approach is to not worry about the quality of your noise source and just use a whitener with a large margin of safety.  Feed 1000 raw 10-bit ADC readings into SHA512 and you’re almost certainly secure against any attack.  If you want to be super duper paranoid, run some basic sanity checks on the raw input, like make sure that the standard deviation of your samples is >>0.</blockquote><div><br></div><div>I think you would usually be right.  An exception might be the guy who is running in something close to a Faraday cage off a battery and good bypass caps, with little non-thermal noise feeding the ADC.  Does anyone know what the anti-alias filter is like on these parts?  There surely is one, and it will limit the thermal noise.</div><div><br></div><div>As an example, the negative input to the op-amp on my TRNG has 24uV RMS of thermal noise, based on the 8 MHz bandwidth and resistance.  A 10-bit Arduino ADC probably has less than 8MHz of input bandwidth due to the anti-aliasing filter, but I could be wrong.  If it also has 24uV RMS of thermal noise, a 2V range, and a 10-bit resolution, it will be measuring a 24uV noise source with an ADC with 2mV resolution.  That can be a problem...</div><div><br></div><div>Bill </div></div></div></div>