公開鍵暗号方式とは
公開鍵暗号方式とは、暗号化と復号にそれぞれ異なるペアとなる2つの鍵(公開鍵と秘密鍵)を使用する暗号方式です。誰にでも公開してよい「公開鍵」でデータを暗号化し、受け取った本人のみが厳重に管理している「秘密鍵」でしか復号できない仕組みになっています。共通鍵暗号方式の弱点であった「どうやって安全に鍵を渡すか」という問題を解決しました。デメリットとしては、鍵の作成や暗号化・復号の計算が複雑なため、共通鍵暗号方式に比べて処理速度が遅いことが挙げられます。代表的なアルゴリズムにRSAがあります。
具体例
受信者が、誰でもロック(暗号化)できるが開ける鍵が無い「南京錠(公開鍵)」をインターネット上に配ります。送信者はその南京錠でデータをロックして送ります。届いたデータを、受信者は自分だけが持つ「本物の鍵(秘密鍵)」で開けて中身を読みます。
[平文データ] --(受信者の「公開鍵」で暗号化)--> [暗号データ] --(受信者の「秘密鍵」で復号)--> [平文データ]
(公開鍵は誰に盗まれても、秘密鍵がないと復号できないため安全)
もう少し詳しく
公開鍵暗号方式の代表的なアルゴリズムであるRSAは、「桁数の大きな合成数を素因数分解することが非常に困難である」という数学的な性質を安全性の根拠にしています。公開鍵と秘密鍵は数学的に対になっており、公開鍵で暗号化したデータはペアとなる秘密鍵でしか復号できません。この仕組みにより、事前に鍵を秘密裏に受け渡す必要がなくなり、共通鍵暗号方式が抱えていた鍵配送問題を解決しています。また、鍵の本数はn人が通信する場合でも「1人につき公開鍵と秘密鍵の1組(2本)」で済むため、共通鍵暗号方式に比べて鍵管理が大幅に簡単になります。
試験でのポイント
試験では「暗号化には受信者の公開鍵を使う」「復号には受信者自身の秘密鍵を使う」という鍵の使い分けを正確に問う問題が頻出します。公開鍵は誰に知られても問題ありませんが、秘密鍵は本人だけが厳重に管理する必要がある点も重要な出題ポイントです。また、公開鍵暗号方式は処理速度が遅いため、大容量データの暗号化そのものには使わず、共通鍵の受け渡しやデジタル署名に利用される、という実務上の使い分け(ハイブリッド暗号)もあわせて問われます。
関連する用語
処理が高速な「共通鍵暗号方式」、両者を組み合わせた「ハイブリッド暗号」、公開鍵暗号方式を応用した「デジタル署名」、代表的なアルゴリズムの「RSA」などがあります。