Wie entschlüssele ich eine Nachricht mit der CLI von openssl?

8

Ich habe eine Nachricht, kenne das Passwort und die Chiffre, mit der es verschlüsselt wurde, aber ich kann nicht herausfinden, wie ich openssl zum Entschlüsseln auffordern soll.

Ich sehe die Chiffre in der Ausgabe des ciphersBefehls und die Manpage listet einen encBefehl für auf Encoding with Ciphers, aber ich kann nicht finden, wie ich das Gegenteil tun würde, eine Nachricht zu dekodieren.

user50849
quelle
1
Mit welchem ​​Programm wird die Datei verschlüsselt? Es ist sehr wahrscheinlich, dass das Verschlüsselungsprogramm dem verschlüsselten Inhalt Metadaten hinzufügt, wie z. B. den Initialisierungsvektor, Salt, die Version des Programms usw. Wenn Sie das Ganze als verschlüsselte Bits behandeln, wird Müll ausgegeben.
Siyuan Ren
Spät aber: openssl ciphersListet Cipher Suites für SSL / TLS auf, die in der Praxis niemals passwortbasiert sind und keine Nachrichten hinterlassen, die Sie später entschlüsseln könnten (dh wenn Sie eine Datei haben, handelt es sich nicht um SSL / TLS). openssl encist ein häufig verwendetes passwortbasiertes Verschlüsselungsschema, es gibt jedoch CMS- und (selten) S / MIME-PBEs und ein gemeinsames PGP-PBE sowie PBE-Schemata für Schlüssel, die nicht genau als Nachrichten beschrieben werden, sowie andere PBEs.
Dave_thompson_085

Antworten:

1

Ich denke, Sie suchen so etwas:

openssl yourcipher -d < yourfile

Zum Beispiel, wenn die Datei mit des3Chiffre verschlüsselt wurde und die Datei /path/to/file.des3dann ist:

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

Sie werden nach der Passphrase gefragt.

Wenn die Datei base64-codiert ist, sollten Sie in der Lage sein, wie folgt zu dekodieren und zu entschlüsseln:

openssl enc -base64 -d < /path/to/file | openssl yourcipher -d
Janos
quelle
Wenn ich das versuche, bekomme ich nach Eingabe der Passphrase eine "schlechte magische Zahl". Ich bin mir nicht sicher, wie ich das interpretieren soll.
user50849
Dieser Fehler tritt häufig auf, wenn es sich bei der Datei nicht wirklich um eine verschlüsselte Datei handelt. Vielleicht müssen Sie sie zuerst entpacken?
Janos
1
Wenn ich meine Anweisungen richtig verstanden habe, ist meine Datei base64-codiert (es sieht auch wie base64 aus, obwohl dies natürlich keine Garantie ist). Aber ich habe versucht, es durchzuleiten base64 -d [input] > [output]und dann openssl [cipher] -d < [output]sowie die Datei so zu entschlüsseln, wie sie ist, und ich bekomme in beiden Fällen die gleiche "schlechte magische Zahl".
user50849
@ user50849 Ich habe meine Antwort aktualisiert und dachte, es sieht so aus, als ob Sie das bereits tun ... Was filesagt Ihnen der Befehl, nachdem Sie von base64 dekodiert haben ? Ist die Datei binär?
Janos
Ich habe Ihren hinzugefügten base64-Befehl ausprobiert und erhalte leider den gleichen Fehler. Datei sagt dataüber die dekodierte Datei. Ich gehe davon aus, dass Ihre Antwort richtig ist und dass etwas an meinem Ende nicht stimmt. Möglicherweise habe ich die Eingabe oder ähnliches beschädigt. Ich werde versuchen, das herauszufinden und zurück zu kommen.
user50849