[OpenTRV-dev] AVR/Arduino entropy for security...

Damon Hart-Davis EMAIL ADDRESS HIDDEN
Tue Apr 30 07:28:31 BST 2013


Hi,

In case we need it for cryptographic reasons (encryption/authentication) I've been playing with extracting genuine entropy, and on top of that available from measuring environmental values such as temperature and ambient light and battery supply voltage, I seem to be able to extract tens of bits per second from clock jitter/phase between the CPU clock and the WDT or RTC clock.

This has not been exactly rigorously tested, but I'm just letting you know in case you want to play.

https://sourceforge.net/p/opentrv/code-0/HEAD/tree/trunk/Arduino/V0p2_Main/

Look at the clockJitterXXX() functions at the end of Power_Management.{h.cpp} for example.

Not ground-breaking stuff, and quite expensive in terms of battery life to use a lot, but there should we need it.

At the moment I'm only using this to seed the stdlib random(), which I'm not even yet using, though I expect to do so for helping avoiding TX collisions later, at least. 

Rgds

Damon


More information about the OpenTRV-dev mailing list