opensslのCLIを使用してメッセージを復号化するにはどうすればよいですか?


8

メッセージがあり、パスワードとそれを暗号化するために使用された暗号を知っていますが、opensslにそれを復号化するように要求する方法がわかりません。

ciphersコマンドの出力に暗号が表示され、manページにのencコマンドがリストされてEncoding with Ciphersいますが、その反対の方法であるメッセージをデコードする方法がわかりません。


1
ファイルの暗号化にはどのプログラムが使用されていますか?暗号化プログラムは、初期化ベクトル、ソルト、プログラムのバージョンなどのメタデータを暗号化されたコンテンツに追加する可能性が非常に高いです。全体を暗号化されたビットとして扱うと、ゴミが発生します。
Siyuan Ren 2014

Late but:SSL / TLSのopenssl ciphers暗号スイートをリストします。これは実際にはパスワードベースではなく、後で解読できる場所にメッセージを残しません(つまり、ファイルがある場合、SSL / TLSではありません)。openssl encは、一般的に使用されるパスワードベースの暗号化スキームの1つですが、CMSと(まれに)S / MIME PBEと共通のPGP PBE、およびメッセージとして正確に記述されていないキーの PBEスキームと他のPBE があります。
dave_thompson_085

回答:


1

私はあなたがこのようなものを探していると思います:

openssl yourcipher -d < yourfile

たとえば、ファイルが暗号を使用してdes3暗号化されている場合、ファイルは次のようになります/path/to/file.des3

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

パスフレーズの入力を求められます。

ファイルがbase64でエンコードされている場合、次のようにデコードおよび復号化できるはずです。

openssl enc -base64 -d < /path/to/file | openssl yourcipher -d

試してみると、パスフレーズを入力した後、「悪い魔法番号」が表示されます。それを解釈する方法がわからない。
user50849 2014年

そのエラーは、ファイルが実際に暗号化されたファイルではない場合によく見られます...おそらく最初に解凍する必要があるでしょうか?
janos 2014年

1
私の説明を正しく理解していれば、ファイルはbase64でエンコードされています(base64のように見えますが、もちろん保証はありません)。しかし、私はそれを通過させてみましたbase64 -d [input] > [output]openssl [cipher] -d < [output]ファイルをそのまま解読が、どちらの場合でも同じ「不良マジック番号」を取得しました。
user50849 2014年

@ user50849私は回答を更新しましたが、すでに実行しているようです... base64からデコードした後、fileコマンドは何を伝えますか?ファイルはバイナリですか?
janos 2014年

追加したbase64コマンドを試しましたが、残念ながら同じエラーが発生します。ファイルはdata、デコードされたファイルについて言います。私はあなたの答えが正しいと思います、そして私の側で何かが間違っていると思います。たぶん私は入力または同様のものを破損しました。私はそれを解決して、戻ってきます。
user50849 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.