[Cryptography] TRNG review: Arduino based TRNGs

Arnold Reinhold agr at me.com
Mon Jan 18 08:45:47 EST 2016


Several of the Arduino chips have internal temperature sensors—no external components needed. I have been playing the one included in the ATtiny85. The analog reading of the sensor has a resolution of one Celsius degree pr LSB. There are a number of instructions on the web for using the internal temperature sensor on this part, with suggestions on how to minimize noise in the measurements. I, naturally, have been doing the exact opposite. I get somewhat random behavior, but haven’t had time to set up real tests. I’d be happy to share my code with any who wants to try this. 

One thought I had was for situations where a string of random bits is required at first startup, say to initialize a key pair: One could measure the internal temperature and use the timers to record when the LSB changes as the chip warms up. Core temperature rises by about 3.5 deg C in the first minute of operation.  The timers are free running and have quite high resolution available, so the recorded times should have lots of entropy. Of course someone with physical possession of the device could try to game this, say be keeping the chip cold, but I think there are many applications where one might not worry about this threat. Also the thermal resistance between the chip and package could pose difficulty. 

Arnold Reinhold


More information about the cryptography mailing list