2008-09-19 27 views

Respuesta

29

algoritmo Sin computacionalmente viable debe:

  • recuperar la semilla, o
  • predecir el "siguiente bit"

para un generador de números aleatorios seguro.

Ejemplo: un registro de desplazamiento de retroalimentación lineal produce muchos números aleatorios, pero con un rendimiento suficiente, la semilla se puede descubrir y se pueden predecir todos los números subsiguientes.

1

Con solo un "número aleatorio" uno generalmente significa un número pseudo aleatorio. Debido a que es un número pseudo aleatorio, puede ser pronosticado (fácilmente) por un atacante.

Un número aleatorio seguro es un número aleatorio de una fuente de datos verdaderamente aleatoria, es decir. involucrando un grupo de entropía de algún tipo.

+1

Esto es muy, muy inexacto: un número generado aleatoriamente significa exactamente eso, generado al azar: tirar un dado, escuchar el ruido blanco del sonido tarjeta, al azar. –

+1

Los generadores de números pseudoaleatorios generan números aparentemente aleatorios algorítmicamente. Por ejemplo, Mersenne Twister. Los generadores de números aleatorios criptográficamente fuertes no son menos "pseudo", también generan números algorítmicamente. –

+2

Sin embargo, generalmente se muestra que son difíciles de predecir siempre que su entropía permanezca en secreto. Un ejemplo de un generador de números pseudo aleatorios criptográficamente fuerte (prng) es Yarrow que se utiliza en la implementación de/dev/random y/dev/urandom en Mac OS X y fue diseñado por Bruce. –

0

Probablemente depende del contexto, pero cuando los compara de esta manera, diría que "número aleatorio" es pseduo random number y un "número aleatorio seguro" es verdaderamente aleatorio. El primero le da un número basado en una semilla y un algoritmo, el otro en alguna función aleatoriamente heredada.

+0

Los números aleatorios seguros no tienen que ser de fuentes verdaderamente aleatorias Por ejemplo, generalmente es bastante seguro generar números aleatorios seguros utilizando una buena fuente pseudoaleatoria y utilizando el resultado de suma de comprobación MD5 como resultados aleatorios seguros. Esta no es una solución ideal, pero decente. –

0

Es como la diferencia entre AES y ROT13.

Para ser menos impertinente, generalmente hay una compensación cuando se generan números aleatorios entre lo difícil que es y cuán predecible es el siguiente en la secuencia una vez que haya visto unos pocos. Un número aleatorio devuelto por el rand incorporado de su idioma() generalmente será de la variedad barata y predecible.

1

De acuerdo con Purfiedeas. También hay buen artículo sobre eso, llamado Cheat Online Poker

5

Un número aleatorio seguro no debe ser predecible incluso teniendo en cuenta la lista de números aleatorios generados con anterioridad. Por lo general, lo usaría para una clave de una rutina de cifrado, por lo que no le gustaría que sea predecible o predecible. Por supuesto, adivinable depende del contexto, pero debe suponer que el atacante sabe todo lo que sabe y podría usar para producir su número aleatorio.

Existen varios sitios web que generan números aleatorios seguros, uno de confianza es hotbits. Si solo está haciendo la generación de números aleatorios como una actividad única, ¿por qué no utilizar un resultado de sorteo de lotería, ya que es probablemente aleatorio? Por supuesto, no le diga a nadie qué lotería y qué sorteo, y ponga esos números a través de un truco adecuado para obtener el rango que desea.

1

Un número aleatorio probablemente significaría un número pseudo aleatorio devuelto por un algoritmo que utiliza un 'semilla'.

Un número aleatorio seguro sería un verdadero número aleatorio devuelto por un dispositivo como un generador de números aleatorios basado en cesio (que usa la tasa de disminución del cesio para devolver números). Esto ocurre naturalmente y no puede predecirse.

5

Tenga en cuenta que los números no son aleatorios. La "aleatoriedad" simplemente no es propiedad de ningún número dado (ni siquiera cuando XKCD le indique lo contrario).

Solo el proceso de generar los números podría calificarse con "aleatoriedad". Lea What Colour are your bits para tener alguna discusión sobre este tema.

+4

Cualquier comentario con una referencia XKCD obtiene mi voto de aprobación :) –

Cuestiones relacionadas