
テキスト暗号化・復号ツール — ブラウザでAES-256-GCM暗号化を使う
📷 Pixabay from Pexels / Pexelsテキスト暗号化・復号ツール — ブラウザでAES-256-GCM暗号化を使う
AES-256-GCM方式でテキストをブラウザ内で暗号化・復号するしくみを解説。ゼロ知識設計、パスワードベースの鍵導出、実際の使い方まで詳しく紹介します。
パスワードやAPIキーをテキストファイルに保存したい、でもセキュリティが心配——そういう経験はないでしょうか。クラウドストレージにメモを保存したいけど、内容を他人に見られたくない場合もあります。
テキスト暗号化ツールは、そのような場面のために存在します。ブラウザだけで動作し、業界標準のAES-256-GCM暗号化を使って、テキストを安全に暗号化・復号できます。
AES-256-GCMとは何か
**AES(Advanced Encryption Standard)**は、2001年にNISTが標準として採用した対称鍵暗号化アルゴリズムです。「対称鍵」というのは、暗号化と復号に同じ鍵を使うことを意味します。
256は鍵の長さ(ビット数)です。256ビットの鍵には2の256乗通りの組み合わせがあります——この数は宇宙の原子の数よりもはるかに大きく、総当たり攻撃は現実的に不可能です。
**GCM(Galois/Counter Mode)**は動作モードです。単純な暗号化だけでなく、「認証付き暗号化」を提供します。つまり:
- データが正しく復号されたかどうかを検証できる
- 暗号文が途中で改ざんされた場合に検出できる
- データの機密性と完全性を同時に保証する
AES-256-GCMは米国政府の機密情報の暗号化にも使われており、現在利用可能な最も信頼性の高い暗号化方式のひとつです。
ブラウザで暗号化する仕組み
テキスト暗号化・復号ツールは、Web Crypto APIを使用しています。これはモダンブラウザに内蔵された暗号化機能で、外部ライブラリは不要です。
処理の流れ:
1. パスワードから鍵を生成(PBKDF2)
直接パスワードを鍵として使うのではなく、**PBKDF2(Password-Based Key Derivation Function 2)**でパスワードから256ビットの暗号化鍵を導出します。この処理は計算コストが高く設計されており、辞書攻撃やブルートフォース攻撃に対する耐性を高めます。
2. ランダムなソルトとIVを生成
毎回の暗号化で、ランダムなソルト(鍵導出に使用)とIV(初期化ベクトル)(暗号化に使用)を生成します。同じパスワードと同じテキストを使っても、毎回異なる暗号文が生成されます。これにより、パターン分析による攻撃を防ぎます。
3. AES-256-GCMで暗号化
生成した鍵でテキストを暗号化し、認証タグを付加します。
4. Base64形式で出力
ソルト、IV、認証タグ、暗号文をすべてBase64でエンコードした文字列として出力します。この文字列だけがあれば、正しいパスワードで復号できます。
重要なポイント:すべての処理がブラウザ内で完結します。テキストもパスワードも、一切ネットワークに出ません。
実際の使い方
暗号化
- テキスト暗号化・復号ツールを開く
- 「暗号化」タブを選択
- 暗号化したいテキストを入力欄に貼り付ける
- パスワードを設定する(後で復号に必要なので、必ず安全に保管)
- 「暗号化」ボタンをクリック
- 出力されたBase64文字列をコピーして、保存したい場所に貼り付ける
復号
- 「復号」タブを選択
- 暗号化されたBase64文字列を貼り付ける
- 暗号化時に使ったパスワードを入力
- 「復号」ボタンをクリック
- 元のテキストが表示される
実用的な使用例
APIキーのバックアップ
重要なAPIキーやシークレットをプレーンテキストでバックアップするのは危険です。暗号化してからクラウドストレージや外付けHDDに保存すれば、万一ファイルにアクセスされても内容は読めません。
暗号化前: sk-proj-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
暗号化後: U2FsdGVkX1...(長いBase64文字列)
設定ファイルの機密情報
開発プロジェクトで、データベースのパスワードや秘密鍵をバージョン管理に入れたい場合、暗号化テキストとしてコミットする方法があります。実際の値は別途管理します。(より本格的な用途にはHashiCorp VaultやAWS Secrets Managerなどの専用ツールを検討してください)
個人的な機密メモ
日記や個人情報など、クラウドサービスに保存したいが他人に見られたくないテキスト。暗号化してからEvernote、Notionなどに貼り付ければ、サービス側のデータ漏洩があっても内容は保護されます。
セキュリティ上の注意点
パスワードの強さが最重要
暗号化アルゴリズム自体は非常に強力ですが、弱いパスワードを使うとその強さは意味がなくなります。123456やpasswordのようなパスワードは辞書攻撃ですぐに破られます。
良いパスワードの特徴:
- 16文字以上
- 大文字・小文字・数字・記号を含む
- 辞書に載っている単語を使わない
- このツール専用の新しいパスワード
パスワードの管理
暗号化テキストとパスワードを同じ場所に保管するのは、金庫の隣に鍵を置くようなものです。パスワードは別の安全な方法(パスワードマネージャーなど)で管理してください。
バックアップの重要性
パスワードを忘れた場合、暗号化されたデータを取り出す方法はありません。重要なデータを暗号化するなら、パスワードのバックアップも必ず取ってください。
このツールが向かない用途
- ファイルの暗号化 — テキスト専用です。バイナリファイルには別のツールが必要
- 共有サービスでの長期保管 — より本格的な用途にはGPG、VeraCryptなどを検討
- 組織内での秘密情報管理 — エンタープライズ向けには専用のシークレット管理ツールを使用
関連ツール
パスワードジェネレーター — 暗号化に使う強力なパスワードを生成できます。
パスワード強度チェッカー — 使おうとしているパスワードが十分強いか確認できます。
Base64エンコーダー — 暗号化出力はBase64形式です。Base64の仕組みを理解したい場合に。
まとめ
テキスト暗号化・復号ツールは、日常的な機密テキストの保護に実用的なソリューションを提供します。AES-256-GCMは業界標準の暗号化方式であり、ブラウザ内処理によりデータがサーバーに送られることはありません。
重要なのはパスワード管理です。強いパスワードを使い、別の安全な場所に保管してください。テキスト暗号化・復号ツールは暗号化の仕組みを担当しますが、セキュリティの最後の砦はパスワードです。