News for hackers. Stuff that matters.
Re:The definitive guide to “modulo bias” and how to avoid it... by dwheeler on Thursday September 15, 2022 @11:56AM (#32853951)
Historically one of the first uses for computers was Monte Carlo simulations. In such simulations it's often important to be able to deterministically recreate sequences of "random" numbers. Thus, in almost all computer programming languages, "Random" means deterministic random values. This is a wide convention followed by practically every programming language.

If you want cryptographically secure random numbers, you typically call a function with a different name, one that has "secure" or "crypto" in a name somewhere (e.g., in the function or containing module/package).

This is a convention from the 1950s and has been consistent ever since. That naming-convention ship sailed before many of us were born.

Re:The definitive guide to “modulo bias” and how to avoid it... by anomalroil on Thursday September 15, 2022 @04:37PM (#32858123)
Speaking of Monte Carlo, here's a paper about how using bad randomness can lead to wrong simulation: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2992609/ (or should I call them _biased_ ones?)
Re:The definitive guide to “modulo bias” and how to avoid it... by turtledragonfly on Thursday September 15, 2022 @05:08PM (#32858473)
And as a counterpoint, if you use a well-chosen deterministic sequence, it can make some Monte Carlo methods produce better results faster than true randomness would (quasirandom sequences and all that).

So, interestingly, "bad randomness" =/= deterministic.

(not that you were claiming that, just adding this subtlety to the mix)

Re:The definitive guide to “modulo bias” and how to avoid it... by the_af on Thursday September 15, 2022 @12:27PM (#32854418)
> Thus, in almost all computer programming languages, "Random" means deterministic random values.

Yes, I know how pseudo RNG works.

I just didn't realize this ran counter to doing secure crypto, so thanks for the explanation anyway :)