La patente, que ya no está activa, describe un mecanismo para generar estos números critográficamente-seguros pseudo-aleatorios, a partir de un estado concreto en el tiempo de un sistema caótico. Ese sistema caótico, debe tener un fuente de datos con mucha entropía para que los números que salgan de la generación no sean predecibles bajo ningún factor de sesgo.
La entropía mide el grado de incertidumbre en el valor de un determinado bit a la hora de sacar un valor aleatorio. Es decir, si tenemos una lista de bits, la probabilidad de que cada bit sea 1 o sea 0 debería ser del 50% sin que dependa de ningún dato o factor externo que pudiera sesgarlo. En la patente, se busca un sistema caótico que no sea predecible – o díficilmente predecible – por lo que su entropía debe ser muy alta, y es ahí donde entran las Lámparas de Lava.
La idea es que si tenemos una serie de
Lámparas de Lava, y hacemos una instantánea temporal en forma de fotografía, tendremos siempre formas diferentes con alta incertidumbre de predicción. Lo que sirve como fuente de generación de valores con alta entropía. La forma de llevar esta fuente de entropía al sistema es tan sencillo como tener un «
Wall of Lava Lamps» y tomar una fotografía de ellas.
Como podéis ver en la imagen anterior, el «
Lava Lamp Wall» no es el único factor de entropía con el que se va mezclando, ya que las imágenes generan una fuente de datos de entrada con una función de entropía basada en los píxeles de colores, pero esta es mezclada también con otras fuentes de entropía para generar claves criptográficas lo más seguras posibles.
En este caso, después de la entropía que se genera con las imágenes de las lámparas, se usan datos con más entropía provenientes del sensor de movimiento de la cámara, de los generados por el servidor que controla la cámara – que tiene sus propios números aleatorios generados con su factor de entropía – y son mezclados con la fuente de números aleatorios del servidor donde corre el servicio de
LavaRand, lo que permite que los consumidores de estos números aleatorios tengan la garantía de que llevan un alto nivel de entropía.
Figura 11: Generando entropía para tener números aleatorios robustos
Por supuesto, desde que tenemos los
Quantum-Based Random Number Generators donde se utilizan fotones y mediciones de valores cuánticos, tenemos fuentes de altísima entropía para generar números aleatorios, pero la historia de
LavaRand es un ejemplo de cómo tener tus propias fuentes de entropía utilizadas para enriquecer, aún más, cualquier generador de números aleatorios que utilices, incluso los
QRND.
¡Saludos Malignos!