4

会社が他のベンダーと統合できるようにするために、シングル サインオン ソリューションに取り組んでいます。

調査を行っていると、1 つのことが常に私を混乱させます。

公開/秘密鍵についての私の理解では、データは常にベンダーの公開鍵で暗号化され、秘密鍵を使用して復号化されます。ここまでは順調ですね。

ただし、メッセージが本当に私からのものであることを検証するために、メッセージのハッシュを計算し、秘密鍵でハッシュを暗号化します (このプロセスは署名とも呼ばれます)。メッセージが私からのものであることを確認するために、ベンダーは私の公開鍵を使用してハッシュを復号化し、暗号化されていないハッシュと比較します。それらが一致する場合、ベンダーはそれが私からのものであると確信できます。

では、なぜ私の秘密鍵がメッセージの暗号化に使用され、公開鍵はどのようにメッセージを復号化できるのでしょうか? 非対称キーではそれができないと思いました..! つまり、公開鍵は常に暗号化し、秘密鍵は常に復号化します。どんな説明でも大歓迎です..!

4

3 に答える 3

2

このリンクは非常に役に立ちました: http://www.nusphere.com/products/library/ssl.htm

上記の nusphere リンクの 2007 年からの Wayback Machine アーカイブ。

HTH オハッド

編集

2.5 年後、リンクが切れていることがわかりました。だからこれもいい

そして、今日から 2.5 年後に再び壊れる場合に備えて、概要を以下に示します。

公開鍵は、その名前が示すとおり、Public です。パブリックにアクセス可能なリポジトリまたはディレクトリを介して、誰でも利用できます。一方、秘密鍵は、それぞれの所有者に対して秘密のままにしておく必要があります。

キー ペアは数学的に関連付けられているため、公開キーで暗号化されたものは、対応する秘密キーによってのみ復号化でき、その逆も同様です。

したがって、公開鍵暗号化は機密性を実現できます。ただし、公開鍵暗号化のもう 1 つの重要な側面は、デジタル署名を作成できることです。

于 2012-07-25T07:07:29.667 に答える
1

対称暗号化と非対称暗号化の違いは、秘密鍵と公開鍵の存在のみです。

それにもかかわらず、一般的なアルゴリズムでは、秘密鍵を使用して、公開鍵で復号化できるメッセージを暗号化できます。また、公開鍵で暗号化されたメッセージを復号化することもできます。したがって、両方向で可能です。

于 2012-01-29T01:45:49.553 に答える
1

暗号化と署名は 2 つの異なるシステムです。いくつかの点で、それらは反対方向に機能します。

公開鍵暗号では、誰でも公開鍵でデータを暗号化できます。暗号化されたメッセージを復号化してデータを回復できるのは、秘密鍵の所有者だけです。

署名を使用すると、秘密鍵の所有者のみがメッセージに署名できます。誰でも公開鍵を使用して、メッセージの署名を検証できます。

公開/秘密鍵についての私の理解では、データは常にベンダーの公開鍵で暗号化され、秘密鍵を使用して復号化されます。

そのとおりです。ただし、これは公開鍵暗号化のみを対象としており、署名などの公開鍵暗号化の他の用途については対象外です。

ただし、メッセージが本当に私からのものであることを検証するために、メッセージのハッシュを計算し、秘密鍵でハッシュを暗号化します (このプロセスは署名とも呼ばれます)。

実際には、このプロセスは署名としてのみ知られるべきです。それを「自分の秘密鍵で暗号化する」と呼ぶのは非常に誤解を招きます。それは実際の動作ではありません。署名と暗号化の両方に使用できる一般的なタイプの鍵 (RSA) が 1 つありますが、RSA でも署名と復号化のメカニズムは異なります。

メッセージが私からのものであることを確認するために、ベンダーは私の公開鍵を使用してハッシュを復号化し、暗号化されていないハッシュと比較します。それらが一致する場合、ベンダーはそれが私からのものであると確信できます。

それはあまり正しくありません。多くの署名アルゴリズムは決定論的ではありません。署名の検証は、署名プロセスを逆にすることによって行われるのではなく、署名、メッセージ、および鍵を含む若干異なる計算を行うことによって行われます。

では、なぜ私の秘密鍵がメッセージの暗号化に使用され、公開鍵はどのようにメッセージを復号化できるのでしょうか? 非対称キーではそれができないと思いました..! つまり、公開鍵は常に暗号化し、秘密鍵は常に復号化します。どんな説明でも大歓迎です..!

秘密鍵は、メッセージを暗号化するためではなく、署名するために使用されます。公開鍵は、署名されたメッセージを復号化するためではなく、検証するために使用されます。

于 2019-03-19T01:27:41.387 に答える