1
$\begingroup$

From the NIST SP 800-90B, we can use these cryptographic algorithms (HMAC, AES, Hash function) as a post-processing technique for TRNG. Besides that, can we apply the Pseudo Random Number (PRNG) as a post-processing method for True Random Number (TRNG)? It will become the Hybrid random number generator (Combination of PRNG and TRNG)

$\endgroup$

1 Answer 1

-2
$\begingroup$

No, not strictly according to NIST SP 800-90x philosophy.

Post processing is used to smooth out the entropy rate from an entropy source, like:-

condition

It's used to reshape a non-uniform raw entropy distribution that arises from digitisation, into a uniform distribution ($h_{out}$) but not necessarily 1 bit/bit. Therefore unusable as is. And so NIST recommends those 'components' you mentioned. You can also use your own DIY algorithms ( §3.1.5.2 Using Non-vetted Conditioning Components). It doesn't really matter as long as you realise that a deterministic algorithm cannot increase the Kolmogorov entropy rate through it.

Using a downstream PRNG simply increases the apparent entropy rate of the overall construction. It's exactly what /dev/urandom did and now the new /dev/random does. So $h_{out}$ is used to seed and reseed the PRNG in whatever manner is required to recharge the PRNG's internal state. NIST calls this PRNG a Deterministic Random Bit Generator. It's meant to be used as:-

dbrg

Notice 'Entropy Input' at 12 o'clock. Pragmatically, and in the rest of the world, you don't need any form of conditioning at all. You can just use entropy extraction making sure that $h_{out} \ngtr h_{in}$, but that's not the NIST way. Which I infer is what the question is about.

$\endgroup$
4
  • 2
    $\begingroup$ "No, not strictly according to NIST SP 800-90x philosophy."; actually, if you go through the 800-90C draft, it's all about how to combine entropy sources (TRNGs) with DRBGs (PRNGs). $\endgroup$
    – poncho
    Apr 2 at 13:01
  • $\begingroup$ @poncho "The output of an entropy source may be externally conditioned using vetted methods prior to subsequent use by the RBG. These methods are based on the use of approved hash functions or approved block-cipher algorithms." They still have "conditioning" which is a separate thing to the PRNG. That's what I inferred the question was about - NIST language. $\endgroup$
    – Paul Uszak
    Apr 2 at 13:06
  • $\begingroup$ "Using a downstream PRNG simply increases the apparent entropy rate of the overall construction." Can you explain this in detail? And my questions is just like this: Can we apply the Pseudo Random Number (PRNG) as post-processing method for True Random Number (TRNG)? And it is not limited to NIST SP 800-90x philosophy $\endgroup$
    – Trần An
    Apr 3 at 2:56
  • $\begingroup$ @TrầnAn If detail is required, it may be more practical to ask that as a separate and independent question... $\endgroup$
    – Paul Uszak
    Apr 3 at 13:09

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.