<div dir="ltr">On Sun, Nov 25, 2018 at 9:21 PM Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto">Hi Luciano,<div><br>On Nov 24, 2018, at 9:06 PM, Luciano Notarfrancesco <<a href="mailto:luchiano@gmail.com" target="_blank">luchiano@gmail.com</a>> wrote:<span style="background-color:rgba(255,255,255,0)"></span><br><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div><div class="gmail_quote"><div><br></div><div>Also, any cryptographic hash will do great in pretty much ALL use cases. Finding a sequence of integers that produces non-uniform hashes is very hard,</div></div></div></div></div></blockquote><div><br></div>Since one takes the result of the hash modulo N I think this statement is false.  It depends on the hash table size and the specific set of integers one is hashing.</div><div><br></div></div></blockquote><div><br></div><div>Well, in fact there might be small biases in the residues modulo N. For example, if the hash function produces uniformly distributed outputs of 8 bits (0 to 255 with probability 1/256), and you take the residues modulo 255, you'll find a small bias for 0:  1 to 254 have probability 1/254 while 0 has probability 2/254 (because both '0 \\ 255' and '255 \\ 255' are 0). Small biases like this can make all the difference for the security of a cryptographic system, but for a hashed collection it's fine.</div><div><br></div><div>Cheers,</div><div>Luciano</div></div></div>