Generadores de aleatoriedad físicos: a la busca del azar

Pixabay

Aunque a priori parezca una tarea sencilla, obtener números aleatorios en un sistema informático es un proceso clave para numerosos servicios. 

El azar, entendido como aleatoriedad o impredecibilidad, está muy presente en nuestras vidas digitales. Son muchos los servicios que utilizamos a diario que dependen de la generación de números aleatorios para su funcionamiento, desde servicios de mensajería con codificación de extremo a extremo hasta videojuegos con generación aleatoria de entornos y personajes. Generalmente se usan algoritmos de pseudo aleatoriedad para la mayoría de estos procesos, aunque estos no siempre son la mejor opción cuando se tratan procesos sensibles que dependen de su robustez frente a ataques externos.

Es ahí donde entran en juego los HRNG, generadores de números aleatorios por hardware, una opción superior a los algoritmos; las empresas encargadas de su desarrollo e implementación se han convertido en una industria floreciente y muy rentable. Un HRNG es un dispositivo que proporciona números al azar mediante la monitorización de un proceso físico. Al recurrir a un fenómeno estocástico real, sus resultados resultan más sólidos e incrementan la dificultad para anticipar las salidas de un sistema hasta niveles máximos.

Se buscan las propiedades de fenómenos físicos microscópicos cuyas manifestaciones ofrecen una entropía (en el sentido empleado por la teoría de la información) máxima, que ofrezca una incertidumbre sobre los posibles resultados de un experimento estocástico superior al del umbral de los algoritmos. Así, nos encontramos con elementos electrónicos que se basan en el efecto fotoeléctrico, el ruido térmico o fenómenos de naturaleza cuántica, y que procesan estas acciones para obtener resultados aprovechables por equipos informáticos y de telecomunicaciones. El diseño de un generador de números aleatorios por hardware suele incluir un transductor, un amplificador y un conversor analógico-digital.

Algunos usos de los HRNG

Actualmente, la criptografía es la principal y más rentable aplicación para este tipo de hardware: los HRNG se emplean para generar aleatoriamente claves criptográficas de cara a la transmisión segura de información. Protocolos como el TLS (seguridad de la capa de transporte) se aprovechan de la seguridad adicional de estos dispositivos. En este tipo de usos, la debilidad de los algoritmos generadores de números aleatorios reside en un valor que se conoce como “semilla” (seed). Si se conoce esta, pierden efectividad. A cambio, permiten una mayor velocidad en la generación de resultados que los RNG por hardware, por lo que es habitual que se utilice una aproximación mixta para solucionar ambos problemas. De esta manera, un generador de números aleatorios por hardware sirve de fuente para las sucesivas semillas con las que se alimenta el algoritmo y se aumenta la tasa de salida.

Pixabay

Otro uso que cada vez está cobrando mayor protagonismo es el de los servicios de casinos por internet. Los juegos de ruleta online, cartas o tragaperras de un casino virtual como el de Betway no serían posibles sin un generador de aleatoriedad robusto que garantice la imposibilidad de predecir el resultado de antemano. Estos servicios de juego recurren a empresas externas para analizar y garantizar que su denominación de “juegos de azar” se ajusta a la realidad. Someten los resultados de sus juegos a auditorías regulares para evitar errores que deriven en la aparición de sesgos en sus productos, y es ahí donde aparecen empresas como GLI para certificar que los resultados sean impredecibles.

 

De lo microscópico a lo macroscópico

Curiosamente, los juegos de azar tradicionales, que no dejan de ser procesos estocásticos macroscópicos, también se podrían considerar generadores de aleatoriedad físicos. Lanzar una moneda al aire, hacer girar la rueda de una ruleta o girar el bombo de la lotería, pese a que se podrían considerar como deterministas bajo un punto de vista de la mecánica newtoniana, dependen de tal cantidad de pequeños factores que, en la práctica, y si su diseño está bien realizado, se convierten en prácticamente impredecibles. Dicho esto, son precisamente las imperfecciones que pueden aparecer en su construcción las que posibilitan la aparición de desviaciones sobre los resultados teóricos que pueden ser explotables, como sucede con otros fenómenos “más humanos”.

Existen también generadores de números aleatorios que se basan en procesos descentralizados, como pueden ser el que ofrece Random.org, un servicio que utiliza el ruido atmosférico para generar bits, o el de la plataforma Cardano, donde los su protocolo de prueba de participación utiliza a los usuarios como generadores de aleatoriedad.

 

Ulises Lima

Esta noticia ha sido publicada originalmente en N+1, tecnología que suma.

Sobre N+1: Es la primera revista online de divulgación científica y tecnológica que permite la reproducción total o parcial de sus contenidos por medios de comunicación, bloggers e influencers, realizando la mención del texto y el enlace a la web: “Esta noticia ha sido publicada originalmente en la revista N+1, tecnología que sumawww.nmas1.org”.

 

 

Suscríbete

Déjanos tu mail para recibir nuestro boletín de noticias

La confirmación ha sido enviada a tu correo.