2010-09-02 18 views
7

Cuando escucho acerca de los métodos para romper algoritmos de encriptación, noto que a menudo se enfoca en cómo descifrar muy rápidamente y cómo reducir el espacio de búsqueda. Sin embargo, siempre me pregunto cómo se puede reconocer una descifrado exitosa, y por qué esto no forma un cuello de botella. ¿O se supone a menudo que se conoce un par cifrado/descifrado?¿No es difícil reconocer una descifrado exitoso?

+1

especialmente en Bletchly park con Turings "Bombs" ... ¿Cómo sabían esas máquinas cuándo habían descifrado el código? –

+0

Las bombas funcionaban buscando soluciones internamente consistentes: muchas de las hipótesis para la clave del día eran incompatibles con los textos cifrados generados, y las bombas las eliminaban, dejando solo las consistentes para el análisis manual. Consulte http://en.wikipedia.org/wiki/Bombe –

Respuesta

1

En la criptografía asimétrica, por lo general, tiene acceso a la clave pública. Por lo tanto, cualquier descifrado de un texto cifrado cifrado se puede volver a cifrar utilizando la clave pública y se puede comparar con el texto cifrado original, lo que revela si el descifrado fue exitoso.

Lo mismo se aplica al cifrado simétrico. Si cree que ha descifrado un cifrado, también debe pensar que ha encontrado la clave. Por lo tanto, puede usar esa clave para encriptar su texto descifrado, presumiblemente correcto, y ver si el resultado encriptado es idéntico al texto cifrado original.

+3

a excepción de la encriptación simétrica, cualquier clave se comportará de esta manera ... –

+2

Su observación no es realmente útil para el cifrado simétrico, ya que usó la clave para generar el descifrado texto: por supuesto que coincidirá cuando lo use para encriptar nuevamente. Considere el caso extremo de una almohadilla de una sola vez; para un texto cifrado dado, puede adivinar las claves que le darán * cualquier texto claro de la longitud correcta y todas se volverán a encriptar correctamente en el texto cifrado correcto :). –

+1

Los dos comentarios anteriores muestran que esta respuesta es incorrecta, desafortunadamente. –

4

De Cryptonomicon:

Hay un compromiso entre los dos extremos de, por un lado, no saber nada del texto en claro en absoluto, y, por otro, sabiendo todo esto . En el Cryptonomicon que cae bajo el encabezado de las cunas. Una cuna es una suposición educada sobre qué palabras o frases pueden estar presentes en el mensaje . Por ejemplo, si fuera descifrando los mensajes alemanes de World War II, podría adivinar que el texto simple incluía la frase "HElL HITLER" o "SIEG HElL". Puede elegir en una secuencia de diez caracteres al aleatorio y decir: "Supongamos que representa a HEIL HITLER. Si ese es el caso , ¿qué implicaría sobre el resto del mensaje?"

...

Sentado en su despacho con los intercepta Arethusa frescas, fue a trabajo, utilizando FUNERAL como una cuna: si este grupo de siete cartas descifra a FUNERAL , ¿cómo se ve el resto del mensaje ? ¿Algarabía? Bien, ¿qué tal este grupo de siete cartas ?

1

Para el cifrado simétrico donde la longitud de la clave es más corta que la longitud del texto cifrado, se garantiza que no podrá producir todos los textos sin formato posibles. Probablemente pueda adivinar qué forma tendrá su texto plano, hasta cierto punto, probablemente sepa si se trata de una imagen o XML, o si ni siquiera sabe tanto, puede suponer que podrá ejecutar file en él y no obtener 'datos'. Tienes que esperar que solo haya unas pocas teclas que te den incluso una desencriptación vagamente sensible y solo una que coincida con la forma que estás buscando.

Si tiene una muestra de texto sin formato (o texto plano parcial), esto se vuelve mucho más fácil.

4

Generalmente, tiene una idea del formato del archivo que espera que resulte del descifrado, y la mayoría de los formatos proporcionan una manera fácil de identificarlos.Por ejemplo, casi todos los formatos binarios, como imágenes, documentos, archivos zip, etc., tienen encabezados fácilmente identificables, mientras que los archivos de texto solo contienen ASCII, o solo secuencias UTF-8 válidas.

Cuestiones relacionadas