公開鍵暗号にはさまざまな方式がある。ここでは典型的な公開鍵暗号方式であるRSA暗号方式を説明する。
この方式の安全性は素因数分解の困難性に基づいている
物流
剣道
理学療法
建築学
救急医学
東海地方
結膜炎
有機化学
糖尿病
エックス線
湯・群馬
冠婚マナー集
玉露百科
楽しいアロマ
日本の音楽
皮膚と体毛
コーヒーで一息
循環器事典
さくら咲く
こどもの歌
きな素数 p, q が与えられたとき、その積 n = pq を計算することは容易である。しかし逆に、2つの大きな素数の積であるような自然数 n が与えられたとき、n = pq と素因数分解することは難しい。例えばn=21のときp=7,q=3を求めるのは容易だが、鍵の大きさ(すなわちp, q のビット数)が十分に大きければ、素因数分解にはとてつもない時間が掛かる。
暗号化には n を、復号には p と q を必要とするようなうまい仕組みを作っておく。そして、n を公開鍵として公開する。傍受者は n から p,q を割り出そうとするが、これは時間が掛かりすぎて現実的でない。
もちろん、根気強く分解を試みればいつかは復号に成功するわけである。しかし、一般市民の個人的な通信程度であれば、解読に数年を要する規模の暗号化を施しておけば、それ以上の手間暇を掛けて解読しようとする者はまずいない。これは、事実上秘密が守られていると言える。
軍事用暗号の場合、専用のコンピュータで専門のプログラムを走らせても解読には数億年?数兆年を要するように設計されている。これは、事実上解読不可能と言ってよい。
実際の使われ方 [編集]
一般的に、公開鍵暗号は共通鍵暗号よりも暗号化、復号に時間がかかる。そのため、実際の運用では、データの暗号化には「その場限りの共通鍵」を使用し、その共通鍵の配送のみを公開鍵暗号で行う方式がとられることが多い。
また、公開鍵暗号はデジタル署名のために利用されることも多い。署名のような認証機能を提供できることが公開鍵暗号の最大の特長であるとも言える。
公開鍵暗号を初めて実現したのがRSA暗号であり、RSA暗号はデジタル署名が可能な方式でもある。したがって、RSA暗号は公開鍵暗号として、実際によく利用されている。