<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">On Dec 24, 2015, at 10:07 AM, Tom Mitchell <<a href="mailto:mitch@niftyegg.com">mitch@niftyegg.com</a>> wrote:<br><div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Dec 22, 2015 at 4:45 PM, Ron Garret <span dir="ltr"><<a href="mailto:ron@flownet.com" target="_blank">ron@flownet.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto;"><span class=""><br>
On Dec 22, 2015, at 1:45 PM, Bill Frantz <<a href="mailto:frantz@pwpconsult.com">frantz@pwpconsult.com</a>> wrote:<br>
<br>
> On 12/21/15 at 7:26 PM, <a href="mailto:mitch@niftyegg.com">mitch@niftyegg.com</a> (Tom Mitchell) wrote:<br>
><br>
>> On Fri, Dec 18, 2015 at 6:51 AM, Patrick Chkoreff <<a href="mailto:patrick@rayservers.net">patrick@rayservers.net</a>><br>
>> wrote:<br>
>> ...<br>
>>> Right, or use a set of 16-sided dice.  I bought some a few years ago.<br>
>>><br>
>><br>
>> Why 16-side?<br>
>> N-sides allows base N and conversion to any other interesting base would be<br>
>> easy</span></blockquote><div>.... </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto;"><span class="">
><br>
> I wanted to use random chance in a knitting pattern I was building, so I tossed a coin. I quickly gave up on the coin when I discovered that my tosses were quite biased. I moved to using /dev/random.<br>
><br>
> Even with a reasonably unbiased item like a coin, getting random tosses can be hard.<br>
<br>
</span>I’m honestly not sure if this discussion is serious or not because rolling dice is so obviously silly<br></blockquote><div> </div><div>Rolling dice is not silly as long as you are rolling quality dice.</div></div></div></div></blockquote><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>If common casino dice had a bias the cases of even odds in the fast game of craps</div><div>would be an opportunity to make money.</div></div></div></div></blockquote><div><br></div><div>Bias in the dice is not the only consideration.  The requirements of casinos are very different from the requirements of someone who wishes to generate a secure cryptographic key.</div><div><br></div><div>Specifically, casinos have to *play to an audience*.  They need to convince the players that the game is fair, and they need to generate *drama*.  These are definitely *not* requirements for generating crypto keys.</div><div><br></div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>For an individual with</div><div>less than quality dice the nature of the flaw is difficult for an </div><div>attacker to discover if the traffic is low.</div></div></div></div></blockquote><div><br></div><div>Yes.  That’s a big clue that the requirements in the two cases are very different.  Biased dice are a show stopper for casinos, not for crypto keys.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Converting from six sided result to a hex is a simple number </div><div>base conversion that can be verified with pencil and paper</div><div>while the more complex sha256 computation is harder to verify.</div></div></div></div></blockquote><div><br></div><div>Not really.  Doing a manual base conversion on a 256-bit number is a non-trivial task, and verifying a secure hash can be done by testing the implementation against published test vectors, or against another reference implementation.  I think the efforts involved are probably comparable.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>As for "A truly random number" that topic needs to be qualified to </div><div>something like "sufficiently random to purpose" or "sufficiently</div><div>difficult to game”.<br></div></div></div></div></blockquote><div><br></div><div>Very true.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>There are reasons that lottery results are generated with </div><div>a physical device.  Theater, visible, sufficiently random,</div><div>a priori unpredictable.</div></div></div></div></blockquote><div><br></div><div>Yes, and those are exactly why it’s silly to use those techniques to generate crypto keys.  The requirements are different.  For casinos, theatre visibility is a requirement.  For crypto keys, it’s a disaster.</div><div><br></div><div>Another requirement for lottery results is the generation of drama.  So low bandwidth is a benefit for lottery results, but a liability for crypto keys.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Crypto systems today do need endure attacks at many levels</div><div>and numerical systems must operate at both ends in a reliable</div><div>difficult to attack way in contrast to one time pads or very methods</div><div>used for low volume low bandwidth systems.</div></div></div></div></blockquote><div><br></div><div>Indeed.  But one of the requirements for generating crypto keys is bandwidth: the faster you can generate the key, the better — up to a point.  The difference between one second and 100ms probably doesn’t matter.  But the difference between 1 second and 10 seconds matters.  And the difference between 1 second and 100 seconds *definitely* matters.</div><div><br></div><div>If you want to generate a 128-bit key by flipping a coin, that will take you O(100 seconds) if you do O(1 flip/second).  If you use 16-sided dice you improve that by a factor of 4.  If you use six-sided dice you probably make the situation worse because you now have to do a base conversion.</div><div><br></div><div>By way of contrast, taking the SHA sum of a photo can be done in O(1 second), including the process of actually taking the photo.  Maybe O(10 seconds) if you need to transfer the photo from one device to another.  Faster, more convenient, and every bit as random as dice or coins.  Hence superior in every conceivable way for the generation of crypto keys.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div>Merry christmas to all and may all our crypto be used to protect</div><div>world wide peace and joy.</div></div></div></blockquote><br></div><div>Amen.</div><div><br></div><div>rg</div><div><br></div></body></html>