stillson / rdrand

python interface to intel hardware RNG
Other
26 stars 10 forks source link

TRN without RDSEED? #12

Open ajcallegari opened 4 years ago

ajcallegari commented 4 years ago

This is probably impossible, but is there a way to get true random number if your CPU had RDRAND but not RDSEED (i.e. random numbers that are naive to pseudorandom code)? Processors in this class are making hardware TRNs and using them to seed a pseudorandom number, so TRNs are in there somewhere.

Thanks, John

stillson commented 4 years ago

rdrand uses a constantly reseeded rng,which is seeded with truly random numbers. Its good enough to use for key material. I'll post links to some white papers soon.

stillson commented 4 years ago

https://software.intel.com/content/www/us/en/develop/articles/intel-digital-random-number-generator-drng-software-implementation-guide.html

This gives a long but interesting overview of the command.

also, see https://github.com/dj-on-github

This is the github account of the guy who designed the rdrand for intel, and also wrote a bit with everything you might need to know about random numbers: "Random Number Generators, Principles and Practices" DeGruyter Press, ISBN 978-1501515132

ajcallegari commented 4 years ago

Thanks for the info and for your useful Python tool. I found some other interesting references in addition to the one you forwarded.

Here's Intel's technical announcement for chips with RDRAND but before RDSEED was created (they are pretty VAGUE):

https://software.intel.com/content/www/us/en/develop/blogs/find-out-about-intels-new-rdrand-instruction.html

More technical information about is found in RDRAND in this PHD thesis (like it creates 65536 pseudorandom bits per true random seed, and that it uses a metastable electrical circuit to create TRNs): https://francozappa.github.io/publication/master-thesis/thesis.pdf

-Johhn

On Wed, Sep 2, 2020 at 10:09 AM Chris Stillson notifications@github.com wrote:

https://software.intel.com/content/www/us/en/develop/articles/intel-digital-random-number-generator-drng-software-implementation-guide.html

This gives a long but interesting overview of the command.

also, see https://github.com/dj-on-github

This is the github account of the guy who designed the rdrand for intel, and also wrote a bit with everything you might need to know about random numbers: "Random Number Generators, Principles and Practices" DeGruyter Press, ISBN 978-1501515132

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/stillson/rdrand/issues/12#issuecomment-685873842, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJGBCPT3E2KM7AGQWNQDXA3SDZ34ZANCNFSM4QQ4JPQA .