```Path: cactus.org!milano!cs.utexas.edu!wupost!zaphod.mps.ohio-state.edu!sample.
+     eng.ohio-state.edu!purdue!mentor.cc.purdue.edu!pop.stat.purdue.edu!
+     hrubin
From: hrubin@pop.stat.purdue.edu (Herman Rubin)
Newsgroups: sci.crypt,sci.electronics

Subject: Re: Applicable idea for Truly Random Number hardware
Summary: Old ideas
Message-ID: <20013@mentor.cc.purdue.edu>
Date: 26 Sep 91 02:02:15 GMT
References: <1991Sep20.131024.19997@lonex.rl.af.mil>
Sender: news@mentor.cc.purdue.edu
Followup-To: sci.crypt
Lines: 30
Xref: cactus.org sci.crypt:4188 sci.electronics:17141

In article , mark@microunity.com (Mark  Johnson) writes:
> Suppose we have a sequence of bits, A = (a0, a1, a2, a3, ...).
> It is produced by some physical process, for example a zener
> diode or a Geiger-Muller tube.

> Also suppose that the hardware is not perfectly "balanced"
> (or "trimmed" or "optimized" or whatever word you prefer), so
> that the sequence A doesn't contain equal numbers of ONES
> and ZEROES.

..................

> Now, consider the new sequence C = A XOR B.  Each element ck of C
> is just the XOR of the corresponding elements of A and B,
> ck = ak XOR bk.

>  ==> What is the probability that an element of C is a ONE? <==

In a general situation, this is much better than A or B is, and this
can even be done conditionally.  If we define h(A) to be the
probability that A is 0 minus the probability of 1, then if A and
B are independent, h(C) = h(A) * h(B).  This appeared not later than
the 1940s, and was proposed as a means of improving physical random
numbers back then.  A similar procedure, using decimal numbers, was
used to improve the randomness of the published RAND numbers.

--
Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907-1399
Phone: (317)494-6054
hrubin@l.cc.purdue.edu (Internet, bitnet)   {purdue,pur-ee}!l.cc!hrubin(UUCP)
```