ファイナンス、情報通信技術のスキル・アグリゲーション・サイト
暗号化のブラックボックスを開ける。
共通鍵暗号 AES と公開鍵暗号 RSA の動作原理を、ブラウザ上で実際に動かして理解します。
HTTPS・パスワード保護・電子署名など、現代のセキュリティを支える2つの暗号方式を体験するデモツールです。 AES(共通鍵暗号)はブラウザ標準の Web Crypto API を使った本物の暗号化を、 RSA(公開鍵暗号)は教育用の小鍵長モデルで鍵生成の数学的過程をステップ表示します。
すべての処理はブラウザ内で完結し、入力したテキストが外部に送信されることはありません。
Web Crypto API による実際の AES-GCM 暗号化・復号を体験
p・q・n・e・d の計算過程をステップごとに表示
平文・暗号文のバイト列をHEX形式で並べて比較
入力テキストは外部送信なし。安全にお試しいただけます
暗号化したい任意の文字列。日本語・英数字・記号を使用可。長さは任意です。
128 / 192 / 256 bit から選択。鍵長が長いほど安全性が高く、現在の標準は 256bit です。
暗号化のたびにランダム生成。IV(初期化ベクトル)により同じ平文でも毎回異なる暗号文になります。
HEX は16進数表記、Base64 は実際の送信時に使われる形式。復号には暗号文と IV の両方が必要です。
平文と暗号文のバイトをセルで表示。暗号化によってバイト列が完全に変わることが確認できます。
RSA 鍵生成の基礎となる2つの素数。プリセットまたは手動入力。実用RSAでは数百桁の素数を使用します。
RSA は数値を暗号化します。n(= p × q) より小さい整数を入力します。
n, φ(n), e, d の計算過程を順番に表示。各変数の数学的意味が確認できます。
公開鍵:(n, e) / 秘密鍵:(n, d)。公開鍵は公開してよく、秘密鍵は自分だけが持ちます。
暗号化:C = M^e mod n / 復号:M = C^d mod n の演算を明示します。
| 項目 | AES(共通鍵暗号) | RSA(公開鍵暗号) |
|---|---|---|
| 鍵の数 | 1つ(送受信者が同じ鍵を共有) | 2つ(公開鍵で暗号化・秘密鍵で復号) |
| 処理速度 | 高速(大量データ向き) | 低速(少量データ向き) |
| 鍵配送問題 | あり(鍵をどう安全に渡すか) | なし(公開鍵は公開してよい) |
| 安全性の根拠 | 鍵なしの総当たり困難性 | 素因数分解の困難性 |
| 主な用途 | ファイル暗号化・通信の暗号化 | 鍵交換・電子署名・認証 |
| TLS での役割 | セッションデータの暗号化 | 共通鍵の安全な受け渡し |
AES はブロック暗号です。平文を 16バイト(128bit)のブロックに分割し、各ブロックに対して以下の変換を繰り返します(256bit 鍵では14ラウンド)。
RSA の安全性は「大きな数の素因数分解が現実的な時間でできない」ことに基づいています。
| 場面 | AES の役割 | RSA の役割 |
|---|---|---|
| HTTPS(TLS) | セッションデータの暗号化 | サーバー認証・共通鍵の交換 |
| 電子メール(S/MIME) | メール本文の暗号化 | 送信者の電子署名・鍵交換 |
| ファイル暗号化 | ファイル内容の暗号化 | AES 鍵の暗号化・保護 |
| SSH | 通信データの暗号化 | ホスト認証・ユーザー認証 |
| パスワードマネージャー | 保存パスワードの暗号化 | マスター鍵の保護 |