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 ...
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 ...
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.
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.
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).
Lea otras preguntas en las etiquetas random