back

by Tomte·12y ago·view on hn ↗
Thanks for laying out your thoughts, but obviously I disagree.

Let me rebut two points that kind of irk me:

You claim that the Android problem that bit several Bitcoin wallets was due to java.security.SecureRandom using /dev/urandom.

That is mistaken, as the blog posting you gave clearly shows:

"Developers who use JCA for key generation, signing or random number generation should update their applications to explicitly initialize the PRNG with entropy from /dev/urandom or /dev/random."

So, in their opinion, /dev/urandom is fine.

Furthermore you claim that I've taken quotes out of context.

I was aware that there is the danger of misunderstanding these people's point of view, so I emailed all three of them, right when I put this web page up some days ago, specifically asking them if they felt that I might be misrepresenting them or if they are otherwise unhappy about me using their names.

Of those three two replied (both very quickly).

Daniel Bernstein replied very shortly with "Seems reasonable.", but noted that he disagrees with the "more entropy cannot hurt" point. That's why I added the little sidebar with a link to his blog posting.

Thomas Pornin seems to have taken the time to really read the article, he wrote "That's a fine page. I like it.", noted a mistake in the boot scripts section (that I have fixed) and suggested some additional points to discuss (which I did not put on the page).

Off-topic remark: All in all I was really fascinated how easy it is to get in touch with those highly-respected people, and how respectful they treat "us normals". :-)

2 comments
Wow, you totally win on the Android thing; I apparently misremembered that issue. I'm really sorry: I pulled a source for that based on memory of it having happened, but failed to notice that I had misremembered the cause of the problem. I've added a couple inline edits to my comment response admitting the ways in which it is wrong. Thankfully, this isn't the only example of this problem, it was just the one that was easiest for me to cite, so I'm going to go add a couple paragraphs shoring up the argument [edit: done; I also left the original example, but admit clearly how it is flawed].

> Furthermore you claim that I've taken quotes out of context.

As for this, I don't just claim it: I demonstrate it; the fact that these people also separately said your article sounded reasonable doesn't change the original reasons they made their comments. It hurts my position that they approved of your article, but it still irks me that you are using these quotes as evidence, when they aren't actually good arguments for your position. "I e-mailed these people and they agreed with my article" would have been a much stronger statement to me than "they said these things, out of context and in ways that sort of undermine my position, that you should believe".

Thanks for writing this article, I really liked it. I've similarly had frustrations with /dev/random.

I could probably live with /dev/random and /dev/urandom as they are, except that /dev/urandom also depletes the entropy counter. So if something (in my case nmbd from samba) is always reading from /dev/urandom for some reason, there's never anything for anyone to read from /dev/random on those rare occasions when it's "needed".

So on that system I use the hack of using udev rules making /dev/random just another name for urandom ( http://www.ploxiln.net/wiki/linux_urandom_for_random ). But with the boot-time no-entropy-at-all problem, I find myself wishing /dev/random on linux worked like you describe freebsd works. In fact, I might replace my udev rules with a startup script that waits to read 128 bytes from /dev/random, then switches it to actually be urandom :)