¿Cómo diseñar un mecanismo de lanzamiento de moneda digital? [cerrado]

-3

Quiero implementar el mecanismo de lanzamiento de moneda en el que el resultado será independiente de cualquier cosa como el lanzamiento de moneda real. Estoy confundido sobre cómo hacer que sea totalmente independiente ...

    
pregunta Soumen Dofadar 03.02.2017 - 13:20
fuente

3 respuestas

2

Dependiendo del idioma que esté utilizando, algunos de ellos pueden generar enteros pseudoaleatorios seguros criptográficamente, lo que probablemente sea lo suficientemente bueno para un mecanismo de lanzamiento de moneda, como el de PHP 7 random_int function.

Sin embargo, también existen verdaderos servicios de generación de números aleatorios, como api.random.org . La aleatoriedad proviene del ruido atmosférico, en lugar de un algoritmo pseudoaleatorio.

    
respondido por el Rik Lewis 03.02.2017 - 13:56
fuente
1

No puedes. Es por eso que los métodos para lo que realmente quieres se llaman CSPRNGs - Cryptographically Secure Pseudo Generadores de números aleatorios .

Sin embargo, lo que es cierto para la mayoría de los criptogramas también lo es aquí: si no sabe de qué está hablando, intente no implementarlo usted mismo. En su lugar, use las bibliotecas establecidas que ofrecen lo que necesita.

    
respondido por el Tobi Nary 03.02.2017 - 13:48
fuente
1

Por supuesto que puedes. La moneda aún depende de su estado físico y velocidad, pero no es predecible de forma discreta.

enlace tiene un generador de números aleatorios basado en el ruido atmosférico. Eso es mucho más aleatorio que un dado o una moneda. Es cuántico.

Si no desea un servicio en línea, puede comprar una llave USB de hardware TRNG u obtener el ruido de un RTL-SDR barato.

Pero la diferencia es mayormente teórica. Para lo que quieras, un CSPRNG será suficiente. / dev / urandom funcionará en unix (y no, no es un infertor de / dev / random).

    
respondido por el J.A.K. 03.02.2017 - 14:00
fuente

Lea otras preguntas en las etiquetas