¿Es mejor una concatenación de números aleatorios que un solo número aleatorio?

12

Estamos generando números aleatorios de 16 dígitos de longitud. Una opción que se propuso fue generar cuatro números aleatorios de 4 dígitos cada uno y concatenarlos en lugar de generar un solo número aleatorio de 16 dígitos. La razón que acompaña a la sugerencia fue que sería más difícil predecir el siguiente número en caso de que hubiera un problema con el generador de números aleatorios.

¿Entonces el número aleatorio concatenado es mejor que un solo número aleatorio?

    
pregunta topher 23.05.2016 - 18:24
fuente

3 respuestas

25
  

¿Entonces el número aleatorio concatenado es mejor que un solo número aleatorio?

Si el generador aleatorio realmente produce datos aleatorios, entonces no importará.

  

... sería más difícil predecir el siguiente número en caso de que hubiera un problema con el generador de números aleatorios.

Si el problema es que el generador aleatorio no es tan aleatorio, incluso podría ser mejor para un atacante obtener la mayor cantidad de salidas posibles porque entonces el comportamiento podría ser mejor para predecir. Por supuesto, esta suposición depende en gran medida de los elementos internos del generador aleatorio, por lo que no es posible una respuesta general.

Pero en general: si necesita datos aleatorios realmente buenos, debe usar un generador aleatorio adecuado. Su método no mejorará la calidad de la salida si el generador aleatorio es malo, es decir, se mantiene predecible. Si realmente no necesita datos aleatorios reales, pero solo quiere asegurarse de obtener datos aleatorios sin sesgos, debe tener cuidado porque, dependiendo de cómo lo haga, su método podría agregar un sesgo a la salida.

    
respondido por el Steffen Ullrich 23.05.2016 - 18:39
fuente
1

Esta presentación sobre el concepto de un pseudo flujo impredecible puede ayudar a aclarar las ideas: enlace presentación en PDF enlace

Un vapor pseudoaleatorio es impredecible, cuando ningún atacante puede adivinar correctamente el siguiente contenido del flujo conocido del contenido anterior, con una probabilidad mayor que la opción aleatoria (1/2 ^ (número de bits)) y tiempo razonable.

Por lo tanto, si usa cualquier flujo seguro pseudoaleatorio, como Chacha20 (el flujo pseudoaleatorio es el flujo usado en este cifrado para XOR los datos), entonces, por definición, los bytes son impredecibles. De lo contrario, sería una violación de seguridad importante en estos cifrados de flujo.

    
respondido por el Ramón García 23.05.2016 - 20:18
fuente
-1

Normalmente, la combinación de resultados consecutivos del mismo generador de números pseudoaleatorios es inferior al uso de un solo resultado. Piénselo de esta manera: el generador de números aleatorios genera un cierto número de resultados antes de volver al primer número que proporcionó. Si usa cuatro resultados a la vez, solo puede obtener una cuarta parte de los resultados que puede obtener (suponiendo que el número posible de resultados sea un múltiplo de cuatro, que es probable en una máquina binaria), por lo que un ataque de fuerza bruta solo demore un trimestre para romper sus datos.

Además, el comportamiento de los datos en sí puede ser problemático cuando combina resultados consecutivos. Por ejemplo, muchos generadores de números aleatorios proporcionan números individuales que tienen buenas distribuciones estadísticas, pero esto no necesariamente se aplica a las combinaciones de números consecutivos, donde el generador de números aleatorios puede generar corridas de resultados similares de lo que realmente lo haría. fuente aleatoria Por ejemplo, una vez usé un generador de números aleatorios para simular tiradas de un dado de seis caras, y cuando sumé tres resultados consecutivos, el comportamiento de los resultados consecutivos fue tal que nunca obtuve una suma de 18, en muchos miles de intentos. p>

Analizo los resultados consecutivos, pero estos argumentos se aplican al uso de resultados no consecutivos también cuando se seleccionan de manera sistemática. Su mejor apuesta es seleccionar un mejor generador de números aleatorios y usar los resultados uno por uno. El único momento en el que necesita combinar varios resultados es cuando un único resultado no tiene suficientes bits para satisfacer sus necesidades, lo que es raro con los generadores de números pseudoaleatorios disponibles.

    
respondido por el Warren Dew 24.05.2016 - 00:27
fuente

Lea otras preguntas en las etiquetas