Random.org proporciona 200k bits aleatorios gratuitos (¡solo 6250 enteros de 32 bits!) Del mundo analógico ( cf. ) por IP por día.
¿Alguien sabe de un servicio web alternativo que proporcione más bits aleatorios a pedido por día?
(pagar está bien siempre que el precio esté "dentro de las expectativas" de 1000 × 1024bits por usd ciento) (el servicio pagado de random.org cobra 100 × este precio)
[webservice] public int GetRandomNumber() { return 4; // rfc 1149.5 }
. Crédito: xkcd.com/221Respuestas:
Quizás este.
http://qrng.physik.hu-berlin.de/
Desde el sitio:
fuente
Lo que está pidiendo es agua bendita, y está rechazando la sugerencia de que use agua normal. La única razón para preferir el agua bendita sobre el agua es religiosa. Existen PRNG simples, aleatoriamente sembrados, que no pueden distinguirse de la aleatoriedad física verdadera por ningún proceso conocido. Y estos sistemas no son deterministas.
Una computadora del mundo real tiene varias fuentes de aleatoriedad física verdadera. Por ejemplo, una CPU moderna x86 tiene un 'TSC' que mide el recuento del ciclo de instrucción (y, por lo tanto, indirectamente, el tiempo hasta una resolución de una billonésima de segundo más o menos).
Puede capturar el TSC cuando llega un paquete de red. Los bits bajos del TSC dependerán del desplazamiento preciso entre el oscilador de cristal que multiplica la interfaz de red y el oscilador de cristal que ejecuta la CPU. Esto depende de las variaciones de temperatura de la zona microscópica en los dos cristales de cuarzo que se cree que son verdaderamente aleatorios.
Del mismo modo, puede capturar el TSC cuando los datos llegan desde el disco duro. Los bits bajos dependen del cizallamiento del flujo de aire turbulento entre la superficie del disco duro y la carcasa. Esto también se cree que es verdaderamente aleatorio.
Algoritmos bien conocidos, como el que usa el kernel de Linux (desarrollado por Theodore Ts'o basado en el trabajo de M. Matsumoto e Y. Kurita) usan el efecto de avalancha para convertir algunos bits impredecibles en un número mucho mayor. Las únicas diferencias entre las salidas de estos algoritmos (suponiendo que estén correctamente sembradas por datos TSC) y la salida de la aleatoriedad física verdadera es religiosa: ningún método conocido puede distinguir estas salidas. No hay prueba de que uno pasará y el otro fallará.
He desarrollado generadores de números aleatorios para el uso del casino en línea que han logrado una certificación independiente. Estos métodos son los que se usan en el mundo real.
fuente
Todavía no entiendo por qué un PRNG criptográfico no es lo suficientemente bueno para su problema. Una propiedad definitoria de un crypto-PRNG es que no es posible (con cantidades razonables de hardware) distinguir su salida de un RNG verdadero.
Esto significa que es lo suficientemente bueno para cualquier tipo de simulación o aplicación que se me ocurra, aparte de generar claves criptográficas o inicializar la propia criptografía PRNG (obviamente necesita unos cientos de bits de entropía verdadera para comenzar).
Por otro lado, los RNG de servicio web tampoco pueden usarse para criptografía ya que
Por lo tanto, no puedo pensar en un solo uso donde uno preferiría un RNG de servicio web en lugar de un buen PRNG. Si realmente necesita números aleatorios reales y seguros, no veo otra alternativa que construir hardware usted mismo.
fuente
Hace varios años, se podía llamar al lavarand de SGI que generaba números aleatorios usando la forma de burbuja actual y la posición de una lámpara de lava que estaba siendo vista por una cámara web.
Aunque ya no existe, puede crear fácilmente su propio generador con una cámara web y el código fuente abierto de la gente de LavaRnd (EDITAR: inactivo desde hace un tiempo. Proyecto Wayback Machine Sourceforge ). Resulta que no necesitas la lámpara de lava: el ruido captado por el CCD mientras la cámara web está sellada en un contenedor a prueba de luz es una gran fuente para generar números aleatorios criptográficamente sonoros.
(Sé que este no es un servicio que puedes usar ahora, pero porque solía serlo, porque era genial y porque puedes crear uno casi gratis muy fácilmente, pensé que valía la pena ser una respuesta).
fuente
Abra una conexión TCP a cualquier host / puerto y cuente la cantidad de nanosegundos que toma. Ahí está tu número aleatorio.
fuente
Aquí hay otro generador basado en Quantum, con una API de descanso no menos:
http://photonics.anu.edu.au/qoptics/Research/qrng.php
fuente