公開鍵
公開鍵とは
公開鍵とは、公開鍵基盤(PKI)において第三者に公開される鍵です。公開鍵暗号方式では、公開鍵は対応する秘密鍵と対になっています。公開鍵は広く共有されますが、秘密鍵は所有者が機密として保持する必要があります。
公開鍵暗号が登場する以前は、共通鍵暗号が広く使用されていました。この方式では、暗号化と復号に同じ鍵を使用し、安全な通信を実現するために通信当事者間で鍵を共有していました。しかし、共有の過程で鍵を傍受されると、暗号の安全性が損なわれるおそれがありました。この問題に対処するために開発されたのが、公開鍵暗号です。
公開鍵暗号方式では、鍵の所有者がまず通信相手と公開鍵を共有します。通信相手はこの公開鍵を使用してメッセージやデータを暗号化し、暗号化したメッセージを鍵の所有者に送信します。鍵の所有者は、対応する秘密鍵を使用してメッセージを復号します。秘密鍵が通信経路上で送信されることはないため、傍受されるリスクが大幅に低減され、セキュリティが向上します。
現在、最も広く使用されている公開鍵暗号方式はRSAアルゴリズムです。RSAでは対になった鍵を使用し、一方の鍵(公開鍵など)で暗号化したデータは、もう一方の鍵(秘密鍵など)でのみ復号できます。その逆も同様です。この仕組みにより、公開鍵でデータを暗号化して秘密鍵で復号する、または秘密鍵でデータを暗号化して公開鍵で復号するなど、柔軟な用途に対応できます。
後者の特性は、デジタル署名に利用されます。特定の公開鍵で復号できる文書は、対応する秘密鍵で暗号化されたものであり、その秘密鍵の所有者が作成したことを証明します。ただし、RSAの公開鍵と秘密鍵は対称ではない点に注意が必要です。対応する秘密鍵から公開鍵を生成することはできますが、公開鍵から秘密鍵を生成することは、計算量の観点から現実的ではありません。RSAのセキュリティは、大きな数を素因数分解することの難しさに依存しています。セキュリティを維持するには、コンピューティング能力の向上や新たな復号アルゴリズムが登場する可能性に対応できるよう、RSA鍵を十分に長くする必要があります。継続的なセキュリティを確保するため、鍵長とアルゴリズムは時間の経過とともに定期的に更新されます。
