Hardware para crear números al azar

avatar
Manuel López Michelone 12/feb/2014, 07:20 pm

random00Aunque mucha gente no lo crea, los números que se generan al azar en los programas de computadora no lo son. Son pseudoaleatorios y en general funcionan para la mayoría de las aplicaciones. Muchas veces, si se requiere valores más azarosos, se pueden obtener de usar bulbos Geiger, lámparas de lava o decaimiento radioactivo. Sin embargo, muchas veces todas estas soluciones son imprácticas. Por ello mismo, Karl, quien requería de un generador de números al azar por hardware, decidió hacer su propia solución: se necesitaba que fuese económico y suficientemente azaroso. La solución la encontró en un microcontrolador de 8 pins AVR.

La solución usa AVEntropy, una biblioteca que analiza el timer (watchdog) del microcontrolador AVR de manera que pueda dar un número al azar criptográficamente seguro.  Armar el circuito fue fácil. Un microcontrolador ATtiny45 se conectó a un convertidor chino (muy barato) de USB a serial. Tres cables y el circuito quedó completo. El código es simple: se inicializa la entropía y se escriben los bits en el puerto serial.

random01

Sin embargo, este sistema tiene sus contras. Como la biblioteca de la entropía debe esperar a que se acumule suficiente entropía, puede dar un par de dos números de 32 bits por segundo. Afortunadamente esto es lo que requería Karl. Finalmente decidió darle a su sistema un empaque de un corcho de un vino, con una canica de color en la parte trasera. Es probable que este sea el generador más bonito y pequeño, de números aleatorios.

Referencias:

HackADay

Reacciones 0

Más noticias

También te puede interesar

postRecibe las últimas noticias de unocero a través de WhatsApp (también en el extranjero) postDime cómo programas y te diré quién eres… post¿Qué tiene de especial el University of Phoenix Stadium, sede del Super Bowl XLIX? postSpartan de Windows 10 permitirá usar extensiones postConvierte tu smartphone en una cámara Polaroid postYouTube se despide de Flash: HTML5 es el nuevo estándar

Comentarios