4 ms·
There's a lot of misinformation and cargo cult crypto programming, but the basic summary is that /dev/random information-theoretic security is unnecessary for m
by dietrichepp 11y ago
There's a lot of misinformation and cargo cult crypto programming, but the basic summary is that /dev/random information-theoretic security is unnecessary for most applications, but necessary for being able to know that you can produce every possible permutation of a deck of cards.
http://www.2uo.de/myths-about-urandom/ http://www.2uo.de/myths-about-urandom/
- tptacek 11y ago/dev/random and /dev/urandom are the same CSPRNG construction; /dev/random just provides some extra (almost always counterproductive) checks on the rate at which it's rekeyed. It is not the case that using /dev/random somehow gets you an information-theoretic security level that /dev/urandom doesn't.
- dietrichepp 11y agoYes, they both use the same PRNG construction, that's in the article I linked to. But the blocking behavior of /dev/random does give it information-theoretic security, because an attacker with unlimited computational power can't predict its output, assuming they don't know the outputs of the entropy sources you are using, assuming that your entropy estimates are accurate or conservative. And we use /dev/urandom because information-theoretic security in our RNG does not improve actual system security.
- Tomte 11y agoNo, it doesn't, because all the mixing and mangling of your precious entropy inside drivers/char/random.c is not information-theoretically secure.
- dietrichepp 11y agoRight, I give up. What I should have said is, "/dev/random is a misguided attempt at information-theoretic security." Everything in its design makes it clear that its goal is information-theoretic security. I was thinking, "Oh, the mixing is good enough for practical use." But that's not what information-theoretic means. I was thinking, "Oh, assuming the entropy estimation works." But we know it doesn't. It was a stupid argument. But then again, /dev/random is stupid. Nobody gives a damn about information-theoretic security, and we don't have it anyway.