[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Need Suggestions for Random Numbers
Greetings from the Galapagos islands!
I am working on a PC implementation of a one-time pad cipher, and
am trying to develop a way to produce an "acceptable" random file
to be xor'd with the plaintext.
I have seen here and elsewhere descriptions of hardware random
number generators (Geiger counters measuring random nuclear
decay, microphones picking up background hiss etc.), but I need
something that can be implemented entirely in software.
I recognize that there is probably no "perfect" software
solution, but some techniques are better that others. (i.e.:
I want to avoid making a REALLY stupid mistake here!)
Listed below are a few ideas I have come up with, but I need some
feedback from more knowledgeable sources. Any suggestions or
comments would be greatly appreciated. If you reply to me
directly, I will summarize for the list.
Please don't suggest book/journal references that are not
accessible via the internet. It would take me about 6 months to
order books from here. (Everything I know about the
outside world arrives via my Pegasus/KA9Q mailer :-)
Also, can anyone recommend a statistical test for randomness, or
for detecting repeating patterns in a "random" file?
(I remember some years back someone demonstrated the Apple II random
number generator was flawed by converting the random numbers to
screen coordinates and "painting" the screen. No matter how long
you ran the program, certain areas of the screen were never filled
in. In other words, certain numbers were never generated.)
Thanks in advance for any assistance.
Jim Pinson Galapagos Islands, Ecuador.
[email protected] PGP public key available by finger
----------Possible methods------------
(note: using the Borland C++ compiler)
- Generate a random file using Borland's random number
generator, then run the output through an encryptor (PGP,
DES etc.). Possible variation: running through several
different encryptors or multiple passes through a single
encryptor.
- Generate two random files using different random number
generators, then xor'ing the two files together to
produce the final file.
- Generate a "bunch" of small random number files, reseeding the
generator before each run. The resulting files would then be
concatenated to produce the final file. (my thought here is to
keep the random files small enough to avoid the eventual repeat
of sequences that I understand occur in random number
generators).
- Combinations of the above?
- Other: Suggestions welcome.
-------------end-------------
On the subject of using audio input for generating random
numbers: has any one tried using an audio file created by the
Windows sound recorder program?
What would be a good source of random meaningless sound? (an
quiet room, ocean surf, repeats of Gilligan's Island, old
presidential speeches (pick your favorite president). :-)