[Cryptography] TRNG review: Arduino based TRNGs

Aram Perez aramperez at mac.com
Tue Jan 12 15:24:50 EST 2016


> On Jan 12, 2016, at 9:15 AM, Stephen Wood <smwood4 at gmail.com> wrote:
> 
> Thanks, Bill. This is a fun write-up.
> 
> > The most popular technique for generating true random data is to do what TrueRandom does, and drive a voltage onto pin 0, and measure it with the 8-bit ADC.  While sometimes this generates unpredictable data, the scatter plots show scary correlations, and the one thing we know it is not measuring is thermal noise.
> 
> Is there any way you could mitigate this by diversifying board pins, for example read from pin 0 and 5 and XOR the data together?

I have not looked at the code but I don't think they not are reading pin 0, aka D0, a digital input pin (that returns HIGH or LOW [1]). I'm guessing they are reading "A0", a pin with a "10-bit analog to digital converter" [2]. An Arduino Uno (the most popular), has 6 analog inputs, A0 - A5. Maybe those could be combined.

Regards,
Aram

[1] https://www.arduino.cc/en/Reference/DigitalRead
[2] https://www.arduino.cc/en/Reference/AnalogRead
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.metzdowd.com/pipermail/cryptography/attachments/20160112/48b5ebcc/attachment.html>


More information about the cryptography mailing list