Today I learned that the hardware rng, even though its driver was loaded,
wasn't being used at all other than to create /dev/hwrng which isn't used
by anything. The problem is that the driver neglects to declare a "quality"
parameter that indicates the quality of the entropy it generates, which
causes it to be ignored for the purposes of filling the kernel's entropy
pool.
The fix was easy: add rng_core.default_quality=1024 to the kernel
parameters ("cmdline" variable in /boot/uEnv.txt) and reboot. Voila, you
can now read more than 100 KB/s from /dev/random. (But note that you
shouldn't be reading from /dev/random in the first place, use /dev/urandom
or the getrandom() system call instead.)
If you don't fully trust the hwrng and want to be paranoid, you can set the
quality parameter to a lower value. For example setting it to 100 will
cause ten times as much data to be drawn from the hwrng and hashed together.
Matthijs
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beagleboard/10715b9a-44ac-4cb6-aaa7-21b89f524ae4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.