導入

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


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

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

非対称暗号化アルゴリズムは数学的に関連するキー ペアを生成するため、そのキーの長さは対称暗号化アルゴリズムよりもはるかに長くなります。この長さは通常 1024 ~ 2048 ビットであるため、対応する公開キーから秘密キーを計算することが非常に困難になります。現在使用されている最も一般的な非対称暗号化アルゴリズムの 1 つは、RSA として知られています。 

RSA スキームでは、2 つの数値 (多くの場合、2 つの大きな素数) を乗算して得られる法を使用してキーが生成されます。簡単に言うと、このモジュールは 2 つのキーを生成します (1 つは共有できるパブリックキー、もう 1 つは秘密にしておく必要のあるプライベートキー)。 RSA アルゴリズムは、1977 年に Rivest、Shamir、Adleman によって初めて説明され (したがって RSA)、今でも公開キー暗号化システムの中核コンポーネントとなっています。


暗号化ツールとしての PKC

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


デジタル署名の作成

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


制限

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


公開鍵暗号の応用

このタイプの暗号化は、機密情報のセキュリティを確保するために、多くの現代のコンピューター システムで使用されています。たとえば、電子メールは、公開キー暗号化技術を使用して暗号化され、内容の機密性を保持できます。 

Web サイトへの安全な接続を可能にする Secure Sockets Layer (SSL) プロトコルでも、非対称暗号化が使用されます。 PKC システムは、安全な電子投票環境を提供する手段としても検討されており、有権者が自宅のコンピューターから選挙に参加できる可能性があります。

PKC はブロックチェーン技術と暗号通貨でも重要な役割を果たします。新しい暗号ウォレットを設定すると、鍵のペア (公開鍵と秘密鍵) が生成されます。ウォレット アドレスは公開キーを使用して生成され、他のユーザーと安全に共有できます。一方、秘密キーはデジタル署名の作成とトランザクションの検証に使用されるため、秘密にしておく必要があります。 

デジタル署名に含まれるハッシュを検証することでトランザクションが検証されると、そのトランザクションをブロックチェーン台帳に追加できます。このデジタル署名検証システムにより、それぞれの暗号通貨ウォレットに関連付けられた秘密キーを持っている人だけが資金を移動できることが保証されます。 

暗号通貨アプリケーションで使用される非対称暗号化は、コンピューターのセキュリティ目的で使用されるものとは異なることに注意してください。たとえば、ビットコインとイーサリアムは、「楕円曲線デジタル署名アルゴリズム (ECDSA)」として知られる特別なアルゴリズムを使用してトランザクションを検証します。 ECDSA は、暗号化を使用せずにデジタル署名も作成します。これは、ブロックチェーンには暗号化が必要ないことを意味します。


結果

公開キー暗号化は、コンピューターのセキュリティから暗号通貨取引の検証に至るまで、今日のデジタル システムのセキュリティにおいて重要な役割を果たしています。非対称暗号化アルゴリズムは、公開キーと秘密キーのペアを使用することにより、対称暗号に関連する主要なセキュリティ問題を解決します。 PKC は長年使用されてきましたが、特にブロックチェーンと暗号通貨において、新しいアプリケーションやアプリケーションが定期的に開発されています。