Hash & Crypto Helpers

AES暗号化・復号鍵・nonce・タグのバイトを照合

16、24、32バイトの生の鍵を使用します。通常の暗号化では毎回新しいnonceを作り、復号には元のタグとAADが必要です。

AES暗号化・復号

平文

復号した平文

本文と鍵はこのページのメモリーだけで処理し、送信やブラウザーストレージへの保存は行いません。

設定

モード: AES-GCM

入力は最大1 MiB、AADは64 KiB。鍵は16/24/32バイト、nonceは12バイト、タグは16バイト。

生の鍵を入力してください。空の平文も暗号化できます。

APIの暗号文が相手の実装と一致しないとき、AES暗号化・復号では鍵の見た目より実際のバイト列が重要です。このページではnonceとタグも独立して確認できます。

AES暗号化・復号は一件のテストデータを対象にします。パスフレーズから鍵を勝手に導出せず、サービス独自のsalt付きコンテナーも解釈しません。双方の方式がAES-GCMであることを先に確かめてください。

AES暗号化・復号で分かること

暗号文だけでは再現できない条件を可視化します。

同じ平文でもnonceで変わる

AES暗号化・復号の通常の暗号化は毎回12バイトのnonceを新規生成します。鍵と平文が同じでも暗号文と認証タグは変化し、各値を別々に確認できます。

同じメッセージと鍵から、異なるnonceの色付きブロックを通って二つの暗号文と認証印が生まれる図。

タグの改変は平文を止める

タグまたはAADが一つでも違うと認証復号は失敗します。AES暗号化・復号は未認証の途中結果を、読める平文として見せません。

改変された認証印が閉じた検証ゲートで拒まれ、先に平文が表示されない図。

比較前に揃える三つの値

01

鍵をバイトで合わせる

Hexの32文字は16バイトです。同じ文字を単なる文章として扱うと別の鍵になります。鍵はHexか標準Base64を選び、復号後の長さを確認してください。

  • パスフレーズはそのまま生の鍵になりません。
02

nonceとAADを確認する

暗号化は既定で毎回ランダムなnonceを生成します。手動nonceは既知のベクトルを再現するときだけ使用し、復号時は元のnonceと同じAADを入力します。

  • 入力や符号化を変更すると古い結果はコピーできなくなります。
03

既知解と照合する

NISTの試験ベクトルをプレビュー後に適用すると、暗号文とタグの両方を比較できます。認証失敗から、どのフィールドが間違っているかまで断定しません。

  • Ctrl/Cmd+Enterで現在の方向を実行できます。

生の鍵と独立した認証フィールド

AES-128/192/256の生の鍵

鍵の長さをHexまたはBase64の復号後に判定し、ゼロ埋めも切り詰めもしません。

符号化を明示

平文はUTF-8かHex、暗号文・nonce・タグはHexかBase64。AES-GCM復号で各APIのフィールドと照合できます。

NISTの既知解テスト

NISTのAES暗号化テスト用公開ベクトルで暗号文とタグを照合します。AES-256-GCM暗号化を試すときは自分の32バイト鍵と対応する既知値を用意してください。

対応範囲とエラーの意味

対応はAES-GCMのみ
AES-CBCやECB、独自の鍵導出やパスワード封包は扱いません。互換性の比較は同じ方式とデータ形式を確認してから行います。
nonceとタグは固定長
nonceは12バイト、タグは16バイトです。同じ鍵で手動nonceを再利用しないでください。タグがない暗号文は復号できません。
入力を推測しない
Hexの空白・0x接頭辞・奇数桁を拒否します。Base64URLも自動判別しません。認証済みの平文が無効なUTF-8なら正確なHexを返します。
一件の試験に限定
入力は復号後1MiB、AADは64KiBまで。AES暗号化・復号の成功は、その場のバイト計算を示すだけで運用全体の安全性を保証しません。

AES暗号化・復号のよくある質問

AES-GCMとAES-CBCの違いは何ですか?

GCMは暗号文とともに認証タグを検証します。このページはGCMだけを実行し、CBCやそのパディング設定は提供しません。

パスフレーズが間違っている場合はどうなりますか?

このページはパスフレーズを受け取らず、生の鍵を使います。鍵が違う場合、GCMの認証に失敗し、平文は出ません。

この結果をOpenSSLなど他のツールで復号できますか?

相手側が同じAES-GCM、鍵、nonce、AAD、タグ長とバイト順を使うなら可能です。サイト独自のsalt付き形式は自動で変換しません。

鍵や平文はサーバーに送信されますか?

このページの計算はブラウザーのWeb Cryptoで行い、入力をサーバーへ送らず保存もしません。離れる前に必要な結果だけ自分で記録してください。

AESのIVは何バイト必要ですか?

このツールはGCMのnonceとして12バイトを厳密に要求します。復号では暗号化時の同じnonceが必要です。

解決しませんでしたか?

AES暗号化・復号を試す

まず公開されたNISTベクトルで形式を確認し、その後に自分の試験値へ置き換えてください。AES暗号化・復号は暗号文、nonce、タグを別々に示します。