Score:1

Can we apply the Pseudo Random Number (PRNG) as post processing method for True Random Number (TRNG)?

de flag

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)

Score:-2
cn flag

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.

poncho avatar
my flag
"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).
Paul Uszak avatar
cn flag
@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.
de flag
"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
Paul Uszak avatar
cn flag
@TrầnAn If detail is required, it may be more practical to ask that as a separate and independent question...
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.