DES 復号(レガシー)
レガシーな DES の暗号文を復号。パスフレーズによる OpenSSL des-cbc の Salted__ データ、または 8 バイトの 16 進鍵と IV による生データに対応。パディングはローカルで検証します。
出力は Base64 の OpenSSL「Salted__」形式です(8 バイトのランダムなソルト+暗号文)。鍵と IV はパスフレーズとソルトから導出されるため、同じテキストでも毎回結果が変わります。同等のコマンド:
openssl enc -des-cbc -d -md md5 -a -A -provider legacy -provider default -k '…'すべてブラウザ内で実行されます。データがアッ プロードされることはありません。
DES 復号とは?
単一の DES で暗号化されたデータ(古いシステムのファイルや openssl enc -des-cbc で作った値など)を復号します。パスフレーズ付きの OpenSSL Salted__ Base64 形式と、16 進の鍵と IV による生の暗号文を受け付けます。
DES 復号の使い方
- 暗号化時と同じ 鍵の指定方法 を選びます。
U2FsdGVkX1…(「Salted__」)のデータなら パスフレーズ(OpenSSL 互換)、生の暗号文なら 生の鍵 + IV(16 進) です。 - パスフレーズ(と同じ 鍵導出)、または 16 進の鍵と IV を入力します。
- 送信側と同じ モード と パディング を設定し、暗号文(Base64 または Hex)を貼り付けます。
- 復号 をクリックします。出力はテキスト(UTF-8)のままにするか、平文がバイナリなら Hex に切り替えます。
例
U2FsdGVkX18BAgMEBQYHCJnMd6AFlnrJQetke2YRwuM= (passphrase "secret", CBC, EVP_BytesToKey MD5)
Hello, World!
openssl enc -des-cbc -md md5 -k secret -S 0102030405060708 -a で生成。
DES 復号を使うべき場面
レガシーシステムからのデータ復元や DES テストベクターの確認に使ってください。復号後は、残す価値のあるデータを AES で暗号化し直しましょう。
DES 復号の仕組み
Salted__ の入力では、バイト 8〜16 からソルトを読み取り、パスフレーズから 8 バイトの鍵と IV を再導出します(EVP_BytesToKey MD5 または PBKDF2-SHA256)。生の入力は、指定した 8 バイトの鍵と IV で復号されます。CBC と ECB では PKCS#7 パディングを検査するため、鍵が違えば明確なエラーになります。
一般的な使用例
- DES で暗号化された古い設定ファイルやエクスポートファイルを読む
- DES の既知解テストを検証する
- 今も DES-CBC を使うレガシー連携をデバッグする
- DES で暗号化された値を AES に移行する
セキュリティ注意事項
DES の 56 ビット鍵は、市販のハードウェアで数時間のうちに総当たり解読できます。このツールはレガシーデータの読み取りや再現にのみ使い、新しいデータを DES で暗号化しないでください。
よくある質問
復号が「Invalid padding」で失敗するのはなぜですか?
鍵・IV・モードが一致していないか、データが DES ではありません(同じ 8 バイトブロックの 3DES かもしれません)。鍵が 16 または 24 バイトなら Triple DES 復号ツールを試してください。
紛失した DES 鍵を総当たりで解読できますか?
いいえ。指定された鍵またはパスフレーズで復号するだけです。
同じデータを復号する OpenSSL コマンドは?
openssl enc -d -des-cbc -md md5 -a -A -provider legacy -provider default -k <passphrase> です。設定に合ったコマンドがページに表示されます。