To return to a previous page, use your browser's BACK button.


On March 17th 2003 we added a random number generator to our 32 bit Windows program Aw-Radw which uses the random nature of the radiation 'hits' to trigger an interrupt driven random scan of the CPU clock counter which is then used to generate the random numbers at a rate eight times faster than Aw-Rand.exe See: Aware's New Aw-Radw Program

For programmers interested in random numbers: May 20th 2004 Aware Electronics Corp. has available our new 32 bit random number DLL, AWRAND.DLL to be used within your programs and in conjuction with any of our RMs. Please phone +(302)655-3800 or E-mail us for more information about AWRAND.DLL package. Aware@aw-el.com



Professor R. Coisson has written a lesson on the Poisson process:
  • Professor R. Coisson's "Acqusition and treatment of data from a Poisson process"
    Jonh Walker's HotBits Linux Code using an RM-80:
  • Linux Code for Random Numbers

    The Generator Machine


    As mentioned elsewhere SEED.EXE is included with each RM order which generates random numbers derived from RM pulses. Seed.exe is a simple example Turbo C program. The interface to the RM unit is very crude.

    We have received orders from both Intel and AMD with perhaps the intent of generating random number data sets for testing new CPUs. (Other uses include off-shore Internet gaming sites wherein RM is used to generate true random numbers)

    This peaked our interest in the subject so in response we wrote AW-RAND.EXE which is much more sophisticated as compared to SEED.EXE example program. For a limited time, if you ask for AW-RAND.EXE when ordering, we will include it on disk no charge. Otherwise AW-RAND.EXE costs $145.


    From AW-RAND help file:

    In combination with an Aware Electronics Radiation Monitor, AW-RAND generates a stream of pure random numbers into a file and/or to a serial port and/or to the display screen. The numbers can be displayed in HEX or base 10 format. The RM can be plugged into either a serial port or a LPT port (printer port).

    AW-RAND.EXE uses interrupt mode to trigger a scan of the PC's timer chip which is ticking at greater than 1.1 MHz. When reading the timer chip registers, AW-RAND takes an extra step to cancel out any non-linearity in a particular timer chip register bit.

    With each radiation "hit" from the RM unit, an interrupt is triggered causing the timer scan and then a bit in an output byte is set or not set according to the value of the timer scan.

    With each eight hits, the resulting byte is output to the TX pin of the serial port (any desired serial port, including the same serial port the RM monitor is plugged into) and/or to the screen and/or to a file.

    File output can be in the form of HEX, base 10 or binary numbers. In the case of HEX and base 10 numbers, the program will include or not include a carriage return after each number, however desired.

    AW-RAND uses a large ring buffer. If your PC is slow or you use a low baud rate for output data, and the radiation level is very high, the ring buffer might overflow, in-which-case the program will issue a message and exit.

    Setup parameters are communicated to AW-RAND.EXE by way of command line arguments. Type AW-RAND(enter) for a help screen displaying the command line arguments.


    Here is a complete copy of Aw-rand's readme.txt file:


    Aw-rand's readme text file


    From a new user of AW-RAND.EXE:

    Bryan,

    Thanks for the Aw-rand update. I'm still collecting data. It takes a large sample to really test the randomness. But, so far the small samples (10 megs or so) look very good.

    Thanks again,
    -mark-
    `______________________________________
    |` _______ ````````````````````````````|
    |``\____ `|`A```Mark Hudson````````````|
    |``/|```|`|`M```mark.hudson@amd.com````|
    |`|`|___|`|`D```Voice:`(512) 602-5063``|
    |`|____/`\|`````FAX:```(512) 602-6970``|
    |______________________________________|


    User Les Peter wrote a Windows interface program that "spawns" Aw-rand with arguments to generate random numbers.

    Les Peter's Aw-Rand.exe Interface

    LabView Aw-Rand interface


    Les Peters, RF Test Engineer
    Nortel Networks
    200 Bulfinch Drive
    Andover, MA. 01810

    Dear Bryan;

    I would like to sincerely thank you for the support that you have provided me related to my specific application using your model #RM-60 Radiation Monitor. It is very unusual to have a company actually offer to modify there source code to better meet the specific needs of one of there customers. This occurred not once but several times when I needed it. This level of service has helped to insure the success of my project and thereby driven an internal need for more #RM-60 Radiation Monitors.

    As a Test Engineer I am involved in developing automated test solutions for Multimedia Cable Network Systems (MCNS) product line including Cable Modems (CM) and Cable Modem Termination Systems (CMTS). Using our products cable television operators like Media One are able to offer high speed internet access for their customers.

    One of the problems I have been faced with in developing a CM automated test solution has been the creation of an encryption quality random number. This random number is used as a seed for generating a secure ID string which is then programmed into each modem. A colleague of mine having found your web site http://www.aw-el.com, suggested I look into your Radiation Monitors as one of its features was the generation of random numbers. After reading all the information on your website and talking with you about my specific application I purchased one of your model #RM-60 Radiation Monitors. I must say at first my colleagues and I were a little skeptical having little experience with Radiation Monitors. But after some investigation we realized that the decay of radioactive matter being unpredictable actually provided a very good means to generate an extremely random number.

    Your original "AW-RAND.EXE" software supplied with the monitor while displaying the data on my PCs monitor did not allow us to port the data to a text file. After having discussed this problem with you, you quickly made a change to your source code sending the generated data to a text file. You then E-mailed the new code to me within several hours, now that's service ! While this solved one issue generation of random numbers was slow using background radiation. Your suggestion of using the AM241 element out of an inexpensive ionization type of smoke alarm solved that problem, now numbers are generated very quickly.

    My test software is written in a graphical programming language called LABVIEW and integrating your "AW-RAND.EXE" required the creation of a driver. This driver allows execution of your "AW-RAND.EXE" code using the supported arguments on the same command line. The driver was designed using the LABVIEW 5.0 Full development for WINDOIWS 95/NT. I have attached a copy of this driver so that some of your other customers can use it. I feel it is the least I can do with all the help that you have given me.

    Sincerely, Yours
    Les Peters

    If anyone would like a copy of Les's executable code as-well-as the source, email us and we will email it back to you...(aware@aw-el.com)


    Another interesting use for the RM-60 + AW-RAND. Check out the site. It includes some C source code:

    Hey Bryan,

    We've acquired an HP200LX to use solely for random number generation at pokerspot.com. I bought an RJ-11 splitter, an RJ-11<->DB9-M and a RJ-11<->DB9-F, and I now have the HP200LX grabbing random bytes from the RM-60, and outputting them to my gaming server. Many headaches were avoided, and I can now sleep at nights, thanks to your nifty device.

    After we hit enough simultaneous users to exhaust this guy, we'll be ordering another couple from you. Check out our webpage at www.pokerspot.com, follow the Games & Features link, and at the bottom of the page, there's a link to a document detailing our Deck Shuffling routines. Much credit is given to your company, and the RM-60 unit. Thanks again!

    Robert Boyd
    PSI Corporation www.pokerspot.com
    Founder & CTO
    rboyd@pokerspot.com


    Dan's random number generator:
    Dan's page
    Besides testing equipment another use for a large file of pure random numbers includes uncrackable data scrambling. One can generate a large file of pure random numbers with Aw-rand + the Aware RM unit. A copy of this file is then placed on a floppy or burned into a CD and given to the receiving person. Now to send an uncrackable scrambled file to the person, XOR each byte in the file with a byte from the random number file (we include a program that does this for you). The resulting output file will be completely scrambled and uncrackable. E-mail it to the receiver. He then XORs it with the same set of random numbers and the original file is thereby reproduced.

    As mentioned a XOR program is include with the package. Example file to file XORing C code is also included.


    An E-Mail with question about AW-RAND:

    Subject: Random number applications

    I am interested in your PC Geiger counters for the use in true random number generation, and I have read your AW-RAND material on your web site. However, your technology seems to be relying on timing of interrupts that are themselves inherently synchronized to the serial clock generator, losing all the interesting fine-grained timing data!

    We program the serial port modem status input line to operate in interrupt mode, completely bypassing the UART and its serial clock generator. The software can also work with any printer port (using the printer port interrupt).



    AW-RAND.EXE (2.4)(c) Aware Electronics Corp. 1998-04
    Ask for Aw-rand.exe when ordering an RM and we will include it with no additional charge. Otherwise it is $145.

    For our 32 bit windows random number generator see: Aware's New Aw-Radw Program


    Return to user's page?

    Return to index page?