LavaRnd:
A Cryptographically Sound Random Number Generator
Stage 1:
Gather Digital Chaos
|
Stage 2:
Chaos to Random
|
|
Stage 3:
Output Random Data
|
|
|
|
|
|
|
|
|
|
Physical
Source of Chaos
|
|
analog
to digital
|
|
Digital
Blender
|
|
yields
|
|
Random
Numbers
|
General process
LavaRnd turns real world physical chaotic events into random numbers in
3 stages:
- 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.
- 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.
- 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?
|