Generates true random numbers at a rate of about 16 bytes a second. Why would you want to do that? 1. Use them for uncrackable encryption with one-time XOR pads. 2. Use them as unguessable passwords. 3. Use them for PIN numbers, lock combinations. 4. Use them in cryptography, e.g. generating private keys. It works by you typing anything you please, and it measures the time between keystrokes (and key releases) accurate to the nanosecond (billionth of a second), then uses the low order 8 bits of those differences for the entropy to generate a stream of random bytes. The random bytes display as hex on the screen and are logged as binary bytes an a file called random.pad in the current directory. If you run it as an Applet, you must grant permission for it to be able to log the random stream to your hard disk. If you refuse permission, it will just display the values on the screen. Advantages: 1. free 2. you can examine it to see how it works and to make sure the code is doing nothing nefarious like sending a copy of your numbers to the CIA. 3. Can be run either as an Applet without installing, or an application with no network connection. Disadvantages: 1. slow. Can only generate about 16 random bytes a second. 2. I have not done mathematical tests on the output to ensure they are the highest quality. Specifying the file name. By default the random bytes will be logged in file C:\temp\random.log You can change that when running as an Applet with: or if running as an application with: makekey.jar "D:\temp\random.pad" Pascal Version Circa 1985 I released a version of MakeKey written in Pascal for DOS that worked in a similar way. It was bundled with Encode/Encrypt for preparing files to send via primitive email systems that did not support binary attachments and for doing XOR uncrackable encryption. Learning More See http://mindprod.com/jgloss/pseudorandom.html for other techniques to generate true random numbers. Why the coloured quilt logo? It was generated by placing little squares at random positions with random colours.