web-dev-qa-db-ja.com

共有秘密、それは公開鍵ですか、秘密鍵ですか?

Diffie-Hellmanの非数学的説明を読んだところ、秘密鍵と受信者の公開鍵に対していくつかの数学的操作が実行され、通信の両端で「共有秘密」が生成されることがわかりました。共有秘密鍵は両端で同じです。

私は、共有秘密鍵はその数学的性質により非対称であることを読みました。したがって、公開鍵と秘密鍵の概念をここでも適用する必要があります。

だから私の質問は「共有秘密は公開鍵ですか秘密鍵ですか」または何か中間のものです。

9
Ankit

publicの場合、secretにすることはできません...

keyは、「秘密を集中させるアルゴリズムのパラメータ」です。これは、鍵が秘密であるだけでなく、通常は他に何もないことを意味します(アルゴリズムは誰でも知っています)。

公開鍵は、非対称暗号が発明されたときに造られた逆説的な用語です。 「実際の」鍵は、私たちが秘密鍵と呼ぶものです。これは、鍵の所有者のみが実行できるはずの操作(たとえば、データの一部の復号化、署名の計算など)を可能にする秘密のパラメーターです。非対称暗号化の魔法は、逆演算encryptinga pieceデータの検証署名...)は、秘密鍵にリンクされている数学オブジェクトを使用して、誰でも実行できます。秘密鍵を公開せずに公開しました。公開鍵は人間の顔と考えることができます。それは独特であり、情報を伝えることができますが、顔を認識しても脳の内部にあるものはわかりません。したがって、「公開鍵」は厳密な意味での「鍵」ではありません。 「秘密鍵」は、「鍵」または「秘密鍵」と呼ばれることもあります。

ただし、伝統では、非対称の種類の鍵(公開された顔を持つのに十分な数学的構造を持つ鍵で、秘密鍵の機密性を危険にさらすことなく明らかにできる)に対して「秘密鍵」と言うことを定めていますが、対称暗号化および類似のアルゴリズムのビットの束は、「秘密鍵」(または「対称鍵」)と呼ばれます。それは伝統的であり、最終的には合理的ではありません。用語は常にそのようなものです。

非対称暗号化は非常に優れていますが、ギガバイト単位のデータの一括暗号化には適していません。そのため、「秘密鍵」(つまり、公開されていない鍵であり、100%秘密です)を使用すると、対称暗号化ははるかに優れています。 Diffie-Hellmanは非対称鍵交換アルゴリズムであり、2つのパーティがDHの数学を実行し、最終的に共有秘密、つまり鍵:どちらもそれを知っている(したがって「共有」)が、他の誰も知らない(したがって「秘密」)。それにより、彼らは対称暗号化を行うことができ、それがポイントでした。

17
Thomas Pornin

Thomas Porninの非常に良い答えを読んでください 。あなたをつまずかせるかもしれない混乱のための追加のソースがあると思います。

A Diffie-Hellman 鍵交換は、値のペア(2つのペア、実際には各パーティに1つ)を含み、ペアの1つの値が残っているため、公開鍵プロトコルと呼ばれます秘密と他の人は公に送りました。

  • 最初に、2つの当事者はいくつかのパブリックパラメータ(p、g)について合意します。
  • 次に、各当事者は秘密の値(a、b)を選択し、公開値(g ^ a mod p、g ^ b mod p)を送信します。原則として、秘密の値は公開値から推定することができますが、実際のコンピューティングパワーでそれを行う既知の方法はありません。より多くのデータを交換するために値が使用される場合、一方は他方から容易に計算でき、その逆はできないこのような値のペアは、公開鍵/秘密鍵のペアと呼ばれます。
  • Diffie-Hellmanの魅力は、公開された値だけが交換されたとしても、当事者が秘密値g ^ {ab}(2つの当事者だけが知っている値)を独立して計算できることです。

多くの場合、共有秘密値自体は、対称暗号化に基づいた(つまり、共有鍵を使用した)いくつかの2番目の暗号化プロトコル(AESに基づく暗号化プロトコルなど)の鍵として使用されます。より正確には、その秘密値の一部は対称暗号化のキーとして使用され、その部分は2番目のプロトコルの一部として使用されるため、秘密キーと呼ばれます。

共有秘密鍵は対称的であるため、ここにはパブリックとプライベートはありません。メッセージの暗号化と復号化には同じキーが使用されます。そのため、パートナーに送信する前に、公開鍵を使用して暗号化する必要があります。パートナーだけが暗号化された対称鍵を復号化できます。これは、彼の公開鍵に付随する秘密鍵を持っているのはパートナーだけなので、秘密は安全に共有されるためです。

対称鍵が安全な方法で共有された後、対称鍵を使用してメッセージを暗号化し、誰も復号化できないようにします。理論的には。

1
ychaouche