次の方法で共有


非対称キー

非対称キー (公開キーと秘密キーのペアとも呼ばれます) は、非対称暗号化に使用されます。 非対称暗号化は、主に、セッション キー および デジタル署名の暗号化と暗号化解除に使用されます。 非対称暗号化では、公開キー暗号化 アルゴリズムが使用されます。

公開キー アルゴリズムでは、公開キー秘密キーという 2 つの異なるキーが使用されます。 ペアの秘密キー メンバーは、秘密およびセキュリティで保護されている必要があります。 ただし、公開キーは、要求するすべてのユーザーに配布できます。 キー ペアの公開キーは、多くの場合、デジタル証明書によって配布されます。 キー ペアの 1 つのキーを使用してメッセージを暗号化する場合、メッセージの暗号化を解除するには、そのペアのもう 1 つのキーが必要です。 したがって、ユーザー A の公開キーを使用してデータを暗号化する場合、ユーザー A (またはユーザー A の秘密キーにアクセスできるユーザー) のみがデータを復号化できます。 ユーザー A の秘密キーを使用してデータの一部を暗号化する場合、ユーザー A の公開キーのみがデータを復号化するため、ユーザー A (またはユーザー A の秘密キーにアクセスできるユーザー) が暗号化を行ったことを示します。

秘密キーを使用してメッセージに署名する場合は、そのペアの公開キーを使用して署名を検証する必要があります。 たとえば、Alice がデジタル署名されたメッセージを送信する場合は、秘密キーを使用してメッセージに署名し、他のユーザーは公開キーを使用して署名を確認できます。 おそらく Alice だけが自分の秘密キーにアクセスできるため、Alice の公開キーで署名を検証できることは、Alice が署名を作成したことを示しています。

残念ながら、公開キー アルゴリズムは非常に低速で、対称アルゴリズムの約 1,000 倍遅くなります。 大量のデータを暗号化するために使用することは現実的ではありません。 実際には、公開キー アルゴリズムを使用して、セッション キー暗号化します。 対称アルゴリズム は、ほとんどのデータの暗号化/復号化に使用されます。

同様に、メッセージに署名すると実質的にメッセージが暗号化されるため、公開キー署名アルゴリズムを使用して大きなメッセージに署名することは実用的ではありません。 代わりに、固定長 ハッシュ がメッセージで作成され、ハッシュ値が署名されます。 詳細については、「ハッシュとデジタル署名の」を参照してください。

通常、各ユーザーには、2 つの公開キーと秘密キーのペアがあります。 1 つのキー ペアを使用してセッション キーを暗号化し、もう 1 つを使用して デジタル署名を作成。 これらはそれぞれ、キー交換キー ペア署名キー ペアと呼ばれます。

ほとんどの 暗号化サービス プロバイダー (CSP) によって作成されたキー コンテナーには 2 つのキー ペアが含まれていますが、これは必要ありません。 一部の CSP はキー ペアを格納しませんが、他の CSP は 2 つ以上のペアを格納します。

CryptoAPI 内のすべてのキーは CSP 内に格納されます。 CSP は、キーの作成、破棄、およびさまざまな暗号化操作の実行に使用する役割も担います。 他のユーザーに送信できるように CSP からキーをエクスポートする方法については、「暗号化キー ストレージと Exchange で説明します。