What's the differences between the concepts “pseudorandom generator” and “pseudorandom number generator”?

In fact, I want to implement a pseudorandom function based on GGM's construction at http://crypto.cs.uiuc.edu/wiki/index.php/GGM_PRF, but I need to get a doubling length PRG first. I cannot find any effective way to do this.

Can anybody help me or give me another way to implement a pseudorandom function?

  • $\begingroup$ ooh, that is a problem meeting when I search pesudorandom generator on the Internet."PRF based on the GCN construction" may be more direct. $\endgroup$ – 杨应彬 Feb 3 '15 at 11:51
  • $\begingroup$ @MaartenBodewes : $\:$ He may have had GCM in the title, but he wasn't the one who put that there. $\hspace{.41 in}$ $\endgroup$ – user991 Feb 3 '15 at 13:10
  • $\begingroup$ Ah, OK, sheesh, sorry about that @杨应彬. But I guess we are where we want to be now :) $\endgroup$ – Maarten Bodewes Feb 3 '15 at 13:24
  • $\begingroup$ I found one definition of PRF in TLS protocol (see github.com/tlswg/tls13-spec/blob/master/draft-ietf-tls-tls13.md) based on HMAC {{RFC2104}}.Do you think that is suitable for implementing a PRF with the form in the definition here -> crypto.stanford.edu/pbc/notes/crypto/prf.html $\endgroup$ – 杨应彬 Feb 3 '15 at 14:14
  • $\begingroup$ I'm sorry that I haven't learned to edit mathematical stuffs. $\endgroup$ – 杨应彬 Feb 3 '15 at 14:15

A pseudorandom generator is far more specific.
A pseudorandom number generator can just be statistical and/or produce an
endless stream of output and/or take extra entropy as input while it's running.

This RFC gives a way to implement a pseudorandom function.
In fact, if you hadn't specified that you wanted a PRG to implement a PRF, then
I would've just suggested $\;\;\; x \: \mapsto \: \operatorname{HMAC}\hspace{.02 in}(x\hspace{.02 in},\hspace{-0.03 in}0) \: || \hspace{.02 in} \operatorname{HMAC}\hspace{.02 in}(x\hspace{.02 in},\hspace{-0.04 in}1) \;\;\;$ as the PRG.

  • $\begingroup$ Why HMAC and not simply a cryptographic hash function? $\endgroup$ – 0x00 Jun 1 '18 at 15:28

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.