暗号化プレイグラウンド

AESとRSAの暗号化・復号をブラウザ内で完全に実験。鍵の生成、テキストの暗号化、処理の各ステップを確認できます。

このツールについて

暗号化プレイグラウンドは、Web Crypto APIを使用して、対称暗号と非対称暗号のアルゴリズムをブラウザ内で直接実験できるツールです。AES-GCM(認証付き暗号化、ほとんどのユースケースに推奨)、AES-CBC(古典的なブロック暗号モード)、RSA-OAEP(鍵交換や小さなペイロード用の非対称暗号)をサポートしています。

AESタブでは、128ビットまたは256ビットのランダムな鍵を生成し、平文を暗号化し、Base64エンコードされた暗号文を確認できます。初期化ベクトル(IV)は暗号化操作ごとに自動生成され、暗号文の先頭に付加されるため、結合された出力を同じ鍵と一緒に貼り付けるだけで復号できます。AES-GCMは機密性と完全性の両方を提供するため推奨されます。暗号文が改ざんされた場合、ゴミデータを出力するのではなく復号が失敗します。

RSAタブでは、2048ビットまたは4096ビットのRSA-OAEP鍵ペアを生成し、公開鍵で小さなメッセージを暗号化し、秘密鍵で復号できます。RSAは大量のデータの暗号化には適しておらず、通常は実際のペイロードを暗号化する対称鍵の暗号化に使用されます。ツールはPEM形式の公開鍵と秘密鍵を表示するため、その構造を学習できます。

すべての操作はステップバイステップのログを表示し、内部で何が起こっているか(鍵生成、IV作成、暗号化、エンコーディング)を説明するため、暗号技術を学ぶ開発者にとって有用な教育ツールです。データのハッシュが必要な場合はハッシュジェネレーターをお試しください。シンプルなテキスト難読化にはテキスト暗号化・復号ツールを、バイナリデータのテキストエンコーディングにはBase64エンコーダーが標準的な選択です。

すべての暗号操作はクライアントサイドで完全に実行されます。鍵、平文、暗号文がサーバーに送信されることは一切ありません。

使い方

  1. 実験したいアルゴリズムに応じてAESまたはRSAタブを選択します。
  2. AESの場合:モード(AES-GCM推奨)と鍵サイズ(128または256ビット)を選択し、Generate Keyをクリックしてランダムな鍵を生成します。
  3. テキストエリアに平文を入力し、Encryptをクリックします。暗号文(Base64、IV付き)とIVが下に表示されます。
  4. 復号するには、暗号文と鍵をDecryptセクションに貼り付けてDecryptをクリックします。元の平文が復元されます。
  5. RSAの場合:鍵サイズ(2048または4096ビット)を選択し、Generate Key Pairをクリックします。公開鍵と秘密鍵がPEM形式で表示されます。
  6. 平文(鍵サイズにより制限あり)を入力し、Encryptをクリックして公開鍵で暗号化します。暗号文をDecryptセクションに貼り付け、Decryptをクリックして秘密鍵でメッセージを復元します。
  7. 画面下部のOperation Logで暗号処理の各ステップをリアルタイムで確認できます。

よくある質問

データは安全ですか?

はい。すべての暗号化・復号操作はWeb Crypto APIを使用してブラウザ内で完全に実行されます。鍵、平文、暗号文がサーバーに送信されることはありません。ブラウザの開発者ツールでネットワーク活動を確認することで検証できます。

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

AES-GCM(ガロア/カウンターモード)は機密性と完全性の両方を提供する認証付き暗号化モードです。暗号文が改変された場合、復号はエラーで失敗します。AES-CBC(暗号ブロック連鎖)は機密性のみを提供し、改ざんを検出しません。ほとんどのアプリケーションではAES-GCMが推奨されます。

RSAの平文サイズが制限されるのはなぜですか?

SHA-256を使用するRSA-OAEPは、(鍵サイズのバイト数)マイナス66バイトのパディングオーバーヘッドより短いデータのみを暗号化できます。2048ビット鍵の場合は約190バイト、4096ビット鍵の場合は約446バイトです。RSAは対称鍵のような小さな値の暗号化用に設計されており、大きなメッセージ用ではありません。大きなデータにはAESを使用してください。

生成した鍵を自分のアプリケーションで使用できますか?

はい。AES鍵は生のhex形式でエクスポートされ、RSA鍵は標準PEM形式(公開鍵はSPKI、秘密鍵はPKCS8)でエクスポートされます。これらの標準形式をサポートする任意の暗号ライブラリにインポートできます。

初期化ベクトル(IV)はどうなりますか?

AES暗号化では、各操作ごとにランダムなIVが生成されます(GCMは12バイト、CBCは16バイト)。IVはBase64エンコード前に暗号文の先頭に付加されるため、結合された出力には復号に必要なすべてが含まれます。同じ鍵でIVを再利用しないでください。

AES-256はAES-128より大幅に強力ですか?

AES-128とAES-256の両方とも、現在の技術ではブルートフォース攻撃に対して安全とされています。AES-256はより大きなセキュリティマージンを提供し、一部のコンプライアンス基準(特定の政府分類など)で要求されています。ほとんどのアプリケーションではAES-128で十分ですが、AES-256は追加の安心感を提供します。

関連ツール