公開鍵暗号方式
公開鍵暗号方式(Public Key Cryptography)について
公開鍵暗号方式とは
公開鍵暗号方式とは、暗号化と復号化に別々の鍵(または手順)を用いる暗号方式です。
一対となる2種類の鍵を生成して、一方を「公開鍵」として暗号化の為の鍵を公開し、他方を「秘密鍵」として厳重に保管します。
データ送信者は公開鍵でデータを暗号化して暗号文を送信し、データ受信者は秘密鍵を用いて複合化します。
鍵配送問題への対応
公開鍵暗号方式では、公開鍵(暗号鍵)が第三者に知られても、暗号強度に影響を与えません。
これは鍵配送問題を考慮しなくてよいことを意味します。
公開鍵の生成数について
公開鍵と秘密鍵は数学的に関係付いており、一対(鍵ペア)を同時に生成します。
公開鍵はいくら複製しても、秘密鍵を適切に管理している限り暗号強度に影響を与えません。
つまり、公開鍵暗号方式では管理する暗号鍵の数は「通信相手(人数)×2」となります。
公開鍵暗号アルゴリズム
RSA方式
公開鍵暗号のアルゴリズムには「RSA」が標準(デファクトスタンダード)として用いられています。
RSA暗号方式の安全性は素因数分解の困難性に基づいています。
素因数分解は、鍵の大きさが十分に大きければ、解析にとてつもない時間が掛かるという特性があります。
ElGamal方式
ElGamal方式のアルゴリズムでは、離散対数問題の困難性に基づいています。
離散対数問題は、素因数分解同様に鍵の大きさが十分に大きければ、解析にとてつもない時間が掛かるという特性があります。
Rabin方式
Rabin方式のアルゴリズムでは、平方根計算の困難性に基づいています。
素因数分解同様にとてつもない時間が掛かるという特性があります。
楕円曲線暗号
楕円曲線暗号(Elliptic Curve Cryptography: ECC)とは、楕円曲線上の離散対数問題 (EC-DLP) を安全性の根拠とする暗号です。
公開鍵暗号方式の問題点
処理速度が遅い
公開鍵暗号方式は共通鍵暗号方式に比べて、処理速度が極めて遅いという問題があります。
ハイブリッド方式を利用する(共通鍵暗号方式を組み合わせる)ことで、暗号化処理を高速化する手法が一般的になっています。
認証における問題
公開鍵がまちがいなく通信相手から送られたものという証明が必要です。
認証を適切に行うことができなければ、man-in-the-middle攻撃やなりすましによる不正閲覧をされる危険性があります。