<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Feb 15, 2014 at 11:22 PM, Arnold Reinhold <span dir="ltr"><<a href="mailto:agr@me.com" target="_blank">agr@me.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div class="">On Thu, Feb 13, 2014 at 8:08 PM, Joseph Ashwood <<a href="mailto:ashwood@msn.com" target="_blank">ashwood@msn.com</a>> wrote:<br>
<br><blockquote type="cite"><br>From: Phillip Hallam-Baker</blockquote><blockquote type="cite">I have a solution to the random number generator problem that can be<br><blockquote type="cite">built for about $50 and is completely verifiable.<br>
[shake a flask of candy, take a picture]<br><br></blockquote><br>I'm not confident it will have as much entropy as you think. The design is<br>a fairly basic modification of the lavarand design.<br><br></blockquote><br>
</div><div>Put aside the question of camera digitization noise and just consider the random placement of discrete objects in the camera's scene. For simplicity replace the flask with a flat bottom box, such as a shoe box, and maybe rectangular candies, small compared to the box. Standard machine vision algorithms can measure the edges, and hence position and orientation of such objects to sub-pixel precision, easily one part per thousand in X, Y, and Theta with a megapixel camera. We don't have to make the measurements, just know the information is in the image. That's 30 bits per object, assuming the objects are all visually distinct.  (If the objects are identical visually, subtract log2(10!), or about 22 bits.) And then there is the position and orientation of the camera, which can also be calculated from the image. So a photo of ten different objects, randomly placed should easily produce at least 256-bits of entropy before even considering other information in the image.  </div>
<span class="HOEnZb"><font color="#888888"><div><br></div></font></span></div></blockquote><div><br></div><div>That was my conclusion.</div><div><br></div><div>I actually started with rather more elaborate steampunk devices that had dice with different colored faces. These would be machine read somehow.</div>
<div><br></div><div>Then in the next iteration I had a grid of the dice being read at once.</div><div><br></div><div>Then I realized that I could read them with a camera.</div><div><br></div><div>Then I replaced the dice with colored balls.</div>
<div><br></div><div>I hadn't seen lavarand back in the day, but I had the idea after finding one while looking for the flask to put the m&ms in...</div><div><br></div><div><br></div><div>What got me started on this course is that I don't like trusting the assumed lack of bias in very small measurements. That is not repeatable or measurable or auditable. I want to see devices that I can check and know are functioning right.</div>
<div><br></div><div>Adding a camera to a Raspberry Pi is $40 which is a lot less than almost any custom circuit is going to be. </div></div><br clear="all"><div><br></div>-- <br>Website: <a href="http://hallambaker.com/">http://hallambaker.com/</a><br>

</div></div>