¿Hay algún beneficio en la medición de la aleatoriedad? ¿Cómo se haría?

4

¿Hay algún beneficio en la determinación de qué tan aleatorio es un archivo, un flujo, una señal?

Supongo que esto sería útil para determinar

  1. Si algo está (mal) encriptado
  2. Para verificar el cifrado adecuado de un archivo, datos (GCM, SALSA20 o cifrado desconocido)
  3. Para detectar que se está enviando una señal encubierta

Suponiendo que soy el rol de "Bob" o "Mallory", ¿cómo mediría qué tan aleatorio es un flujo dado de 1 y 0? (usando cualquier método de cifrado)

    
pregunta random65537 25.11.2015 - 02:07
fuente

2 respuestas

1

Oh chico, el tiempo de la filosofía. ¿Qué es la aleatoriedad? ¿Se puede medir la aleatoriedad? ¿Qué es una señal de todos modos?

Intuitivamente podemos decir que Thing A es más aleatorio que Thing B si tiene una entropía más alta. La entropía es uno de esos conceptos sobre los que es fácil definir y hablar, pero en realidad medirlo a partir de un conjunto de datos es la pesadilla de un estadístico. Si su RNG produce aaaaaaa... , su RNG chupa limones, o usted tiene uno en una probabilidad de 10 -n . Con un solo punto de datos, es imposible decirlo.

Para que cualquier análisis estadístico de aleatoriedad sea significativo, necesita al menos un millón de muestras generadas en un entorno de laboratorio donde pueda demostrar que su RNG se sembró correctamente para cada muestra. E incluso entonces, debes tener mucho cuidado con las pruebas estadísticas que usas porque todas tienen un sesgo hacia ciertos tipos de patrones. Tratar de sacar conclusiones sobre la calidad de la aleatoriedad con menos rigor que esto será ... no concluyente en el mejor de los casos.

Conclusión: medir la entropía criptográfica en la práctica es difícil y es mejor dejarlo para los investigadores.

Así que esa es la respuesta teórica. En la práctica, puede obtener una idea muy aproximada de la cantidad de aleatoriedad en una cadena o archivo utilizando los métodos mencionados en los comentarios / otras respuestas: ejecútelo a través de una herramienta de compresión (que es una subcategoría de las pruebas de complejidad de Kolmogorov), o una de las pruebas estadísticas de estimación de entropía mencionadas en la respuesta de @ EdwardBarnard.

Este tipo de cosas es probablemente lo suficientemente bueno para distinguir un archivo encriptado de un archivo de texto plano, pero probablemente no podría distinguir la diferencia entre un archivo comprimido y un archivo encriptado, o, en realidad, entre un archivo correctamente encriptado y un archivo mal cifrado. archivo encriptado.

En cuanto a la detección de señales ocultas, estás un poco desafortunado si buscas una solución general. Dígame qué pruebas estadísticas está utilizando y diseñaré un método de esteganografía que lo engaña . Para tener alguna esperanza de detectar esto, necesita saber bastante sobre las propiedades estadísticas de la señal portadora y la señal oculta esperada, y diseñar un algoritmo de detección alrededor de esto. Y, por supuesto, cuanto más ruido se produzca de forma natural en la señal del operador, más lugares se ocultarán las señales ocultas.

    
respondido por el Mike Ounsworth 05.01.2017 - 23:00
fuente
0

El artículo de Wikipedia Pruebas de aleatoriedad responde a ambas preguntas (los beneficios de medir la aleatoriedad, cómo hacerlo). Como señalan los comentarios del OP, la aleatoriedad no es útil para medir la validez / seguridad de un cifrado.

El uso más cercano relacionado con la criptografía sería en la evaluación de generadores de números pseudoaleatorios u otras fuentes de aleatoriedad.

    
respondido por el Edward Barnard 05.01.2017 - 21:38
fuente

Lea otras preguntas en las etiquetas