Por @Alvy — 8 de Noviembre de 2017

Tom Scott y el criptógrafo Nick Sullivan explican en este vídeo como la empresa Cloudflare –dedicada a servicios de contenidos y seguridad en Internet– utiliza en sus servidores varios métodos físicos, a cual más curioso y llamativo, para generar números aleatorios.

Uno de ellos es un gigantesco mural de coloridas lámparas de lava. Expuesto en su oficina, una webcam toma una fotografía de vez en cuando y el resultado –con infinitas y caóticas variaciones de luz, color y píxeles– se procesa automáticamente mediante una función matemática hash para generar un valor semilla que alimenta un generador de números aleatorios en el kernel de Linux de los servidores.

Sabemos por la teoría que matemáticamente sólo se pueden generar números pseudoaleatorios, algo que no impide que usemos criptografía bastante fiable todos los días. Pero en Cloudflare pensaron que añadir este factor sería un plus. Normalmente se utilizan métodos como los movimientos del ratón, el tiempo entre pulsaciones de teclas o el ruido electrónico.

Además de las lámparas de Lava en la sede de Londres tienen otro curioso montaje: un doble péndulo caótico que se graba en vídeo y con el cual también se generan semillas para los generadores aleatorios. Y en la sede de Singapur utilizan una fuente radioactiva con la misma finalidad. Más aleatorio, difícil.

Relacionado:

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por @Alvy — 21 de Octubre de 2017

Clock numbers

Los ordenadores necesitan números aleatorios para realizar todo tipo de tareas: simulaciones, juegos, criptografía, arte… Pero la forma de generarlos es puramente matemática, lo cual es un problema más que una ventaja: al cabo de un tiempo lo que parece aleatorio no es tan aleatorio. Se puede utilizar una combinación con procesos físicos más o menos aleatorios (desde los movimientos del ratón sobre la mesa a la radioactividad), pero en base a matemáticas puras lo mejor que se puede ofrecer son números pseudoaleatorios. Son algo bastante cercano al puro azar pero en cierto modo también limitados en cuanto a su aleatoriedad.

En cualquier caso, generar una buena secuencia de números pseudoaleatorios matemáticamente tampoco es fácil. Venkatraman Srikanth explica en un artículo muy divulgativo las matemáticas que hay tras esa generación de secuencias de números pseudoaleatorios, algo que denomina caos predecible. Básicamente se trata de encontrar una función cuyos resultados varíen cada vez que se utilice, aunque se sepa que se repetirá porque técnicamente sólo se puede utilizar una cantidad de números limitada (por ejemplo los números de la esfera de un reloj o los 264 bits de un número almacenado en una variable).

El número que se utiliza como entrada de la función se llama semilla y el proceso es básicamente repetitivo. Si la función es buena el resultado producirá un valor que al usar de nuevo como semilla dará otro distinto, luego otro y así sucesivamente hasta que se hayan cubierto tantos como sea posible (no necesariamente todos). Es lo que se conoce como Generador lineal congruencial y cuanto más grande sea su periodo y la distribución de los bits que se eligen como resultado, mejor.

Quien necesite algo mejor, ya sabe: a combinar las fórmulas matemáticas con otros fenómenos físicos como la radioactividad, el ruido electrónico o los fenómenos cuánticos cuya aleatoriedad se considera tan perfecta como es posible definirla.

Relacionado:

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por @Alvy — 20 de Septiembre de 2017

D30

The Dice Lab es un curioso lugar en el que crean y fabrican dados para juegos de mesa. Tienen todos tipos de diseños, con prácticamente cualquier número de caras: 4, 6, 8, 10, 20, 30, 60… Incluso tienen dados de 3 caras y uno gigantesco de 120 caras. Como saben los aficionados a los juegos de rol y de mesa en general suelen llamarse simplemente d6, d12, d20, etcétera.

Una de sus creaciones son los llamados dados numéricamente equilibrados en versiones d20 y d30. Son dados de 20 y 30 caras pero más «justos» matemáticamente que otros diseños. Esta es la explicación:

Para que los dados sean tan «justos» como sea posible deben tener un equilibrio tanto físico como numérico. Se fabrican con poliedros de caras uniformes (por ejemplo el icosaedro para el d20 o el tricontaedro rómbico para el d30). Pero es imposible lograr un equilibrio físico debido a las diferencias en los números que van grabados, las imperfecciones en los moldes, las zonas vacías cerca de los vértices y demás.

