logo
GeekFormat

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-GCM で暗号化し、管理された経路で共有する前に保護します
  • フロントエンドとバックエンドの連携時に、API ペイロードを復号しながら IV、キー、モード、出力形式を照合します
  • バックエンドが Hex、Base64、Base64URL のどれで暗号文を返しているかを確認し、ブラウザ側で同じ形式を再現します
  • パスワードから PBKDF2 で AES キーを導出し、salt、反復回数、導出キー長が結果にどう影響するか確認します
  • AES-CBC、AES-GCM、AES-CTR の出力を並べて比較し、対称暗号モードの違いを学べます
  • キー、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 テストやトラブルシューティング用にすぐコピーできます

使い方

  1. 暗号化または復号を選び、AES-GCM、AES-CBC、AES-CTR のいずれかと必要なキー長を指定します
  2. Hex キーまたはパスワードを使います。パスワードモードでは、強いパスワードを入力すると PBKDF2 が AES キーを導出します
  3. 暗号文の形式を選びます。Hex、Base64、Base64URL のうち、暗号化側と復号側で同じ形式を使ってください
  4. 暗号化時は IV/salt を空のままにすると安全なランダム値を自動生成します。復号時は同じ IV/salt を貼り付けるか、パスワードモードのヘッダーから読み取ります
  5. 出力された暗号文または平文をコピーし、モード、キー長、IV、salt、形式を一緒に保管して再現できるようにします

よくある質問

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 の挙動を理解するのに向いています。

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 を使ってください。