Web教材一覧情報倫理・セキュリティ

公開鍵暗号方式

キーワード

公開鍵暗号方式、RSA、公開鍵、秘密鍵


公開鍵暗号方式とは

奇妙なことですが,ドアを閉める鍵と開く鍵が全く異なる鍵(ビット列)にすることができる数学的な方法(後述のRSA)が確立しました。
 ドアを閉めるのは誰に閉められても困りませんから,その鍵は公開してもかまいません。これを公開鍵といいます。一方、ドアを開く鍵は秘密にする必要があります。これを秘密鍵といいます。
 このように、1対の鍵のうち一方を公開鍵として公開できるので、この方式を公開鍵暗号方式といいます。公開鍵暗号方式は共通鍵暗号方式がもつ「鍵の送付」「鍵の管理」の欠点をカバーしています。

公開鍵暗号方式による暗号メールの送受信

公開鍵暗号方式

公開鍵暗号方式で送信者Aが受信者Bに暗号文を送るときには、次のようになります。
  ・送信者は、Bの公開鍵で電文を暗号化する。
     Bの公開鍵は公開してある。
     それで、誰でもBに暗号文を送ることができる。
  ・受信者BはBの秘密鍵で復号する。
     Bの秘密鍵は、Bだけがもっている。
     第三者が電文を見ても、復号できない。

公開鍵暗号方式の特徴

公開鍵暗号方式は、共通鍵暗号方式の欠点である「鍵の送付」「鍵の管理」を解決しています。

しかし、共通鍵暗号方式にくらべて暗号化や復号に時間がかかる欠点があります。長文を対象にするのは適していません。それで実際には、この二つの方式を巧みに組み合わせた方式が広く使われています(→ ハイブリッド暗号方式)。

RSA:公開鍵暗号方式の理論

公開鍵暗号方式の代表的なものにRSA(Rivest Shamir Adleman:開発者3人の名前)があります。
 RSAは,「素数と素数の掛け算は簡単だが、その逆の素因数分解は難しい」という数学的な一方向性に基づいています。数百桁の数の素数の積を用いて公開鍵と秘密鍵を生成するのですが,このような素数から生成された一方の値から他方を求めるには巨大数の素因数分解をすることになります。それには膨大な計算が必要で、現在のコンピュータを使って現実的な時間内に答えを出すことは不可能です(参照:「公開鍵暗号方式の原理」)。
 なお,最近では,楕円曲線暗号という方式が注目されています。

暗号理論は、アルゴリズムの計算量にコンピュータ性能が追い付かないことに基づいています。鍵の長さ(ビット数)を大にすれば計算量は増大しますが、理論的には同じことです。
 将来のコンピュータとして量子コンピュータが注目されています。これが発展すると現在のコンピュータが数百年かかる計算を数秒で計算してしまうといわれ,現在の公開鍵暗号方式が役立たなくなるともいわれています。


本シリーズの目次へ