A veces es posible manipular el resultado lanzando el dado de cierta forma muy controlada, de modo que también hay que equilibrar el dado numéricamente: disponiendo los números de tal modo que la suma de las caras junto a cada vértice sea la misma. En los dados tradicionales d6 las caras opuestas tienen números «opuestos» (1-6, 2-5, 3-4).

Lo mismo se hace en el d20 (caras opuestas con 1-20, 2-18, etcétera). El valor promedio junto a un vértice sería 10,5 y la suma de las tres caras que rodean a otra cara 31 o 32; mediante una búsqueda por ordenador estos dados tienen numeradas las caras de modo que las cinco caras junto a un vértice suman 52 o 53. En el caso de los d30 en donde hay 12 vértices con cinco caras y 20 con tres caras el valor promedio es 15,5 y hay una docena de formas de numerarlas que suman los valores ideales.

En otras palabras: si se quiere lograr un mejor o «más justo» azar no es suficiente tomar un dado y poner cuál número cualquier cara, hay que echar unos cálculos antes. (Supongo que también se podría usar una película plástica de color+transparente para indicar los números en vez de grabar físicamente los dados, pero eso ni se menciona).

Además de todas estas interesantes explicaciones aquí hay un vídeo donde se explica este equilibrio matemático de los dados. Todos ellos se pueden comprar en The Dice Shop, incluyendo el monstruoso hexaquisicosaedro de 120 caras.

Relacionado:

Compartir en Flipboard  Compartir en Facebook  Tuitear
Por @Alvy — 22 de Agosto de 2017

Colorado Lotto

En la CNBC cuentan el curioso caso de un infiltrado que ha defraudado durante años a la Asociación de Loterías estadounidense, donde trabajaba como programador. Ahora se enfrenta a 25 años de prisión por haberse hecho ilegalmente con los premios de varios estados, además de haber formado una red de colaboradores con su hermano, un antiguo juez, un amigo y un hombre de negocios – que cobraban por él los premios.

El tipo simplemente manipuló el software de generación de números aleatorios añadiendo un par de subrrutinas que le permitían predecir los números ganadores – pero sólo ciertos días concretos, para despistar. Por qué se usa software con generadores de números aleatorios físicos menos manipulables, con las clásicas bolas, bombos y un notario delante es un poco incomprensible. Así como por qué no se auditó el software de los ordenadores convenientemente.

Quizá ayudó en el fraude el hecho de al protagonista de la historia le ascendieran a máximo responsable de seguridad de las loterías hace unos años por su buen trabajo (!?) Pero su «suerte» cambió –irónicamente– cuando descubrieron que había ganado un bote y se estaba construyendo una casa de 450 metros cuadrados con gimnasio y salón de cine. Pero es que además ganó varios premios más y organizó con su «banda de colegas» recoger más premios todavía. ¡Ay, el ansiaviva!

Ahora espera la sentencia que cumplirá en un lugar lúgubre y frío, nada que ver con su mansión. ¡Otra demostración de que el crimen no compensa, niños!

§

Escándalo de la lotería de Pensilvania de 1980A raíz de esto y lo del uso de software en vez de un bombo también se recordó el escándalo de la lotería de Pensilvania de 1980, donde se usaba un bombo pero se descubrió que se habían manipulado las bolas.

En aquella ocasión en cada uno de los bombos de las tres cifras del número ganador se había añadido unos pocos gramos de látex a todas las bolas con una jeringuilla, excepto a la 4 y la 6, de modo que éstas tenían más posibilidades de ser elegidas por el mecanismo – dado que las otras tendían a quedarse abajo en comparación. Los pícaros iban por los despachos de lotería comprando números como el 464 466 646 664, etcétera (hay ocho combinaciones distintas) y cuando se anunciaban los resultados corrían a cobrar.

El número 666 llegó a dar un premio de 3 millones y medio de dólares, pero de poco les sirvió: mucha gente se había percatado ya de que números parecidos salían una y otra vez y una investigación sobre qué les pasaba a las bolas llevó a la policía hasta ellos – resultaron ser el presentador del sorteo y uno de los testigos. Siete años de cárcel le cayeron.

(Vía Schneier.)

Relacionado:

Compartir en Flipboard  Compartir en Facebook  Tuitear