ファイル復号ツールとは?

ファイル復号ツールは、Web Crypto APIを使ってAES-GCM、AES-CBC、AES-CTR、RSA-OAEPで暗号化されたファイルを復号します。ファイルと鍵がデバイスの外に出ることはないので、暗号化された添付ファイルやアーカイブを安全に開けます。

この復号ツールはWeb Cryptoの4つのアルゴリズムを標準搭載しています。AES-GCM(デフォルト。機密性と完全性チェックを兼ねる)、AES-CBC(古典的だが現役)、AES-CTR(OpenSSL aes-ctr 形式のファイル向けストリーミングカウンターモード)、そして公開鍵で暗号化されたファイル用のRSA-OAEPです。PBKDF2のソルト(16バイト)が先頭にあるファイルはパスワードから鍵を自動派生し、PBKDF2のハッシュはSHA-256とSHA-512を切り替えて暗号化側に合わせられます。生鍵ファイルはhexかBase64で入力できます。「整合性を検証」を有効にすると、破損したファイルが沈黙のうちに意味不明なデータへ復号されたときに警告します。

使い方

  1. 暗号化されたファイルをアップロードするか、Base64 または Hex の暗号文を貼り付け、使用したアルゴリズム(AES-GCM、AES-CBC、AES-CTR、または RSA-OAEP)を選択します。
  2. 復号鍵を入力または貼り付けてください(AESの場合はパスワード、RSAの場合は秘密鍵)。AESではIV/ナンスの入力が必要な場合があります。
  3. 「復号」をクリックして復号済みファイルをダウンロードしてください。大きなファイルの進捗状況が表示され、整合性が自動的に検証されます。

使用するタイミング

  • 別のマシンで暗号化したパスワード付きバックアップやアーカイブを開きたいとき。
  • 同僚から共有された機密レポートを第三者サービスに上げずに復号したいとき。
  • 古いAES-CBC暗号化ファイルでパスフレーズだけ残っている場合の復旧。

結果

セキュリティ研究者がメールで受け取ったAES-256-GCM暗号化レポートを共有パスフレーズとともにアップロードし、サーバーを一切介さずに数秒でPDFを復号します。

よくある質問

このツールはどのようにしてファイルのプライバシーを守っていますか?
ファイル読み込みから鍵派生、復号まで、すべての処理はWeb Crypto APIを通じてローカルで実行されます。ファイルのバイト列も鍵もネットワークに出ないため、機密内容を含む暗号文書もあなたの端末に留まります。
パスワードは正しいはずなのに復号が失敗するのはなぜ?
原因はだいたい4つです。アルゴリズム選択ミス(AES-GCM・AES-CBC・AES-CTRは外見では区別できない)、IV/nonceのフォーマット違い(hexとBase64)、PBKDF2の反復回数が標準の100,000と異なる場合、もしくはPBKDF2ハッシュの食い違い — SHA-256ではなくSHA-512をデフォルトにしているツールもあります。まずアルゴリズム、PBKDF2ハッシュ、IV形式の順に切り替えて試してください。
AES-GCMとAES-CBCの違いは?
GCMは認証付きで、暗号文やIVが改竄されると復号が明確に失敗します。CBCは完全性チェックを持たないので、誤った鍵だともっともらしく見えるゴミを返すことがあります。新規のものはGCMを優先し、CBCは古いデータの復号にだけ使ってください。
OpenSSLや7-Zipなど他ツールで暗号化したファイルを復号できますか?
他ツールがこの4つのいずれかのアルゴリズムを互換性のある鍵派生で使っていれば可能です。OpenSSLの既定のenc形式は独自のEVP_BytesToKeyを使うのでこのツールでは再現できません。7-ZipのAES-256はキーストリームを取り出せれば対応できますが、多くの場合は7-Zipそのものが必要です。
整合性検証は実際に何を確認しているのですか?
AES-GCMの場合は暗号文に埋め込まれた認証タグを検証し、1ビット変わっただけで失敗します。AES-CBCとRSA-OAEPの場合は復号後のPKCS#7パディングを確認するので、ほとんどの破損は検出できますが100%ではありません。

関連ツール