公開キー暗号化 (PKC) は、非対称暗号化とも呼ばれ、対称暗号化システムで使用される単一のキーとは対照的に、公開キーと秘密キーを使用するフレームワークです。キー ペアを使用すると、他の暗号化技術に固有の課題を解決するために使用できる、独自の特性と機能のセットが PKC に提供されます。この形式の暗号化は、現代のコンピューター セキュリティの重要な要素になっているだけでなく、成長する暗号通貨エコシステムの重要なコンポーネントとなっています。


公開キー暗号化はどのように機能しますか?

PKC システムでは、送信者は公開キーを使用して情報を暗号化し、秘密キーは受信者がその情報を復号化するために使用します。 2 つの鍵は互いに異なるため、秘密鍵のセキュリティを損なうことなく公開鍵を自由に共有できます。各非対称キーのペアは一意であるため、公開キーを使用して暗号化されたメッセージは、対応する秘密キーを持っている人だけが読み取ることができます。

非対称暗号化アルゴリズムは数学的にリンクされたキー ペアを生成するため、これらのキーの長さは対称暗号化アルゴリズムのものよりもはるかに長くなります。この長い長さ (通常は 1024 ~ 2048 ビット) により、公開キーを基礎として使用して秘密キーを計算することが非常に困難になります。現在使用されている非対称暗号化の最も一般的なアルゴリズムの 1 つは、RSA として知られています。 RSA スキームでは、2 つの数値 (通常は 2 つの大きな素数) を乗算して得られる法を使用してキーが生成されます。基本的に、モジュールは 2 つのキー (共有できる公開キーと秘密にしておく必要がある秘密キー) を生成します。 RSA アルゴリズムは、1977 年に Rivest、Shamir、Adleman によって初めて説明され (したがって RSA)、今でも公開キー暗号化システムの重要なコンポーネントです。


暗号化ツールとしての PKC

公開キー暗号化は、暗号化と復号化の両方に同時に使用されるキーの通信という、対称アルゴリズムの長年の問題の 1 つを解決します。このキーを安全でない接続経由で送信すると、第三者に公開され、共有キーで暗号化されたメッセージを読み取ることができます。この問題を解決するための暗号化技術 (Diffie-Hellman-Merkle 鍵交換プロトコルなど) は存在しますが、依然として攻撃に対して脆弱です。一方、公開キー暗号化では、暗号化に使用されるキーをあらゆる接続上で安全に共有できます。その結果、非対称アルゴリズムは対称アルゴリズムと比較してより高いレベルの保護を提供します。


デジタル署名の生成での使用

非対称暗号化アルゴリズムの別の用途は、デジタル署名の使用によるデータ認証です。基本的に、デジタル署名はメッセージのデータを使用して作成されたハッシュです。このメッセージが送信されると、受信者は送信者の公開キーを使用して署名を検証し、メッセージの送信元を認証し、メッセージが改ざんされていないことを確認できます。場合によっては、ハッシュ自体をメッセージの一部として暗号化できるため、デジタル署名と暗号化が一緒に適用されます。ただし、すべてのデジタル署名方式で暗号化技術が使用されるわけではないことに注意してください。


制限事項

PKC はコンピュータのセキュリティを向上させ、メッセージの整合性チェックを行うために使用できますが、いくつかの制限があります。暗号化と復号化には複雑な数学的演算が含まれるため、大量のデータを処理する必要がある場合、非対称アルゴリズムは非常に遅くなる可能性があります。このタイプの暗号化は、秘密キーが秘密のままであるという前提にも大きく依存します。秘密キーが誤って共有または公開されると、対応する公開キーで暗号化されたすべてのメッセージのセキュリティが危険にさらされます。ユーザーが秘密キーを誤って紛失する可能性もあり、その場合、暗号化されたデータにアクセスできなくなります。


公開鍵暗号の応用

このタイプの暗号化は、機密情報のセキュリティを提供するために、多くの現代のコンピューター システムで使用されています。たとえば、電子メールは公開キー暗号化技術を使用して暗号化され、内容の機密性を保つことができます。 Web サイトへの安全な接続を可能にする Secure Sockets Layer (SSL) プロトコルでも、非対称暗号化が採用されています。 PKC システムは、有権者が自宅のコンピュータから選挙に参加できる可能性のある電子投票のための安全な環境を提供する方法としても検討されています。

PKC は、ブロックチェーンと暗号通貨の世界でも際立っています。新しい暗号通貨ウォレットが設定されると、キー ペア (パブリックおよびプライベート) が生成されます。パブリック アドレスは公開キーを使用して作成され、他のユーザーと安全に共有できます。一方、秘密キーはデジタル署名の作成とトランザクションの検証に使用されるため、秘密にしておく必要があります。デジタル署名に含まれるハッシュを確認することでトランザクションが検証されると、そのトランザクションをブロックチェーン台帳に追加できます。このデジタル署名検証システムにより、対応する暗号通貨ウォレットに関連付けられた秘密キーを持っている人だけがそこから資金を解放できることが保証されます。暗号通貨アプリケーションで使用される非対称暗号は、コンピューターのセキュリティ目的で使用されるものとは異なることに注意してください。たとえば、ビットコインとイーサリアムは、楕円曲線デジタル署名アルゴリズム (ECDSA) として知られる特殊なコーディングを使用してトランザクションを検証します。

コンピューターのセキュリティから暗号通貨取引の検証に至るまで、公開キー暗号化は最新のデジタル システムを保護する上で重要な役割を果たしています。非対称暗号化アルゴリズムは、ペアになった公開キーと秘密キーを使用して、対称暗号によって引き起こされる基本的なセキュリティ問題を解決します。 PKC は何年も前から存在していますが、特にブロックチェーンと暗号通貨の分野で、新しい用途やアプリケーションが定期的に開発されています。