AES暗号化・復号化
ご利用前にお読みください
• このツールはブラウザ内で完結します。平文・暗号文・鍵は一切サーバーに送信されません。
• 開発、デバッグ、学習、自己管理向けの用途を想定しています。商用機密やユーザーデータの本番唯一の防護には使用しないでください。
• 本番環境では監査済みの暗号ライブラリ(libsodium、OpenSSL、AWS Encryption SDK など)、本格的な KDF(Argon2id ≥ 1 反復 / 64 MiB)、AEAD モード必須、サーバ側での鍵管理・アクセス制御・監査ログを活用してください。
UTF-8 テキスト
モード比較 — GCM vs CBC vs CTR▼
| モード | 認証 | IV 要件 | 性能 | 推奨用途 |
|---|---|---|---|---|
| AES-GCM | 認証付き (AEAD、128 ビットタグ) | 12 バイト推奨;同一鍵で再利用禁止 | 高速、ハードウェアアクセラレーション | デフォルト — 現代 API、ファイル暗号化、認証が必要な全用途 |
| AES-CBC | 認証なし、別途 HMAC/MAC が必要 | 16 バイト;CSPRNG で生成し再利用禁止 | 高速、ハードウェアアクセラレーション | レガシー TLS、ディスク暗号化(XTS-AES)。新規設計で生使いしない |
| AES-CTR | 認証なし、別途 HMAC/MAC が必要 | 16 バイト;再利用禁止(再利用は致命的) | 最速、並列化可能 | ランダムアクセス可能なストリーム、ディスク暗号化。MAC と組み合わせ必須 |
表の読み方
- • AES-GCM は 3 つのうち唯一の AEAD で、暗号化 + 認証を一度に行います。迷ったら GCM を選んでください。
- • CBC / CTR は機密性のみを提供します。別途 MAC(HMAC-SHA256、Encrypt-then-MAC)が必要で、これがないと選択暗号文攻撃やビット反転攻撃に無防備です。
- • IV / Nonce は (key, message) 単位で必ず一意にしてください。GCM で IV を再利用すると認証鍵が漏洩し、致命的な事故とみなされます。
モードとフォーマットの説明
- • ブラウザの SubtleCrypto は AES に対して GCM、CBC、CTR のみを提供し、ECB、CFB、OFB は提供しません(脆弱な使用を防ぐため)。他のモードが必要な場合は OpenSSL またはサーバーサイドライブラリを使用してください。
- • 暗号文フォーマットは Hex / Base64 / Base64URL から選択可能。CyberChef、各種 API、JWT などのシーンと整合。暗号化側と復号側で同じフォーマットを選択してください。
- • AES-GCM では出力は「暗号文 + 認証タグ」の連続バイト列です。本ツールは選択したフォーマットで全体をエンコードします。復号時は全体を貼り付けてください。
注釈
- • Web Crypto はブラウザ内で動作します。GCM は認証付き暗号化であり、デフォルトのシーンに適しています。
- • 暗号化時 IV を空にすると、ツールがランダム IV を生成して上部の入力欄に書き出します。復号時に再利用できます。
- • 復号時 IV を空にするとゼロベクトルとして扱われます(相手が同じ規約を使用している場合のみ有効)。
AES暗号化と復号化をオンラインで無料実行。AES-CBC、AES-GCM、AES-CTR対応。API連携・暗号化テスト・パラメータ検証に最適。
関連おすすめ
AES暗号化・復号化とは?
AES(Advanced Encryption Standard)は、ブラウザ、TLS、データベース、クラウドサービス、モバイルアプリ、OS などで広く使われる現代的な共通鍵ブロック暗号です。暗号化と復号に同じ秘密鍵を使います。正しく AES を使うには、キーだけでなく、モード、IV/nonce、padding や認証タグの扱い、出力エンコードまでそろえる必要があります。
新しい設計では AES-GCM を既定にするのが一般的です。GCM は AEAD(認証付き暗号)で、データを暗号化しながら改ざんも検出できます。暗号文、キー、IV、salt、認証タグのどれかが違えば復号に失敗します。CBC と CTR は機密性だけを提供するため、本番プロトコルでは HMAC-SHA256 など別の MAC と組み合わせる必要があります。
パスワードベース暗号化では、鍵導出関数が欠かせません。人間が覚えられるパスワードは、そのまま AES キーとして使うにはランダム性が足りないことがほとんどです。このツールは PBKDF2-SHA256、100,000回反復、ランダム salt を使って実際の AES キーを導出します。salt により、同じパスワードでも同じ導出キーになりにくく、総当たり攻撃のコストも上がります。
IV と nonce の扱いは特に重要です。GCM では通常12バイト IV を使い、同じキーで同じ IV を絶対に再利用してはいけません。CBC では16バイトの予測困難な IV が必要です。CTR はカウンター/nonce 構造で、再利用すると深刻な問題になります。このツールは暗号化時に安全な IV を自動生成し、復号で同じ条件を再現できるよう値を表示します。
このページは、開発、デバッグ、学習、自分で管理する暗号化テストのためのものです。本番の機密情報、規制対象データ、顧客情報を扱う場合は、監査済みの暗号ライブラリ、サーバー側の鍵管理、アクセス制御、監査ログ、必要に応じて Argon2id などの現代的な KDF を使ってください。
ユースケース
- 小さなテキストを AES-GCM で暗号化し、管理された経路で共有する前に保護します
- フロントエンドとバックエンドの連携時に、API ペイロードを復号しながら IV、キー、モード、出力形式を照合します
- バックエンドが Hex、Base64、Base64URL のどれで暗号文を返しているかを確認し、ブラウザ側で同じ形式を再現します
- パスワードから PBKDF2 で AES キーを導出し、salt、反復回数、導出キー長が結果にどう影響するか確認します
- AES-CBC、AES-GCM、AES-CTR の出力を並べて比較し、対称暗号モードの違いを学べます
- キー、IV、salt、平文、モード、キー長、出力形式を固定し、再現可能なテストベクターを作れます
使い方
- 暗号化または復号を選び、AES-GCM、AES-CBC、AES-CTR のいずれかと必要なキー長を指定します
- Hex キーまたはパスワードを使います。パスワードモードでは、強いパスワードを入力すると PBKDF2 が AES キーを導出します
- 暗号文の形式を選びます。Hex、Base64、Base64URL のうち、暗号化側と復号側で同じ形式を使ってください
- 暗号化時は IV/salt を空のままにすると安全なランダム値を自動生成します。復号時は同じ IV/salt を貼り付けるか、パスワードモードのヘッダーから読み取ります
- 出力された暗号文または平文をコピーし、モード、キー長、IV、salt、形式を一緒に保管して再現できるようにします
特徴
- 3つの暗号化モード:AES-CBC、認証付き暗号の AES-GCM、AES-CTR に対応し、主要な暗号化シナリオを確認できます
- 3種類のキー長:AES-128、AES-192、AES-256 を選択でき、強度重視なら AES-256 を使えます
- パスワードベース暗号化:弱い生パスワードを直接キーにせず、PBKDF2-SHA256 と100,000回反復で AES キーを導出します
- パスワード強度チェック:長さ、大文字、小文字、数字、記号、よくある弱いパターンを見て、安全なパスワード選びを助けます
- ランダム IV と salt 生成:暗号学的に安全な IV/salt をワンクリックで生成し、復号時に再現できるよう UI に表示します
- 複数の暗号文形式:Hex、Base64、Base64URL に対応し、API デバッグ、JWT 風の転送、設定ファイル、CLI 連携に合わせられます
- GCM 認証タグ対応:暗号文と auth tag をまとめて扱い、暗号文・キー・IV・salt の不一致や改ざんを検出できます
- ブラウザだけで動く Web Crypto:平文、暗号文、パスワード、キーをアップロードせず、ローカルで暗号化・復号します
- モード比較ガイド:GCM、CBC、CTR の使い分けと、IV/nonce 再利用が危険な理由を画面上で確認できます
- 開発者向けコピー導線:生成したキー、IV、salt、暗号文、平文を API テストやトラブルシューティング用にすぐコピーできます
よくある質問
AES-CBC、AES-GCM、AES-CTR は何が違いますか?
CBC は古典的なブロック暗号モードで、IV と別途 MAC が必要です。GCM は認証付き暗号(AEAD)で、改ざんを検出できるため現代的な API では推奨される既定値です。CTR は AES をストリーム暗号のように使うモードで高速かつ並列化しやすい一方、別途 MAC が必要です。迷ったら GCM を選んでください。
PBKDF2 による鍵導出とは何ですか?
PBKDF2 は、人間が覚えられるパスワードから暗号化に使える強いキーを導出する仕組みです。このツールでは PBKDF2-SHA256、100,000回反復、毎回ランダムな salt を使います。パスワードをそのままキーにするより総当たり攻撃に強く、同じパスワードから同じキーが出にくくなります。
Hex キーモードとパスワードモードの違いは何ですか?
Hex キーモードは、32/48/64文字の16進キーをそのまま使う方式で、バックエンド API や固定テストベクターに合わせるときに便利です。パスワードモードは覚えやすいパスワードを受け取り、PBKDF2 で AES キーを導出します。後で同じパスワードで復号できるよう、salt 情報も一緒に扱います。
パスワード強度チェックでは何を見ていますか?
長さ、大文字、小文字、数字、記号、よくある弱いパターンを確認し、weak/fair/good/strong の目安を表示します。短い、または推測しやすいパスワードを避けるための補助です。重要なデータでは、パスワードマネージャーで生成した長いランダム文字列を使ってください。
AES-GCM の復号が失敗するのはなぜですか?
AES-GCM は認証タグを検証します。失敗する場合は、キーまたはパスワードが違う、IV や salt が一致していない、暗号文が変更された、出力形式のデコードを間違えた、AES モードやキー長が違う、といった原因が考えられます。暗号化時と復号時の全パラメータをそろえてください。
このオンライン AES 暗号化・復号化ツールは安全ですか?
暗号処理はブラウザの Web Crypto API で実行され、平文、暗号文、パスワード、キーはアップロードされません。開発、API デバッグ、学習には適しています。ただし、本番の高機密データでは、適切な鍵管理を備えた監査済みのローカルまたはサーバー側ツールを使ってください。
対応している AES キー長は?
AES-128(16バイトキー)、AES-192(24バイトキー)、AES-256(32バイトキー)に対応しています。AES-256 は強度重視の既定値として使いやすく、AES-128 も現在なお安全で高速です。AES-192 は主に特定の互換性やコンプライアンス要件で使われます。
Hex、Base64、Base64URL 出力の違いは何ですか?
Hex は読みやすくデバッグしやすい一方、サイズは大きくなります。Base64 はよりコンパクトで、JSON や設定ファイルでよく使われます。Base64URL は URL で扱いにくい文字を置き換え、padding を省くことが多いため、URL パラメータや JWT 風のフィールド、Web 転送に向いています。
このツールで作った暗号文はどう復号しますか?
パスワードモードでは、salt と IV がエンコード済み出力のヘッダーに含まれ、復号時にツールが取り出せます。Hex キーモードでは、暗号化時のキー、IV、モード、キー長、出力形式を控えておき、復号時に同じ値を入力してください。
AES 暗号化の学習にも使えますか?
はい。GCM、CBC、CTR を切り替えて出力を比較したり、IV や salt が結果にどう影響するかを見たり、PBKDF2 がパスワードからキーを導出する流れを確認したりできます。アプリに実装する前に AES の挙動を理解するのに向いています。
- 安全文字列比較
- 二進数変換
- シーザー暗号
- モールス信号
- 16進数変換
- 動画→Base64変換
- Base64 を動画に変換
- 画像をBase64に変換
- Base64を画像に変換
- テキスト→Base64変換
- Base64→テキスト変換
- ファイルハッシュ検証
- File to Base64
- Base64→ファイル変換
- 音声→Base64
- Base64を音声に変換
- AES暗号化・復号化
- DES暗号化/復号
- Base32 エンコーダー デコーダー
- Base58 エンコードとデコード
- Base64 エンコード
- Base64 デコード
- Base64比較
- Base64 分割
- Base64複数行マージ
- Base64フォーマット
- Base64形式チェック
- Base64一括エンコード
- Base64一括デコード
- Base64クリーナー
- Base64 パディング処理
- Base64長さ統計
- Base64→16進数変換
- Base64 DataURL 変換
- Base64-Hex双方向変換
- Base85エンコーダー/デコーダー
- HMAC生成と検証
- PBKDF2鍵導出
- MD5 ハッシュ値
- SHA-256 ハッシュ
- SHA1 ハッシュ
- SHA512ハッシュ
- JWT デコーダー
- HTMLエンティティエンコード/デコード
- Unicodeエスケープ
- URL エンコード
- URL Safe Base64変換
- MIME Base64
- Java難読化
- JS難読化
- PHP難読化
- Python難読化