前回は共通鍵暗号方式について紹介しましたが、今回は公開鍵暗号方式についてです。
共通鍵暗号方式よりやや複雑な仕組みですが、要点を抑えれば理解するのも難しくないと思います。
本記事では、公開鍵暗号方式の原理と特徴、代表的な公開鍵暗号について紹介していきます。
原理
公開鍵暗号方式では、暗号化に使う鍵と復号化に使う鍵の2つを対として用います(鍵ペア)。
公開鍵暗号方式の利用者は、公開鍵と秘密鍵の2種類を持ちます。公開鍵はオープンな鍵として公開し、誰もがその鍵を確認できます。一方、秘密鍵は誰にも知られないように厳重に管理します。
公開鍵暗号方式で暗号化通信を行うためには、暗号化するデータ(平文)を受信者の公開鍵で暗号化します。暗号化されたデータは、受信者の秘密鍵でのみ復号化することができます。
この方法では復号化に必要な秘密鍵の漏洩リスクが低くなり、盗聴を防ぐことができます。
また、どちらか一方の鍵からもう一方の鍵を推測することもできません。つまり、公開鍵から秘密鍵を割り出すということは不可能なのです。
特徴
鍵の受け渡しがなく安全
共通鍵暗号方式では、暗号化に用いた鍵を受け渡す必要がありましたが、公開鍵暗号方式ではその必要がありません。
受け渡しをするのは、暗号化に用いる公開鍵だけで、秘密鍵は受信者が保持したまま誰にも渡しません。そのため、安全な通信が可能になります。
共通鍵暗号方式より鍵の管理が楽
共通鍵暗号方式では、利用者が増えるごとに管理しなければならない鍵の数が指数関数的に増えていきました。一方公開鍵暗号方式では、利用者はそれぞれ公開鍵と秘密鍵の2つを持っているだけで良くなります。
そのため、利用者が増えても鍵の管理が煩雑ではありません。これは非常に大きなメリットです。
利用者がn人の時に必要になる鍵は2n種類となります。
暗号化・復号化にかかる処理時間が長い
公開鍵暗号方式の処理時間は長く、共通鍵暗号方式の数百~数千倍の時間がかかるといわれています。
これは、暗号化と復号化で異なる鍵を用いるため、ロジックが複雑になるためです。
代表的な公開鍵暗号方式
RSA
RSAは桁数が大きい数の素因数分解問題が困難であることを利用した公開鍵暗号です。
RSAという名前は、設計者3名の頭文字を取って名付けられました。
楕円曲線暗号
楕円曲線状の離散対数問題が困難であることを利用した公開鍵暗号方式が楕円曲線暗号です。
楕円曲線暗号とは具体的な暗号方式の名前ではなく、その中にもいくつかの種類が存在します。
まとめ
公開鍵暗号方式についてまとめてきました。
安全な暗号方式である一方、処理に時間がかかってしまう点がこの方式のネックです。
共通鍵暗号方式同様、公開鍵暗号方式はセキュリティの基本です。それぞれの暗号方式の原理の違い等は知っておきたいところですね
ではでは👋