データを暗号化してやり取りする暗号通信の基本
盗聴に対する対策は暗号化である。
暗号通信 送信者と受信者しかわからない暗号文でやり取りを行う。
送信者は、平文を”鍵1”を使って暗号化した暗号文を送る。
受信者は、”鍵2”を使って元の平文に復号する。
暗号化と復号で同じ鍵を使う共通鍵暗号方式
共通鍵暗号方式 ”鍵1”と”鍵2”に同じ鍵をつかう、暗号化と復号に同じ鍵(共通鍵)(対称鍵暗号方式、秘密鍵暗号方式)
鍵を通信相手に安全に届けるために、鍵自体を暗号化して送信、配送が難しい。そして、通信相手が多くなればなるほど鍵の管理が困難。
鍵数 = N*(N-1)/2
共通鍵暗号方式 DES 2⁵⁶パターン
AES 2²⁵⁶パターン ⇒ 盗聴リスクが少ない
公開鍵と秘密鍵のペア鍵を使う公開鍵暗号方式
暗号化と復号に異なる鍵をつかう、公開鍵と秘密鍵で一組となるペア鍵を使い、暗号化と復号を行う暗号方式を公開鍵暗号方式という。
送信者が公開鍵を入手して、その公開鍵を使って平文を暗号化して送信する。受信者は、暗号文を自分だけが持つ秘密鍵で復号する。
公開鍵暗号方式 鍵個数 2*N
公開鍵暗号方式は共通鍵暗号方式より、鍵の管理が容易。
代表的な暗号方式は
RSA 桁数が大きな合成数の分解計算が困難である。
楕円曲線暗号 楕円曲線の演算
エルガマル暗号 離散対数
両方の方式の組み合わせ ハイブリッド方式
速度と強度が両立
練習問題
暗号化と復号に同じ鍵を利用する暗号方式を共通鍵暗号方式。
公開鍵と秘密鍵のペア鍵を使う暗号方式を公開鍵暗号方式。
AESはNISTが公募した共通鍵暗号方式。
RSAは素因数分解の計算の困難さを利用した公開鍵暗号方式。
通信の開始時に共通鍵を公開鍵暗号方式で暗号化して相手に送り、データの暗号化を共通鍵暗号方式で行う方式をハイブリッド方式。