公開鍵暗号とは何ですか?

公開キー暗号化 (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) として知られる特別な暗号を使用してトランザクションを検証します。

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