公開鍵暗号方式
共通鍵暗号方式の次は、公開鍵暗号方式を学習しましょう。
この方式は「公開鍵」と「秘密鍵」という2つの鍵を使います。これらの鍵はペアになっており、片方で暗号化したデータはもう片方でしか復号化できません。
使い方が複雑なので、また図で解説をしてまいります。
- 公開鍵暗号方式
- RSA
- ECDSA
第21講
公開鍵暗号方式は、送受信者を交代してお話いたします。
- 受信者:ゆみちゃん
- 送信者:かよちゃん
- 脅威アクター:ハッキングさえちゃん
公開鍵暗号方式
公開鍵と秘密鍵を使った例をご紹介します。
- ゆみちゃんは、公開鍵と秘密鍵を作成します
- ゆみちゃんは、公開鍵をかよちゃんに渡します
- かよちゃんは、公開鍵を使ってデータを暗号化します
- ゆみちゃんは、メッセージを受け取り、秘密鍵で復号します
以下、イメージ図で追ってみてください。
公開鍵暗号方式は、公開鍵と秘密鍵の2つの鍵が存在します。
- 公開鍵
- 誰でも手に入れることができる鍵。この鍵でデータを暗号化します
- 秘密鍵
- 公開鍵とペアになっていて、所有者だけが持っている鍵。この鍵で暗号化されたデータを復号化します
つまり、秘密鍵がハッキングさえちゃんに盗まれない限り、メッセージを復号化することはできません。公開鍵は、盗まれたとしても公開鍵だけでは復号できないため、共通鍵とは異なり、慎重に渡す必要がなく、手軽に交換することができます。
公開鍵暗号方式のメリット・デメリット
メリット
公開鍵は誰にでも渡せるので、鍵の配布に悩む必要がありません。
例えば、オンラインショッピングサイトでは、多くのユーザーに安全に公開鍵を配布し、取引データを暗号化するのに利用されています。
また、秘密鍵は一つだけで済むので、他の人には公開鍵を配布するだけでよく、鍵管理の手間が少なくて済みます。これは、企業内での通信やデータ交換において非常に有効です。
デメリット
共通鍵暗号方式に比べて、暗号化と復号化に時間がかかります。また、セキュリティを高めるために、鍵が長くなることが多く、その分計算が複雑になります。
特にリソースが限られたデバイスではパフォーマンスに影響を与えることがあります。
共通鍵とは反対のメリット・デメリットがあるんですね
代表的な公開鍵暗号アルゴリズム
公開鍵暗号方式で使用される代表的なアルゴリズムも、共通鍵と同じように押さえておきましょう。こちらも名前だけ押さえておけばOKです。
- RSA
- 1970年代に発明された古典的な公開鍵暗号アルゴリズムです。RSAは、インターネット上で安全なデータ通信を行うために広く使用され、特にウェブサイトのセキュリティや電子メールの暗号化に利用されています
- シンプルさと信頼性が、多くのシステムで採用される理由です。具体的には、大きな素数を使った数学的処理を用いることで、公開鍵と秘密鍵のペアを生成します。このペアを使うことで、安全に暗号化と復号化が行われます
- ECDSA (Elliptic Curve Digital Signature Algorithm)
- 公開鍵暗号方式の中でも特に効率的で安全性が高いアルゴリズムです。楕円曲線を用いることで、他の公開鍵暗号方式に比べて、より短い鍵長でも高いセキュリティを提供します。これにより、スマートフォンやIoTデバイスなど、計算リソースが限られた環境でも活用しやすいのが特徴です。
- デジタル署名にもよく使われ、これにより、データの改ざん防止や送信者の確認ができるようになります。RSAと比較して、リソース効率が良い点が特に評価されています。
デジタル署名については、この次の講座で解説するね。ECは「楕円曲線」という意味だから、ECDSAでは楕円曲線を使っているのがポイントなのよ
第21講のまとめ
公開鍵暗号方式は、公開鍵と秘密鍵を使ったセキュリティ手段で、鍵の配布や安全性に優れています。ただし、計算コストや鍵の管理に注意が必要です。
共通鍵暗号方式と公開鍵暗号方式、どちらもメリット・デメリットが存在し、どういうときに使い分けるのかが重要となりますが、先にデジタル署名について入っていきましょう。
ここまでの内容は、私が暗号化されたメッセージを受け取り、復号するという流れでした。この公開鍵暗号方式は、ハッシュ化を組み合わせることで、私が送ったものであることを相手に確実に伝えることができます。次の講座では、デジタル署名について見ていきましょう。