よく聞く3つの暗号方式
- 共通鍵暗号方式
- 公開鍵暗号方式
- ハイブリッド型暗号方式
を全然覚えられないのでGPTに壁打ちしながら整理した。
結論
覚えるためのミソは用語ではなく、数と特徴からわかる動きにあると思った。
共通鍵暗号方式
関係者間で共有して暗号復号に使われる。公開しない。
鍵の数は、共通のデータを使用する人の間だけで使われる。
作成される鍵の数は、nC2通り。
特徴は、処理が早いが盗られると覗き放題になる。
公開鍵暗号方式
受信者が暗号用、復号用鍵を作る。自分だけ復号用を持っている。
鍵の数は、2n通り。
特徴は、秘密鍵を受信者だけが持つので、盗聴されてもデータの復号はできない。
処理が遅い。
共通鍵と公開鍵比較
暗号方式 | 鍵の数 | 特徴 |
---|---|---|
共通鍵暗号方式 | nC2通り(ペアごとに異なる鍵が必要) | 処理が速いが、鍵が漏れると覗き放題になる。 |
公開鍵暗号方式 | 2n通り(各受信者に公開鍵と秘密鍵) | 秘密鍵を公開しないためセキュリティが強いが、処理が遅い。 |
ハイブリッド型方式
上記二つの良いところどり。
データの暗号復号には共通鍵を使い、共通鍵に公開鍵秘密鍵で暗号復号を行うことで安全性を高めている。
共通鍵を公開鍵で暗号化、秘密鍵で復号化
共通鍵は公開鍵暗号で暗号化されるため、安全に相手に送ることができる。
共通鍵で暗号化されたデータを復号化
データへの暗号復号を共通鍵で行い、高速に通信できる。公開鍵暗号方式の処理速度を補完している。
3つの暗号方式の比較
暗号方式 | 鍵の数 | 特徴 |
---|---|---|
共通鍵暗号方式 | nC2通り(ペアごとに鍵が必要) | 処理が速いが、鍵が漏れると覗き放題になる。 |
公開鍵暗号方式 | 2n通り(各ユーザーに公開鍵と秘密鍵) | 秘密鍵を公開しないためセキュリティが強いが、処理が遅い。 |
ハイブリッド型暗号方式 | 2n通り + 共通鍵1つ | 公開鍵暗号で共通鍵を安全に交換し、その後は共通鍵暗号で処理する。処理速度とセキュリティのバランスが良い。 |
まとめ
各暗号方式について、もともと名称でどうにか覚えようとしていたが、
データのやり取りの中で何がリスクになるのかを中心に据えつつ、作られる数がイメージとしてわかりやすく、覚えるために良い情報だと思った。
補足
いろいろ調べてみると、受信者と送信者を「人」として表現していたのは適切ではなかった。
実際にはk⑥エラの暗号化技術はクライアントとサーバー間の通信を安全にするために使われている。
例えば、HTTPS(HTTP + TLS)では、TLSがこの暗号化プロトコルに該当する。
TLSでは、最初に公開鍵暗号方式で共通鍵(セッション鍵)を安全に交換し、その後は共通鍵で高速にデータ通信を行う。
つまり、
共通鍵は「ユーザー単位」ではなく「セッション単位」で新しく作成される、クライアントとサーバーの通信を保護するための仕組み
というのが今回の理解だ。
いったん「理解しやすい形でまとめた」ということで、ここまでの整理としておく。