Para el cifrado múltiple, había una pregunta anterior: Is ¿Es una buena idea el cifrado múltiple?
En cuanto a cómo saber si lo descifras correctamente, normalmente miras la salida y decides si tiene sentido. Por ejemplo, ¿tiene el formato de archivo de un archivo gif / jpeg / zip? Si se trata de texto simple, ¿es todo ASCII o UTF-8 correctamente codificado? Al ignorar los puntos de código que no son ASCII, solo se pueden imprimir 96 de los 256 valores posibles de un byte. Por lo tanto, si descifraste el mensaje de basura con la clave incorrecta y el mensaje tenía 1000 caracteres, la probabilidad de que todas sean letras ASCII imprimibles por azar solo será (96/256) 1000 o aproximadamente 1 en 10 400 . Incluso permitiendo UTF-8, los personajes tienen que estar en ciertas combinaciones; por ejemplo, si el primer byte tiene la forma 1110xxxx
(donde cada x podría ser un 1 o un 0), eso significa que los dos siguientes caracteres deben ser la forma 10xxxxxx
para ser unicode adecuado. Este tipo de cosas rara vez ocurren por casualidad.
También hay a menudo rellenos (que necesitan cierta forma en el texto simple), sumas de comprobación o códigos de autenticación de mensajes que ayudan a distinguir los datos de basura de la clave incorrecta, de los datos reales.
EDITAR: Si cifraste un archivo dos veces con dos claves diferentes (simétricas) k1 y k2 y trataste de descifrar c = E (k1, E '(k2, m)), no hay una manera en que puedas simplemente atacar -Force adivinar k1 solo examinando la salida de D (k1 ', c), que aparecerá aleatoriamente para cualquier patrón. Tendría que aplicar fuerza bruta, k1 y k2 simultáneamente para descubrir las propiedades de m.
Sin embargo, es extremadamente imposible adivinar una clave privada de alta entropía mediante la fuerza bruta. La cantidad de trabajo para forzar la fuerza de una clave AES de 128 bits es aproximadamente 2 128 , por ejemplo, mil millones (10 9 ) computadoras que prueban un billón (10 12 ) las claves por segundo durante 1000 años solo tendrían una posibilidad de 1 en 10 millones para encontrar la clave correcta. Por lo tanto, la ganancia del cifrado múltiple en este escenario no parece ser mucho.
Por otra parte, si tenía un cifrado asimétrico con una clave pública conocida, puede verificar rápidamente si la clave privada adivinada es correcta. ¿Puede cifrar un mensaje con la clave pública conocida y luego descifrarlo con su clave? clave privada adivinada para recuperar el mensaje original?