公開鍵暗号方式とは

公開鍵暗号方式とは、暗号化と復号に「ペアとなる異なる2つの鍵」を使用する暗号化の手法です。一方の鍵は、誰にでも教えてよい「公開鍵(こうかいかぎ)」で、もう一方は本人のみが厳重に管理する「秘密鍵(ひみつき)」です。公開鍵で暗号化したデータは、対になる秘密鍵でしか復号できません。この方式の最大のメリットは、あらかじめ公開鍵をインターネット上にばらまいておいてもセキュリティ上の問題がなく、共通鍵暗号方式の課題であった「鍵を安全に相手に渡す難しさ」を解決できる点にあります。
具体例
南京錠に例えることができます。受信者である花子さんは、鍵が開いた状態の南京錠(公開鍵)を太郎さんに送ります(誰に盗まれても問題ありません)。太郎さんは送る手紙を箱に入れ、その南京錠をカチッと閉めます(暗号化)。閉まった南京錠を開けるための専用の鍵(秘密鍵)は、花子さんだけが手元に持っています。そのため、輸送中に第三者が箱を盗んでも開けることはできず、無事に受け取った花子さんだけが手元の鍵で開けて手紙を読むことができます。
もう少し詳しく
公開鍵暗号方式(非対称鍵暗号方式)は、1970年代に考案された画期的な暗号技術です。代表的なアルゴリズムには、巨大な素数の素因数分解の困難さを安全性の根拠とする「RSA」や、楕円曲線上の離散対数問題を利用した「ECC(楕円曲線暗号)」があります。公開鍵暗号方式は、共通鍵暗号方式の弱点を以下のように解決します。 1. 鍵配送問題の解決:データを送る側の太郎さんは、受信側の花子さんがインターネット上に公開している「公開鍵」を使って暗号化します。公開鍵は誰に知られても問題がないため、鍵を安全に届ける手間(鍵配送問題)が発生しません。 2. 鍵管理の削減:各通信者は、自分の「公開鍵」と「秘密鍵」の1ペア(2個)だけを管理すればよく、通信相手がどれだけ増えても、追加で鍵を増やす必要がありません。 ただし、非常に複雑な数学的計算を伴うため、共通鍵暗号方式に比べて処理速度が数百倍から数千倍も遅いというデメリットがあります。このため実務では、データ本体は高速な共通鍵で暗号化し、その共通鍵だけを公開鍵で暗号化して送る「ハイブリッド暗号方式」が広く用いられています。
試験でのポイント
試験では、「誰のどの鍵を使って暗号化し、誰のどの鍵を使って復号するか」というルールが極めて頻繁に問われます。基本ルールは「受信者の公開鍵で暗号化し、受信者の秘密鍵で復号する」です。これを「送信者の鍵」と間違えさせる引っ掛け問題が定番なので、南京錠の例(箱を閉めるための南京錠=受信者の公開鍵、開けるための鍵=受信者の秘密鍵)を頭に描いて冷静に判断できるようにしてください。また、代表的なアルゴリズムである「RSA」の名前、および処理速度が遅いというデメリットを補うために、共通鍵方式と公開鍵方式を組み合わせた「ハイブリッド暗号」が用いられるという点もしっかり押さえましょう。
関連する用語
関連する用語には、素因数分解を応用した代表的アルゴリズム「RSA」、二つの暗号方式を組み合わせた「ハイブリッド暗号」、そして公開鍵が本物であることを証明する「デジタル証明書(SSL/TLS証明書)」があります。これらを学ぶことで、インターネットでの安全な取引の基盤が理解できます。