公開鍵暗号方式 (public key encryption)
【コウカイカギ・アンゴウ・ホウシキ】
データ暗号化方式の1つ。公開鍵暗号方式では、発信元でのデータの暗号化と、受信先でのデータの復号化に異なる鍵(ビット列)を使用するのが大きな特徴である。この公開鍵暗号方式に対し、秘密鍵暗号方式では、暗号化と複合化の双方で同じ鍵を用いる。
公開鍵暗号方式で鍵を生成すると、「公開鍵」と「秘密鍵」という2種類の鍵が出来上がる。このうち秘密鍵は、それを生成したユーザーが安全な場所に保管しておき、他人にはいっさい公開しない。一方の公開鍵は、データの送信元となる可能性がある(自分に対してデータを送る可能性がある)相手に広く配布しておく。具体的には、電子メールに添付して相手に送付してもよいし、公開鍵を管理するセンターに預けて、誰もが参照できるようにしてもよい。そしてデータを送る際には、受信先が発行した公開鍵でデータを暗号化する。こうして暗号化されたデータを復号化するには、暗号化に使われた公開鍵に対応する秘密鍵が必要である。このため秘密鍵を持たない第三者にデータが傍受されたとしても、データを復号化することはできない。
この「公開鍵」と「秘密鍵」を生成方式には、いくつかの種類があるが、RivestとShamir、Adlemanによって提唱されたRSAアルゴリズムが有名である。このRSAでは、数百桁に及ぶ巨大な数の素数の積を用いて公開鍵と秘密鍵を生成する。このような素数から生成された一方の値から、他方を導き出すためには、巨大数の素因数分解が必要になる。この巨大数の素因数分解には(現在のところ)膨大な計算処理が必要で、一定の桁数以上の巨大数では、現在のコンピュータを使って現実的な時間内に答えを出すことは不可能である。このような特徴を使って公開鍵と秘密鍵のセットを生成するのがRSAである。
公開鍵暗号方式のもう1つの特徴としては、送受信するデータを安全に相手に送り届けるだけでなく、そのデータの発信者が、間違いなく本人であることを証明する「電子署名」としても利用できることがある。すでに述べたように、通常の暗号化では、受信先が発行した公開鍵でデータを暗号化するのだが、電子署名では、発信元が自分の秘密鍵で平文を暗号化して、相手に送る。これを受け取った相手は、その送信元が発行した公開鍵を使って復号化を行う。こうして正しく復号化が行えれば、それが本人の秘密鍵で暗号化されたことが証明され、すなわち、間違いなく本人が発信したものであることが証明される。
Copyright (C) 2000-2007 Digital Advantage Corp.