AES CBCモード。広範囲に対応。メッセージごとにランダムなIVが必要です。
仕組み
共通鍵暗号は、暗号化にも復号にも 1 つの秘密鍵を使います。鍵を持つ人は両方の操作ができるため、安全な経路で共有する必要があります。
アルゴリズムを選び、鍵(必要に応じて IV または nonce)を生成または貼り付け、テキストを入力するかファイルをアップロードすると、暗号化はブラウザー内で即座に行われます。結果は 16 進数または Base64 で表示できます。
AES-GCM と ChaCha20-Poly1305 は認証付き暗号(AEAD)で、内容を隠すだけでなく改ざんも検出します。AES-CBC と AES-CTR は認証を行わず、DES、3DES、RC4、Rabbit は従来システムとの互換性のためだけに用意されています。
例
AES-GCM · 256 bits平文 → Base64 の暗号文(認証タグを含む)。AES-CBC · 256 bits + IV 128 bitsメッセージごとにランダムな IV が必要です。同じ IV と鍵では、同じテキストが常に同じ結果になります。同じ鍵で IV や nonce を再利用しないでください。特に GCM や CTR モードでは暗号の安全性が損なわれます。ChaCha20-Poly1305 · nonce 192 bitsAES-GCM の認証付き代替。AES-NI アクセラレーションのないデバイスに最適です。ユースケース
- テキストやファイルを暗号化して保護した状態で保存・送信し、鍵は別の経路で共有する。
- 正しい鍵と IV を使って受信データを復号する。
- アルゴリズム、モード、鍵サイズ、IV を調整して、別のシステムとの相互運用性を検証する。
- モードの違いを実際に理解する:認証付きの GCM と、認証なしの CBC または CTR の比較。
よくある質問
共通鍵暗号と公開鍵暗号の違いは何ですか?
共通鍵は暗号化と復号に同じ鍵を使い、公開鍵暗号は公開鍵と秘密鍵のペアを使います。共通鍵は高速ですが、鍵を安全に共有する必要があります。
どのアルゴリズムを使うべきですか?
一般的な用途では AES-GCM が推奨される標準です。ChaCha20-Poly1305 は AES-NI アクセラレーションのないデバイスで優れた代替となります。互換性が必要な場合を除き、DES、3DES、RC4、Rabbit は避けてください。
IV や nonce とは何で、なぜ生成する必要があるのですか?
メッセージごとに鍵と組み合わせるランダムな値で、同じテキストが常に同じ暗号文にならないようにします。メッセージごとに一意でなければならず、同じ鍵で再利用してはいけません。
鍵はどのようなものであるべきですか?
アルゴリズムが示すサイズ(例:AES-256 なら 256 ビット)のランダムな値にします。ボタンで安全な鍵を生成してください。パスワードや予測可能な値は使わないでください。
DES、3DES、RC4 は安全でないのに、なぜ表示されるのですか?
それらをまだ使っている古いシステムが生成したデータを復号するためだけに使います。新しい情報の保護には使わないでください。
入力したテキストと鍵はサーバーに送信されますか?
いいえ。暗号化と復号はすべてブラウザー内でローカルに行われ、内容も鍵もデバイスから外に出ません。