2
$\begingroup$

True Random Number Generator (TRNG) use external physical phenomena to generate true randomness. I have a TRNG which uses two sources (oscillators) and gives an output of 256 bits. The entropy of TRNG output is 256 bits. The entropy of bit string with N distinct possible combinations is given by log2(N) bits (reference is given below). TRNG claims to have entropy of 1 bit for each input source i.e. totally unpredictable. Is there any relationship between TRNG’s source entropy and output entropy ?

http://csrc.nist.gov/publications/drafts/800-90/draft-sp800-90b.pdf

Any help/reply is appreciated please.

Thanks & Regards,

$\endgroup$
  • 2
    $\begingroup$ I'm pretty sure the answer to this will depend on the actual design of the generator you are using. And yes, there probably will be some relation between in- and output entropy. $\endgroup$ – SEJPM Aug 6 '16 at 20:34
1
$\begingroup$

Qualified no. There is no relationship between source entropy and the output entropy from a TRNG other than you can't output more entropy than you put in. The actual source entropy rate can vary vastly. Clearly the TRNG output entropy has to be 100%, 1 bit /bit or however you measure it. Otherwise it wouldn't be a TRNG with a statistically flat output.

I like to talk in percentages, with 100% being absolute true randomness. A physical source can produce entropy at any rate from 0 - 100%. I can't imagine a physical source that can naturally produce 100% though. I have built two generators that produce entropy at the rates of 85% and 1.9%. An experimental third outputs at a very very approximate 0.1%.

It's all to do with what happens to the source entropy once you've digitised it. I think of entropy extraction as a distillation process akin to whiskey production. The distillation process is a euphemism for lossy compression of the source entropy. This might be a (non) cryptographic hash, matrix multiplication or just some simple bit folding. Most TRNG devices use custom extraction techniques anyway.

If you start with 85% mash, you only need to refine /compress the mash /entropy by 17% to get 100% pure stuff. Similarly the compression /refinement needs to be 52 fold for the 1.9% mash. So 52 fold compression would result in a 100% rate of entropy. But then consider that you might continue compression /refinement, so in the end you've compressed the 1.9% source entropy 100 fold. Or 200 fold. You still get 100% output entropy and the numbers are exactly just as random. This is why there is no particular relationship between the source entropy and the output of a TRNG.

$\endgroup$
  • $\begingroup$ I think there is a relationship that the output entropy cannot be greater than the input entropy. It can be less than or equal to, but never greater. E.g. if you have 5 bites of input entropy, you can't inflate it into (say) 6 bits of entropy. $\endgroup$ – caveman Aug 8 '16 at 14:21
  • 1
    $\begingroup$ @caveman As per my second sentence :-) $\endgroup$ – Paul Uszak Aug 8 '16 at 15:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.