Live data from Hacker News

OneRNG – Open Hardware Random Number Generator

onerng.info

1–10 of 89 posts

Re: OneRNG – Open Hardware Random Number Generator

#3
Well, I'm happy to see that for once, they understand that the single most important thing is that it's verifiable.

So many crypto-related systems ask you to trust the provider implicitly it's not even funny.

I don't care who you are, if I can't look at the source (all the way down) of your product and build it myself, it's not going to make the cut as a "secure" system. You can provide additional guarantees and proofs, but showing me the source is item number 0.

Sure, it's not perfect, but it's much closer to perfect than any alternatives.

Re: OneRNG – Open Hardware Random Number Generator

#4
post #2

That's awfully complicated for a hardware RNG. A channel-hopping receiver? The classic solution is a radiation source, which quantum mechanics says is random. http://www.fourmilab.ch/hotbits/hardware3.html

What part is in fact that complicated?

Re: OneRNG – Open Hardware Random Number Generator

#5
post #2

That's awfully complicated for a hardware RNG. A channel-hopping receiver? The classic solution is a radiation source, which quantum mechanics says is random. http://www.fourmilab.ch/hotbits/hardware3.html

It's much much easier to build from cheap parts than something with a radiation source.

Re: OneRNG – Open Hardware Random Number Generator

#6
A good CS-PRNG can take a modest amount of entropy and store it in a way (internal state) that you trust it can't be recovered by the attacker. From this they can generate a nearly endless supply of random output. That, as I understand it, is /dev/random vs. /dev/urandom/.

So it's nice to have a good reliable source of entropy, but you can also consider how protected is the internal state, aka the place you stick that entropy? The better protected the CS-PRNG state, the less entropy you actually need.

If you trust the CS-PRNG state, then hardware entropy sources won't matter much to you, because you just don't need that much entropy. When you start streaming entropy from many sources, it's probably to consistently update internal state over time because you don't fully trust that the state is secure.

It should make no difference either way in the quality of the output (directly pulling entropy versus CS-PRNG output). Because the necessary amount of output to reverse-engineer state is almost infinite, the output of a properly implemented CS-PRNG is highly trusted. And they're really nice algorithms that have well reviewed implementations.

Re: OneRNG – Open Hardware Random Number Generator

#7
post #2

That's awfully complicated for a hardware RNG. A channel-hopping receiver? The classic solution is a radiation source, which quantum mechanics says is random. http://www.fourmilab.ch/hotbits/hardware3.html

Maybe it is more complicated as a concept, but the implementation is much more simple. They're using a MCU with integrated radio, it's almost free to add the RF source to the base system only using the avalanche diode.

A HV geiger tube and embedding a radiation source would be much more complicated / expensive to build, especially on small scale.

Re: OneRNG – Open Hardware Random Number Generator

#8
post #2

That's awfully complicated for a hardware RNG. A channel-hopping receiver? The classic solution is a radiation source, which quantum mechanics says is random. http://www.fourmilab.ch/hotbits/hardware3.html

I'm not sure about you, but I don't really think I'd want to keep even the minor sources of radiation described on that page in my pocket.

Re: OneRNG – Open Hardware Random Number Generator

#9
This seems sound. However, I'm in doubt about some of their points:

> You can ask it to dump the current firmware to you

It can dump the firmware but it can still execute something else than this (or in addition to) this firmware, can't it?

> You can see all the components on the board

The fact that I can see these tiny thingies doesn't do much good either? Can I, seeing them, tell what they do? No.

Building one of these yourself seems to solve both problems. Not trying to undermine it or anything, just curious what others think of it.

Re: OneRNG – Open Hardware Random Number Generator

#10

This seems sound. However, I'm in doubt about some of their points: > You can ask it to dump the current firmware to you It can dump the firmware but it can still execute something else than this (or in addition to) this firmware, can't it? > You can see all the components on the board The fact that I can see these tiny thingies doesn't do much good either? Can I, seeing them, tell what they do? No. Building one of t…

The point is - you can verify it yourself. Without trusting anybody else.

Dumping the firmware means you can ensure it's not been modified (presumably from when you uploaded it to the device yourself).

Being able to inspect components means you can ensure it's still exactly as you built it. And if you haven't, you can visually check that it does what it says it does.

If you're not technically competent to make this verification, you can ask somebody you trust and who is to do it for you.

Post reply on HN