[Cryptography] Generate Random Data From Sound Card
iang
iang at iang.org
Mon Mar 9 04:29:47 EDT 2026
On 09/03/2026 07:00, Ray Dillinger wrote:
> On 3/7/26 10:11 AM, Christian Huitema wrote:
>> If you allow a newbie question:
> If you're a newbie, you should know that the discussion of random number
> generation, and many of the niceties and tips and tricks you've heard in
> this thread about the care and feeding of entropy pools, are now mostly
> irrelevant to normal users. Many of us are old-timers reminiscing about
> hard times when we had to walk uphill both ways barefoot in the snow etc
> etc. The vast majority of the problems we were and still are in the
> habit of worrying about have been effectively solved at this point.
Back in late 2013 John Denker and I had a debate on this list about how
to build a good PRNG. To capture that convo, I wrote this design rationale:
https://iang.org/ssl/hard_truths_hard_random_numbers.html
For future generations. I don't think anything much has changed since then.
In that debate, we settled some controversies or at least recorded the
conclusions:
* Don't do it! Just use what the platform provides. This is economic,
the platform has better people and more time than you and will
eventually get it righter than you.
* Reject the concept of entropy, and instead concentrate on surprise.
You only need to fool your adversary, not physics itself.
* Reject the notion that entropy can be measured. It's a theoretical
construct that doesn't translate well to messy implementation space.
* Instead, just add more independent sources. You really only need one
to be out of visibility of the adversaries.
* If all those independent sources are read by your adversary, he's
already in control of your platform, so your screwed anyway. You can't
attack that problem with a better RNG design.
It was meant to be a go-to guide for software engineers - for those who
want more, read John Denker's Turbid doc.
https://www.av8n.com/turbid/paper/turbid.htm
iang
More information about the cryptography
mailing list