秘密鍵
秘密鍵とは
秘密鍵とは、公開鍵基盤(PKI)において、所有者が機密情報として厳重に管理し、非公開にしておく必要がある鍵です。公開鍵暗号方式では、各鍵ペアは、非公開で保持する秘密鍵と、第三者に公開する公開鍵で構成されます。
公開鍵暗号方式が登場する以前は、共通鍵暗号方式が一般的に使用されていました。共通鍵暗号では、暗号化と復号に同じ鍵を使用するため、通信相手と鍵を共有する必要があります。しかし、鍵の送信中に第三者に傍受されると、共通鍵暗号の安全性が損なわれます。この問題に対処するため、公開鍵暗号方式が導入されました。
公開鍵暗号方式では、鍵の所有者が通信相手に公開鍵を共有し、通信相手はその公開鍵でデータを暗号化してから鍵の所有者に送信します。鍵の所有者は、送信されることのない秘密鍵を使用して受信データを復号するため、セキュリティを維持しやすくなります。
現在、最も広く使用されている公開鍵暗号方式はRSA暗号です。RSAの特徴の1つは、公開鍵と秘密鍵のどちらか一方で暗号化したデータは、もう一方の鍵でのみ復号できることです。この仕組みにより、公開鍵による暗号化と秘密鍵による復号、秘密鍵による暗号化と公開鍵による復号の両方に柔軟に対応できます。
この特性はデジタル署名に利用されます。秘密鍵で暗号化された文書は、対応する公開鍵で復号できます。これにより、その文書が秘密鍵の所有者によってのみ作成されたことを証明できます。
ただし、RSAの秘密鍵と公開鍵の関係は対称ではない点に注意が必要です。秘密鍵から公開鍵を導出することはできますが、公開鍵から秘密鍵を導出することは、計算量の観点から現実的ではありません。RSAのセキュリティは、大きな数を素因数分解することの難しさに基づいています。強固なセキュリティを確保するには、より長い鍵長が推奨されます。コンピューティング性能の向上や新たな復号アルゴリズムの開発に伴い、時間の経過とともに、より長い鍵や最新の鍵およびアルゴリズムが必要になります。

