Slackware, rngd and /dev/random
Gil André <[email protected]>
| Newsgroups | gmane.linux.slackware |
|---|---|
| Message-ID | <[email protected]> |
Hello everyone! It has come to my attention that the high-quality random values of /dev/randon can be exhausted through repeated use of (for instance) JDBC connections. For a better description of the problem, please see (for instance): https://stackoverflow.com/questions/2327220/oracle-jdbc-intermittent-connection-issue Yes, this is about connecting to an Oracle database - don’t ask. Now, one solution that comes back often is to use rngd (Random Number Generator Daemon). Usually, people recommend putting /dev/urandom into /dev/random, using rngd, which is a horrible solution. But, still, it’s better than nothing. And - here is where I was surprised - it seems Slackware does not offer rngd! At least, I can’t find it at http://packages.slackware.com - I know there is an Slackbuilds package, but it is for Slackware 12.2… which is a bit dated, to say the least. Now, there are other solutions of course, here are two that I found and like: csrng - https://code.google.com/p/csrng/ GUChaos - http://vladz.devzero.fr/guchaos.php The ‘’csrng’’ is pretty hard to compile. GUChaos seems a bit easier (but untested so far). Pros & Cons are that csrng is local to the machine and introduces some interesting math & crypto randomization, while GUChaos requires an Internet connection… My questions are: 1) Why is Slackware not offering rngd? 2) Has anyone else ever bumped into this /dev/random exhaustion issue? 3) If you have bumped into this problem, what is your favourite solution? 4) Should we bother Pat V. (or one of his closest minion) about this? For those who are interested, you can display the current state of /dev/random on your machine with: # cat /proc/sys/kernel/random/entropy_avail && cat /proc/sys/kernel/random/poolsize The first number is the total number of bytes available, the second the maximum size. Here are the results on a Slackware 14.0-64 bits machine: # cat /proc/sys/kernel/random/entropy_avail && cat /proc/sys/kernel/random/poolsize 179 16384 Any ideas? — Gil.