AES暗号化 / 復号
テキストとパスフレーズを貼り付けると、選択したPHP OpenSSL暗号方式でAES暗号化または復号をすばやく実行できます。AESはNISTがFIPS 197で標準化した共通鍵ブロック暗号で、TLS、WPA2、VPN、ディスク暗号化など多くのシステムで使われます。ただし、このページは低リスクのテキスト向けの簡易ツールであり、監査済みの秘密保管庫ではありません。機密ファイルや長期保存する秘密には、age、GnuPG、7-Zipなどのオフラインツールを使ってください。
AESでテキストを暗号化する方法
-
1
OpenSSL暗号方式を選ぶ
現在の選択肢にはCBC、CTR、GCMの各バリアントがあります。CBCとCTRの出力は認証されず、このツールはGCM認証タグを保存または検証しません。
-
2
パスフレーズを入力
パスフレーズはAES鍵を作るためにSHA-256で1回ハッシュされます。PBKDF2、salt、Argon2、作業係数はないため、長くランダムなパスフレーズを使ってください。
-
3
低リスクのテキストを貼り付ける
これはサーバー側のLivewire/PHP OpenSSLユーティリティです。このサイトに送信したくないパスワード、本番鍵、私的文書、秘密情報は貼り付けないでください。
-
4
Base64結果をコピー
暗号化時にはランダムなIVを作成し、未加工の暗号文の前に付けてから、結合したバイト列をBase64でエンコードします。復号には同じ暗号方式とパスフレーズが必要です。
このツールが実際に出力するもの
この実装はPHP OpenSSLを使います。暗号化時にはパスフレーズをSHA-256でハッシュし、選択した暗号方式に必要な長さのランダムなIVを生成し、テキストを暗号化して次を返します。
Base64(IV || 暗号文)
出力には、salt、PBKDF2パラメータ、HMAC、GCM認証タグは含まれません。Web Crypto、age、GnuPG、OpenSSLコマンドラインの一般的なレシピ、7-Zipが作る形式とは互換性がありません。
AESオプションの位置づけ
AESは固定128ビット(16バイト)のブロックサイズを持ち、標準の鍵長は128、192、256ビットです。ここで重要な安全性の違いは鍵長だけではなく、暗号化されたメッセージが認証されるかどうかです。
| 暗号方式オプション | このツールで知っておくこと |
|---|---|
| AES-128-CBC / AES-192-CBC / AES-256-CBC | ランダムIVとPKCS#7パディングを使う一般的なブロックモードです。改ざん検出にはHMAC-SHA-256などの別MACが必要です。 |
| AES-256-CTR | AESをストリーム風のモードとして使います。別途認証が必要で、同じ鍵で同じIV/counterを再利用してはいけません。 |
| AES-128-GCM / AES-256-GCM | GCMは通常AEADモードですが、認証タグを保存して検証する場合に限ります。このツールの出力にはそのタグがないため、認証付き暗号として信頼しないでください。 |
セキュリティ上の注意
OWASPの暗号化ストレージガイダンスでは、可能な場合は認証付き暗号、または暗号化と別MACの組み合わせが推奨されています。このツールでは次を意識してください。
- これは共通鍵暗号です - 同じパスフレーズで復号します。パスフレーズは暗号文とは別の経路で共有してください。
- 弱いパスフレーズはここでは弱い鍵になります - SHA-256は高速でsaltもないため、出力を入手した攻撃者は候補をすばやく試せます。
- CBCとCTRには認証が必要です - HMACなどのMACがなければ、攻撃者が暗号文を改ざんしても検出できない場合があります。
- 同じ鍵でIVやnonceを再利用しないでください - このツールは暗号化時に新しいランダムIVを作りますが、外部から貼り付けるデータも同じ規則に従う必要があります。
- 本当の秘密には監査済みツールを使ってください - age、GnuPG、7-Zipはファイル形式、メタデータ、認証をより慎重に扱います。
よくある質問
現在のコンポーネントはパスフレーズをSHA-256でハッシュし、そのバイト列をOpenSSLの鍵材料として使います。PBKDF2、salt、scrypt、Argon2は使わないため、短いパスフレーズや使い回しは危険です。
いいえ。CBCとCTRにはHMAC-SHA-256などの別MACが必要です。GCMは通常AEAD認証を提供しますが、このツールはBase64出力内にGCMタグを保存または検証しません。
LivewireアクションがPHP OpenSSLを実行する際、サイトのサーバー上で処理されます。ブラウザ内だけで動くWeb Cryptoツールではないため、価値の高い秘密、秘密鍵、機密文書は貼り付けないでください。
Base64結果にはランダムIVと、その後ろに未加工の暗号文が入ります。CBCパディングでバイトが増えることがあり、Base64はバイナリデータを約3分の1大きくします。保存形式にsaltや認証タグはありません。
このツールはテキストのみを扱い、低リスクの短い内容に限って使うのが無難です。ファイルや重要な秘密には、age、GnuPG、7-Zipなど監査済みのオフライン暗号化ツールを使ってください。
関連ツール
A1Z26暗号エンコーダー
A1Z26暗号(A=1、B=2、... Z=26)でテキストをエンコード、または数字列を文字へデコードできます。区切り文字も選べます。
Atbash暗号エンコーダー
A-ZをZ-Aに対応させるヘブライ系の換字式暗号、Atbashでテキストをエンコードまたはデコードできます。同じ操作で暗号化と復号ができます。
文字数・単語数カウンター
エッセイ、投稿、キャプション、メタディスクリプション向けに、単語数・文字数・文数・段落数を、読了時間、音読時間、キーワード密度、Flesch可読性スコアとともにカウントします。
上昇星座計算ツール
生年月日と出生時刻から上昇星座を推定します。2時間ごとの簡易方式で、完全な出生ホロスコープではありません。
逆引きDNS検索
IPv4またはIPv6アドレスのPTRレコードを検索します。メールサーバーの調査、ログ分析、迷惑メールフィルターの確認に役立ちます。
GIFメーカー
連番画像や短い動画をアニメーションGIFに変換します。書き出し前にフレームレート、ループ回数、サイズを調整できます。