導入
公開キー暗号化 (PKC) は、非対称暗号化とも呼ばれ、対称暗号化で使用される単一のキーとは対照的に、秘密キーと公開キーの両方を使用するフレームワークです。キー ペアの使用により、PKC には、他の暗号化技術に固有の課題を解決するために利用できる独自の特性と機能のセットが与えられます。この形式の暗号化は、現代のコンピューター セキュリティの重要な要素になっているだけでなく、成長する暗号通貨エコシステムの重要な要素となっています。
公開鍵暗号はどのように機能しますか?
PKC 方式では、送信者が公開鍵を使用して情報を暗号化し、受信者が秘密鍵を使用して情報を復号化します。2 つの鍵は互いに異なるため、秘密鍵のセキュリティを侵害することなく、公開鍵を安全に共有できます。各非対称鍵ペアは一意であるため、公開鍵を使用して暗号化されたメッセージは、対応する秘密鍵を所有する人だけが読み取ることができます。
非対称暗号化アルゴリズムは数学的にリンクされたキー ペアを生成するため、そのキーの長さは対称暗号化で使用されるキーの長さよりもはるかに長くなります。この長い長さ (通常は 1,024 ~ 2,048 ビット) により、公開キーから秘密キーを計算することが非常に困難になります。現在使用されている非対称暗号化の最も一般的なアルゴリズムの 1 つは、RSA として知られています。
RSA 方式では、2 つの数値 (多くの場合、2 つの大きな素数) を乗算して得られる係数を使用してキーが生成されます。基本的に、係数は 2 つのキー (共有可能な公開キーと秘密に保持する必要がある秘密キー) を生成します。RSA アルゴリズムは、1977 年に Rivest、Shamir、Adleman によって初めて説明され (したがって RSA)、公開キー暗号化システムの主要コンポーネントとして現在も使用されています。
暗号化ツールとしてのPKC
公開鍵暗号化は、暗号化と復号化の両方に使用される鍵の通信という、対称アルゴリズムの長年の課題の 1 つを解決します。この鍵を安全でない接続で送信すると、第三者に公開されるリスクがあり、共有鍵で暗号化されたメッセージを読むことができます。この問題を解決する暗号化技術 (Diffie-Hellman-Merkle 鍵交換プロトコルなど) は存在しますが、攻撃に対して依然として脆弱です。一方、公開鍵暗号化では、暗号化に使用される鍵をどの接続でも安全に共有できます。その結果、非対称アルゴリズムは対称アルゴリズムよりも高いレベルの保護を提供します。
デジタル署名の生成
非対称暗号化アルゴリズムのもう 1 つの用途は、デジタル署名を使用してデータを認証することです。基本的に、デジタル署名はメッセージ内のデータを使用して作成されたハッシュです。メッセージが送信されると、受信者は送信者の公開キーを使用して署名を確認できます。このようにして、メッセージのソースを認証し、メッセージが改ざんされていないことを確認できます。場合によっては、デジタル署名と暗号化が一緒に適用され、ハッシュ自体がメッセージの一部として暗号化されることがあります。ただし、すべてのデジタル署名スキームが暗号化技術を使用するわけではないことに注意してください。
制限事項
PKC はコンピュータのセキュリティを強化し、メッセージの整合性を検証するために使用できますが、いくつかの制限があります。暗号化と復号化には複雑な数学的演算が関係するため、大量のデータを処理する必要がある場合、非対称アルゴリズムは非常に遅くなる可能性があります。また、このタイプの暗号化は、秘密鍵が秘密のままであるという前提に大きく依存しています。秘密鍵が誤って共有または公開された場合、対応する公開鍵で暗号化されたすべてのメッセージのセキュリティが侵害されます。ユーザーが誤って秘密鍵を紛失する可能性もあります。その場合、暗号化されたデータにアクセスできなくなります。
公開鍵暗号の応用
このタイプの暗号化は、機密情報のセキュリティを確保するために、多くの最新のコンピュータ システムで使用されています。たとえば、電子メールは公開鍵暗号化技術を使用して暗号化し、その内容を機密に保つことができます。
ウェブサイトへの安全な接続を可能にするセキュア ソケット レイヤー (SSL) プロトコルも、非対称暗号化を採用しています。PKC システムは、有権者が自宅のコンピュータから選挙に参加できるような安全な電子投票環境を提供する手段としても検討されています。
PKC は、ブロックチェーンや暗号通貨の技術でも重要な役割を果たしています。新しい暗号通貨ウォレットを設定すると、一対の鍵 (公開鍵と秘密鍵) が生成されます。ウォレット アドレスは公開鍵を使用して生成され、他のユーザーと安全に共有できます。一方、秘密鍵はデジタル署名の作成やトランザクションの検証に使用されるため、秘密にしておく必要があります。
デジタル署名に含まれるハッシュを確認して取引が検証されると、その取引をブロックチェーン台帳に追加できます。このデジタル署名検証システムにより、対応する暗号通貨ウォレットに関連付けられた秘密鍵を持つ人だけが資金を移動できるようになります。
暗号通貨アプリケーションで使用される非対称暗号化は、コンピューター セキュリティ目的で使用されるものとは異なることに注意してください。たとえば、ビットコインとイーサリアムは、楕円曲線デジタル署名アルゴリズム (ECDSA) と呼ばれる特定のアルゴリズムを使用してトランザクションを検証します。また、ECDSA は暗号化を使用せずにデジタル署名を作成します。これは、多くの人が信じているのとは異なり、ブロックチェーンには暗号化が必要ないことを意味します。
最後に
コンピュータ セキュリティから暗号通貨取引の検証まで、公開鍵暗号は現代のデジタル システムのセキュリティ確保において重要な役割を果たしています。非対称暗号化アルゴリズムは、公開鍵と秘密鍵のペアを使用することで、対称暗号が抱える基本的なセキュリティ上の懸念を解決します。PKC は長年使用されてきましたが、特にブロックチェーンと暗号通貨の分野では、新しい用途やアプリケーションが定期的に開発されています。

