I just had some problems to get Pidgin with OTR running, because Pidgin hung on every attempt to generate my private key.This rather old blog post pointed me into the right direction (or rather allowed me to generate a key), by feeding /dev/urandom into the entropy pool for /dev/random.When I do watch cat /proc/sys/kernel/random/entropy_avail, I see numbers < 50. While feeding /dev/urandom into the entropy pool, this number went up to ~2000 and then I was able to generate my key.Are my entropy values of < 50 bit(?) normal? I'm on a desktop system with basically Firefox, Thunderbird and Pidgin running, streaming music from LAN.Is the inability to create a key for OTR a bug in Pidgin or is my Arch Linux installation to blame for the low entropy?PS: I know about this answer explaining many misconceptions about entropy and (P)RNGs.Update: There already are open bugs at the OTR bugtracker and at Launchpad about this issue. Writing random text in an editor also helps when generating the key.
Low(?) entropy available on Arch Linux?
arch linux;random;pidgin
Feeding /dev/urandom into the entropy pool for /dev/random is cheating you're pretending to provide new entropy when in fact the data is derived deterministically from the current state of the RNG. Fortunately, as you noted, the rule that you're cheating is a useless one: entropy doesn't actually decrease despite what the Linux kernel pretends.Low entropy by Linux's /dev/random's estimate is common and almost always a false alarm: the estimate is unreasonably conservative./dev/urandom is secure for key generation, so Pidgin should arguably use /dev/urandom (which doesn't block) instead of /dev/random (which can block, and often does).There is only one case where /dev/random blocking is legitimate because the system genuinely doesn't have enough entropy: when the system is too new to have accumulated entropy. Linux systems normally save entropy for the next reboot, so in practice genuine low entropy only happens in two circumstances:on a brand new installation this is especially a concern in embedded devices that generate a key the first time they're turned on;on a live system.Where to set the blame isn't really a productive consideration, but if you must: Arch Linux and you are fully innocent. Pidgin should use /dev/urandom or at least offer a way, so it gets part of the blame. The Linux kernel should really provide an interface that's guaranteed to deliver crypto-quality randomness and blocks only if entropy is genuinely lacking (like FreeBSD's /dev/random).