I am playing with an one-time pad generator.

I have a FM radio receiver card in the computer, as /dev/dsp3.
I wrote a small simple program that takes the filename and file size as
arguments, then produces the desired file as full of random numbers.

The algorithm of generating the numbers is this:

1) Get 8 bytes from /dev/urandom. (Just for sure.) Put them into the
   variable "output".
2) Initialize the MD5 function.
3) Update MD5 with the value of the variable "output".
4) Update MD5 with 128 bytes from /dev/dsp3.
5) Finish the MD5 calculation, retrieve 16 bytes of result into the
   variable "output".
6) Append the content of "output" to the output file.
7) Repeat 2-6 until I get the desired number of bytes.

There is no weakness in it that I could come up with (presuming the audio
input is sufficiently random, which in case of badly tuned station it
seems to be; white noise generator would be better, though). However, with
my lack of experiences I am not sure the output has enough of entropy, or
if it on the other hand isn't a drastic overkill.

Are there any hints/caveats for this approach? It's admittedly a quick
hack glued together in couple minutes of spare time on the basis of an
immediate idea.

Thanks for any comments. :)

Reply via email to