mardi 21 août 2018

avoiding modulo bias with only single random value

I want to create a random value between 0 and n. As source I receive a random 256-bit value from an oracle.

Just doing

source % (n + 1)

introduces modulo bias. Solutions to modulo bias I've seen are doing a while loop until the value lies within the largest multiple of n that fits the source range - but in my case I can draw a random source value only once.

my n is much smaller though, let's say smaller than 2^32. Is there any way I can generate a random value that has no modulo bias in this scenario?




Aucun commentaire:

Enregistrer un commentaire