[onerng talk] What is the entropy generation rate of the OneRNG?

Paul Campbell paul at taniwha.com
Mon Nov 2 23:14:26 GMT 2015


On Tue, 03 Nov 2015 11:46:48 Richard Geddes wrote:
> 1000+0 records in
> 1000+0 records out
> 32000 bytes (32 kB) copied, 1.06124 s, 30.2 kB/s
> 
> I give the OneRNG 2 seconds to generate 32000 random bits, and he OneRNG
> takes a little over 1 second to complete, at a rate of about 30kB/s.
> 
> Is this a valid way of measuring the OneRNG's performance?  If yes, can I
> extrapolate the entropy rate from this measurement?

(you may be confusing bits and bytes here ... OneRNG only has a 7kByte 
internal buffer but can fill it at almost the same rate it can be emptied over 
USB so waiting 2 seconds doesn't help much)

I think that what you are measuring is the "usable rate from the whole system" 
- the flow control through the /dev/random system and the tiny kernel entropy 
buffer means that a lot of the parallelism that one would hope for here 
probably doesn't happen resulting in a lower total data rate (30kBytes/sec 
compared with the ~40kBytes/sec I'm seeing.

I've been quoting raw OneRNG numbers from something like

	dd if=/dev/ttyACM0 of=/dev/null iflag=fullblock count=1000 bs=32k

when I've quoted numbers - 350kbits/sec (~40kbytes/sec) - I've measured them 
this way.

Your numbers are equally valid - they're just measuring something slightly 
different.

I believe /dev/random generates data at the same rate that it receives entropy 
so yes 30kBytes/sec would seem fair (there will be some small amount of 
entropy coming from your kernel)

	Paul


More information about the Discuss mailing list