Eruption - What is LavaRnd?
Obsidian - FAQ
Lava - Demos
Lavaologists - About us
Strata - New and old stuff
Magma - Download
Bedrock - Developers
LavaRnd: A Cryptographically Sound Random Number Generator

Stage 1:
Gather Digital Chaos
Stage 2:
Chaos to Random
Stage 3:
Output Random Data
chaotic camera zap Red process arrow Digital Blender Red process arrow random number image
Source of Chaos
to digital
   yields Random

General process

LavaRnd turns real world physical chaotic events into random numbers in 3 stages:

  1. Digitization of a chaotic source:

    A digital snapshot of a physical chaotic process is obtained. Any chaotic source that is sensitive to measurement errors can be used. The Heisenberg Uncertainty Principle suggests that you cannot measure, with perfection, any chaotic source. If the chaotic source you choose is driven by quantum events then recreating the chaotic source is impossible. Moreover, chaos will render any simulation useless as a means to predict future conditions.

  2. Digital Blendertm

    The digital snapshot containing both structured data and chaotic noise is run through a Digital Blender Algorithm. The combination of n different SHA-1 cryptographic hash operations running in parallel, and n different xor-rotate and fold operations on data containing some chaotic noise destroys the structured data portion of the digital snapshot and produces uniformly distributed random data.

  3. Presentation:

    The uniformly distributed random data is collected into a pool and used only once to produce random values in the form required by the application.

What is next?
SourceForge.net Logo
Home  |   LavaRnd?  |   FAQ  |   Demos  |   About us  |   New & Old  |   Download  |   Developers  |   Tour