Detectando el estado final del proceso de descifrado con una clave desconocida

0

Nota: esta pregunta surge exclusivamente de un interés teórico en la investigación de seguridad.

Con frecuencia, en la ficción popular vemos piratas informáticos que descifran información secreta en cuestión de segundos. Si bien obviamente esto no es probable en el mundo real, me hizo pensar en cómo se podría realizar ese proceso, dado que tenemos el texto cifrado pero no la clave.

El primer objeto para descifrar los datos desconocidos sería averiguar qué algoritmo se utilizó. No es una exageración de la imaginación que podamos obtener esta información, por ejemplo, es posible suponer que es probable que se hayan usado ciertos protocolos estándar en situaciones particulares (como SSL / TLS en un correo electrónico). transacción comercial). Incluso es posible sugerir que también sepamos la longitud de la clave.

El segundo objeto principal es la cantidad de tiempo que se tarda en forzar con fuerza bruta todas las combinaciones posibles. Esto se cita con frecuencia como una razón importante para la seguridad de la criptografía (con una longitud de clave adecuada). Sin embargo, digamos que tenemos el texto cifrado, el algoritmo y la longitud de la clave (pero no la clave), así como una computadora altamente poderosa capaz de forzar en gran medida todo el conjunto de claves posibles en un tiempo razonable.

La pregunta es: dado que no sabemos (obviamente) qué era el texto simple, ¿cómo podemos saber cuándo hemos descifrado el cifrado? Una cosa es enumerar todos los posibles descifrados de los datos, pero ¿cómo podemos determinar cuál de estos candidatos en el texto sin formato real?

    
pregunta ose 23.11.2012 - 12:16
fuente

1 respuesta

1

En teoría no lo sabes.

Pero en la práctica, tiene alguna idea sobre qué son los datos o cómo están estructurados. Quizás porque sepa que es, digamos tráfico HTTP, o porque sabe que es un archivo .DOCX o .PDF cifrado, o alguna otra cosa, o si conoce otras propiedades del texto plano (por ejemplo, quizás sepa que el texto simple es un binario). blob seguido de su hash SHA-512 de 512 bits).

E incluso si no tiene ninguno de los anteriores, aún puede intentar y hacer una suposición informada sobre si el blob descifrado resultante es correcto mediante un análisis estadístico.

Asignación de tareas: es posible que desee pensar en cómo esta pregunta se aplica a XORing un flujo de datos con un teclado de una sola vez, y por qué el método que es seguro.

    
respondido por el Nik Bougalis 23.11.2012 - 12:32
fuente

Lea otras preguntas en las etiquetas