Tengo un documento cifrado con una clave simétrica. La única información que tengo es que la clave es más corta que 64 bits.
¿Hay alguna manera de descifrarlo? Si es así, ¿cómo?
Para descifrar el mensaje, debes saber más que la clave; también debe conocer el esquema de encriptación, el modo de encriptación, el vector de inicialización, etc. Nada de esto se supone que es secreto; la clave y el mensaje de texto simple son los únicos dos secretos en la mayoría de la criptografía de clave simétrica (y como se indicó en los comentarios, debido a los requisitos de protocolo y otros formatos inherentes a la mayoría de los datos, el texto simple no es completamente secreto).
Esos dos secretos son suficientes: según los documentos de Wikipedia para AES, el ataque de fuerza bruta más exitoso contra cualquier algoritmo simétrico fue contra una implementación RC5 de 64 bits, que básicamente requería una red de bots de "sombrero blanco" dirigida por Distributed.net sin fines de lucro para proporcionar suficiente tiempo de CPU para probar todas las 18,446,744,073,709,551,616 claves posibles en el espacio de claves de 64 bits (eso es 18.4 cuatrillones de claves; teniendo esto en contexto, la producción económica total estimada de la raza humana en la historia registrada es de aproximadamente 2.4 cuatrillones de dólares). Usando alrededor de 2,700 computadoras "dispuestas" en la red de bots, tomó cinco años para descifrar el cifrado. Y la mayoría de los algoritmos simétricos comunes en la actualidad (Rijndael / AES, Blowfish / Twofish, Serpent, Triple-DES) usan claves al menos el doble de ese tiempo, produciendo un espacio de teclas de aproximadamente 3.4x10 38 (340 undecillion ) posibilidades. La viabilidad de una fuerza bruta se vuelve rápidamente inviable; dado un tamaño más que se duplica a una clave de 256 bits (que se usa en algunos esquemas), asumiendo que podríamos, comenzando ahora, construir una esfera de Dyson alrededor de nuestro Sol y atrapar cada fotón del plano de la eclíptica (la propia órbita de nuestro planeta ) con una eficiencia perfecta, y luego construya una computadora a nivel de electrones con una eficiencia térmica perfecta impulsada por esta esfera de Dyson y configúrela para probar la clave de fuerza bruta, el Sol se apagará antes de que la computadora termine de probar cada tecla (el Sol falla en algún lugar alrededor de 2 218 claves).
Incluso si el cifrado que utilizaron fuera vulnerable, la mayoría de los ataques criptoanalíticos conocidos contra sistemas de cifrado que no están completamente dañados requieren lo que se conoce como un ataque de "texto simple conocido" o "texto simple elegido", donde usted como atacante puede ver o incluso elija los mensajes de texto plano que se introducirán en el cifrado. La mayoría de estos ataques aún reducen la complejidad de romper el cifrado por un pequeño número de potencias de dos; por ejemplo, un cifrado de 64 bits, que requeriría 2 ^ 64 intentos de fuerza bruta, podría ser descifrable si pudiera ver, tal vez, 2 ^ 44 bloques de 64 bits introducidos en el algoritmo usando la misma clave, y vea La salida de texto cifrado. Técnicamente, eso es un "ataque" porque es más eficiente que una fuerza bruta. Sin embargo, requiere que alimente 128 terabytes de datos a través del algoritmo, sin conocer la clave (lo que probablemente significa que lo está alimentando a través de la única máquina real que realiza el cifrado para otra persona, lo que eventualmente despertar sospechas).
En resumen, con un texto cifrado, sin texto plano y sin clave, no tiene ninguna posibilidad.
Prácticamente todos los piratas informáticos exitosos en la actualidad encuentran el eslabón más débil de la cadena (el humano, la computadora no segura que usa el humano o la implementación defectuosa del algoritmo de cifrado en la computadora que usa el humano) y explotan eso en su lugar, a través de keyloggers, ingeniería social, etc.
Entonces, si este juego se inicia de verdad, sugeriría instalar discretamente un programa en la computadora que su amigo usará para generar la clave y cifrar el texto plano, que transmitirá el texto simple y / o la clave tal como está escrito por tu amigo MUCHO más fácil, y más rápido, que romper el cifrado. O, si la clave se basa en una cadena ASCII, podría secuestrar a su amigo, encerrarlo en su sótano y usar algún tipo de técnica de interrogación dolorosa pero no perjudicial hasta que se rinda.
Lea otras preguntas en las etiquetas encryption