公開鍵暗号方式

公開鍵暗号方式の仕組み

公開鍵と秘密鍵を使用。Bは自分の公開鍵を公開して誰でも入手できるようにし、自分の秘密鍵は大切に保管。Bの公開鍵で暗号化したものはBの秘密鍵だけで復号できる。Aは入手したBの公開鍵で平文を暗号化してBに送信し、Bは自分の秘密鍵でそれを復号する

公開鍵暗号方式のメリット

・あらかじめ鍵を手渡しなどで受け渡しする必要がない
・鍵の管理が容易(Bが管理しなければならないのは自分の秘密鍵1個のみで済む)

公開鍵暗号方式のデメリット

暗号化、復号の処理に要する時間が、共通鍵暗号方式と比べて数百倍かかる

→そこで実際は、高速な処理を可能にするため、公開鍵暗号方式と共通鍵暗号方式を組み合わせて使用する

共通鍵暗号方式と公開鍵暗号方式の組み合わせの仕組み

送信者のAはまず、一時的に使用する共通鍵を生成。その共通鍵でメッセージを暗号化し、受信者のBの公開鍵を用いて共通鍵を暗号化する。暗号化したメッセージと共通鍵をBに送信。Bは自分の秘密鍵で共通鍵を復号し、その共通鍵でメッセージを復号する

「セッション鍵」とは

一時的に使用される共通鍵

代表的な公開鍵暗号方式の種類

・RSA
・DSA(DSS)
・楕円曲線暗号
・DH

RSA公開鍵暗号の性質

・秘密鍵で暗号化されたデータは、対応する公開鍵によってのみ正しく復号できる
・公開鍵で暗号化されたデータは、対応する秘密鍵によってのみ正しく復号できる

RSA公開鍵暗号をつかった認証の仕組み

AがBに対して秘密鍵の所有を証明したいとする。Bはあらかじめこの秘密鍵に対応する公開鍵を持っているとする。Bはまず誰にも知られないように乱数Nを生成し、これをAの公開鍵で暗号化してAに送り、元の値(N)を当てるよう要求する(チャレンジ)。Aは秘密鍵をつかって復号し、その値をBに送り返す(レスポンス)。Aが送り返してきた値がNと同じならば、Aが秘密鍵を所有していると確認できる