Entropy Seed Generator Not All It’s Hacked Up to Be
Contrary to what many may think, what we report on is not always perfect. While we get many things right and have a great group of developers who continually stretch devices to heights, sometimes we highlight solutions with unknown gains. A recent article we published on a hack for gaming on the Nexus 7 and other devices is one such example.
The premise of the hack is that you can reduce lag by keeping a section of the Android file system (/dev/random) full of random bits so that the system does not have to wait for the file system to generate them. In theory that sounds great, and has shown some success in certain areas where lag was obvious, but it presents all sorts of other problems.
It is for those concerns that we do not recommend using this fix. The fix itself in no way causes harm, and is near-placebo in its effects. CyanogenMod developer arcee posted information on the fix, stating that
The only users of /dev/random are libcrypto (used for cryptographic operations like SSL connections, ssh key generation, and so on), wpa_supplicant/hostapd (to generate WEP/WPA keys while in AP mode), and the libraries that generate random partition IDs when you do an ext2/3/4 format. None of those 3 users are in the path of app execution, so feeding random from urandom does nothing except make random… well… less random
There are valid concerns about lag and how the Android OS handles them, and there is discussion currently ongoing within the Android Code about this, but this fix does not address those issues and instead gives performance gains through boosting CPU speed. The developer himself stated that this could in effect reduce battery life, since the hack is waking the CPU every second.
As is always the case, anything you use here on XDA is done at your own risk, and you assume all liability for your actions. That said, there are times we pass on inaccurate information, and this is one of those times. We do applaud all of our developers for working to find fixes for the things that nag at them. However, we jumped the gun on this, without letting adequate discussion and testing take place.
[Image adapted from /dev/urandom thoughts.]