Path: cactus.org!milano!uudell!news.dell.com!natinst.com!cs.utexas.edu!wupost! + sdd.hp.com!mips!mips!decwrl!pa.dec.com!datum.nyo.dec.com!nntpd.lkg.dec. + com!usenet From: koning@koning.enet.dec.com (Paul Koning) Newsgroups: sci.crypt Subject: Re: IBM-PC flawless true random number generator Message-ID: <1992Jun22.144254.1999@nntpd.lkg.dec.com> Date: 22 Jun 92 14:42:54 GMT References: <2670@accucx.cc.ruu.nl> Sender: usenet@nntpd.lkg.dec.com (USENET News System) Reply-To: koning@koning.enet.dec.com Organization: Digital Equipment Co., distributed systems architecture Lines: 65 In article <2670@accucx.cc.ruu.nl>, nevries@accucx.cc.ruu.nl (Nico E. de Vries) writes: |>Hi, |> |>some days ago (a week?) I posted an open "ad" for my free random |>generator source. I got about 60 requests but if you haven't got it |>yet feel free to email me. |> |>The source is not extremely commented (only the code is commented, |>not the thoughts behind it) therefore this posting. |> |>To make one thing clear which some people misunderstood, althought |>the fact that the random generator is a 100% source one it is |>not a software but a hardware random generator! The "trick" is I use |>standard hardware present in any IBM compatible PC and not some |>add on board. |> |>The hardware I use are two clock crystals, the real time clock one and the |>microprocessor one. This looks like the common mistake of assuming that crystal oscillators are uncorrelated. In fact, that's not even close to true. A number of years ago, a certain large computer company was working on an early implementation of Ethernet. As you know, this relies on random numbers and uncorrelated behavior among the nodes. Some paper analysis was done which "showed" that the various oscillators would, statistically, be synchronized about every 10^10 years. Then a 3-node network was built, and it locked up in about 10 minutes. The cause? Crystals don't have anything close to a Gaussian distribution; instead, the distribution is bimodal with very sharp peaks. (The reason is simple: the manufacturing process involves selection, and crystals go into the highest-price bin their measured frequency justifies. Thus the .01% crystals have two sharp peaks: one at +.01%, and one at -.01% from the nominal frequency.) |>I did several statistical tests on the program and couldn't find any flaws |>in it. I hope however others will try at their best to test it as well |>and I urge them to post their findings (reply to this posting?). IMHO |>the generator is completely undeterministic but one never knows. One should know -- and one could know. In applications like this, you need to consider the program "guilty until proven innocent". In particular, running a few tests that don't "find any flaws in it" doesn't tell you anything. Coincidentally, I was just a few minutes ago reading an article by E.W.Dijkstra explaining why it is absurd to think of computer science as an experimental science. Here we have a case in point... paul koning |>Nico E. de Vries |>_ _ |>O O USENET nevries@cc.ruu.nl FIDO 2:281/708.1 COMPUSERVE "soon" (tm) |> o This text reflects MY opinions, not that of my employer BITECH. |>\_/ This text is supplied 'AS IS', no waranties of any kind apply. |> Don't waste your time on complaining about my hopeless typostyle. |> |>"Unfortunately, the current generation of mail programs do not have checkers |> to see if the sender knows what he is talking about" (A.S. Tanenbaum) (Unfortunately, the same thing is true for word processors, judging by some recent books...)