¿Cómo descifro un mensaje usando la CLI de openssl?

8

Tengo un mensaje, sé la contraseña y el cifrado que se usó para cifrarlo, pero no puedo entender cómo pedir a openssl que lo descifre.

Veo el cifrado en la salida del cipherscomando, y la página del manual enumera un enccomando para Encoding with Ciphers, pero no puedo encontrar cómo haría lo contrario, decodificar un mensaje.

usuario50849
fuente
1
¿Qué programa se usa para cifrar el archivo? Es muy probable que el programa de cifrado agregue metadatos al contenido cifrado, como el vector de inicialización, la sal, la versión del programa, etc. Si trata el conjunto como bits cifrados, obtendrá basura.
Siyuan Ren
Tarde, pero: openssl cipherslistas de cifrado suites para SSL / TLS, que en la práctica nunca se basa contraseña, y no dejar mensajes en cualquier lugar que pudiera descifrar tarde (es decir, si tiene un archivo, no es SSL / TLS). openssl ences un esquema de cifrado basado en contraseña de uso común, pero hay CMS y (rara vez) PBE S / MIME y un PGP PBE común, y también esquemas PBE para claves que no se describen con precisión como mensajes, así como otros PBE.
dave_thompson_085

Respuestas:

1

Creo que estás buscando algo como esto:

openssl yourcipher -d < yourfile

Por ejemplo, si el archivo se cifró con des3cifrado, y el archivo es /path/to/file.des3entonces:

openssl des3 -d < /path/to/file.des3

Le pedirá la frase de contraseña.

Si el archivo está codificado en base64, entonces debería poder decodificar y descifrar así:

openssl enc -base64 -d < /path/to/file | openssl yourcipher -d
janos
fuente
Intentando eso, después de ingresar la frase de contraseña, obtengo un "número mágico malo". No estoy seguro de cómo interpretar eso.
user50849
Ese error es común cuando el archivo no es realmente un archivo cifrado ... ¿Quizás necesite descomprimirlo primero?
janos
1
Si he entendido mis instrucciones correctamente, mi archivo está codificado en base64 (también se parece a base64, aunque eso no es garantía, por supuesto). Pero he intentado pasarlo base64 -d [input] > [output]y luego openssl [cipher] -d < [output]descifrar el archivo tal como está, y obtengo el mismo "número mágico malo" en ambos casos.
user50849
@ user50849 Actualicé mi respuesta pensando que parece que ya lo estás haciendo ... Después de decodificar desde base64, ¿qué te dice el filecomando? ¿El archivo es binario?
janos
Intenté su comando base64 agregado, y desafortunadamente obtengo el mismo error. archivo dice datasobre el archivo decodificado. Supongo que su respuesta es correcta y que algo está mal de mi parte. Posiblemente he dañado la entrada o similar. Trataré de resolver eso y volveré.
user50849