[Cryptech Tech] Cleaned up arrgh board and firmware available
Fredrik Thulin
fredrik at thulin.net
Wed Nov 26 08:54:32 UTC 2014
On Wednesday, November 26, 2014 08:35:07 AM Benedikt Stockebrand wrote:
...
> While I'm rather happy with the results I've seen so far, I *really*
> want some more testing; this is especially so because the tests promoted
> by FIPS-140 are ridiculously ill-suited, but still used e.g. by the
> rngtools (rngtest/rngd).
Yes, I concur that testing needs more work. My approach this far is to try and
examine the smallest components first (currently, LSBs of a 42 MHz timer
triggered on the rising flank of the noises), before deciding on what is
actually a sound way to extract entropy from those timers.
Did you see my e-mail with apparent bit patterns in these LSB:s? This is the
gist of it, showing how far from a perfect distribution each 8-bit series is:
> Lowest:
> 91 / 10010001, off-by -13, a*a = 169
> c2 / 11000010, off-by 20, a*a = 400
> 14 / 00010100, off-by -26, a*a = 676
> 1b / 00011011, off-by 26, a*a = 676
> 0d / 00001101, off-by 31, a*a = 961
> c8 / 11001000, off-by 31, a*a = 961
> 90 / 10010000, off-by 35, a*a = 1225
> 26 / 00100110, off-by 56, a*a = 3136
> 96 / 10010110, off-by -66, a*a = 4356
> 5e / 01011110, off-by -70, a*a = 4900
>
> Highest:
> 0f / 00001111, off-by -3691, a*a = 13623481
> 7f / 01111111, off-by -3752, a*a = 14077504
> e0 / 11100000, off-by -3754, a*a = 14092516
> 1f / 00011111, off-by -3931, a*a = 15452761
> 03 / 00000011, off-by -3975, a*a = 15800625
> 3f / 00111111, off-by -4058, a*a = 16467364
> c0 / 11000000, off-by -4226, a*a = 17859076
> ff / 11111111, off-by -4319, a*a = 18653761
> 4a / 01001010, off-by 4443, a*a = 19740249
> 00 / 00000000, off-by -5116, a*a = 26173456
I realized something a while ago but haven't had time to continue the
analysis. If you look at the top-10 highest deviations from the expected, the
9 that are under-represented (negative off-by numbers) have series of at least
four repeating 1's or 0's, while the only over-represented 8-bit series
(01001010) does not - so my circuit seems biased towards alternating bits
rather than repeating bits. Huh.
I'm going to rerun this on shorter series of bits as soon as I get the time. I
expect that to even more clearly show this tendency.
Anyone with ideas of the source of this? I really can't understand where this
comes from, so my main way forward would be to experiment to see if I can
figure it out by changing something and observing the effect.
/Fredrik
More information about the Tech
mailing list