News for hackers. Stuff that matters.
Re:The definitive guide to “modulo bias” and how to avoid it... by LudwigNagasena on Thursday September 15, 2022 @06:59AM (#32849932)
Re:The definitive guide to “modulo bias” and how to avoid it... by fanf2 on Thursday September 15, 2022 @07:27AM (#32850142)
I was hoping for a mention of Daniel Lemire’s nearly-divisionless algorithm for unbiased sampling. I recently replaced BIND’s copy of OpenBSD arc4random_uniform() with Lemire’s algorithm https://gitlab.isc.org/isc-projects/bind9/-/blob/main/lib/is... and I blogged on the subject a couple of times https://dotat.at/@/2020-10-29-nearly-divisionless-random-num... https://dotat.at/@/2022-04-20-really-divisionless.html
Re:The definitive guide to “modulo bias” and how to avoid it... by anomalroil on Thursday September 15, 2022 @07:50AM (#32850338)
Lemire's technique is really nice, in general a good thing to learn about, since it's a bit mind bending how it's playing with intervals. Sadly last time I benchmarked it in code on x86-64 for cryptographic purposes, it wasn't faster than rejection sampling, or just using a large value and a modulo reduction: in all cases what is actually taking a lot of time is the call to get good quality randomness out of a CSPRNG, the rest being negligible in comparison.