2012-02-09 17 views
6

一方で、私は、2つの鍵は完全に交換可能であると言っていると聞きます。最初の鍵は、暗号化された鍵を復号化します。これは私が2つのキーが交換可能だと思うようにします。公開鍵と秘密鍵は交換可能ですか?

一方、RSA生成鍵は長さが異なるように見えますが、秘密鍵で暗号化する別のトピックでは「署名」と呼ばれ、公開鍵で暗号化するよりも安全性が低いと判断されました。 (2)

これに加えて、公開鍵を公開して野生で配布する必要がある場合は、非公開鍵を公開しないでください。 (3)

私はユニークなサーバーからデータを受け取ることを計画していたので、私の考えは、そのサーバーにデータを暗号化し、すべての可能な顧客に秘密鍵を配布する公開キーを保持することでした。 )。逆に、公開鍵を配布して秘密鍵でデータを暗号化すると、暗号化は(2)に従って安全性が低下します。

私は公開鍵を配布し、(2)を満たすために秘密鍵で暗号化するのか、それとも逆の方法で暗号化するべきですか?

注意:私の場合、パフォーマンスは問題ではありません。

+0

を公開指数が含まれて?秘密鍵を配布しないでください – sehe

+0

署名は「安全性が低い」暗号化されません。 –

答えて

4

あなたの公開鍵はメッセージを暗号化するために使用され、あなたの公開鍵はメッセージを暗号化解除するために使用されます。したがって、あなたが配布する公開鍵では、あなた(または秘密鍵を持っている人)のみがそれを解読できるという知識のもとで、誰でも安全なメッセージを暗号化することができます。あなたの質問に直接お答えしたい場合はいいえ交換できません。秘密鍵は決して​​配布しないでください。

複数の可能な顧客とキーを共有する場合は、実際には2つのオプションがあります。非対称暗号を放棄し、RSAの代わりにAESのようなものを使用するための対称鍵を各自に配布する安全な方法を見つけるか、それぞれに鍵ペアを生成して公開鍵を提供するよう依頼します。次に、サーバーからのものを復号化し、各顧客ごとに再暗号化することができます。顧客の数は、2つの間のあなたの選択を指示するのに役立ちます。

-1

公開鍵を暗号化します。秘密鍵は復号化する。彼らは切り替わりません。

正しいことを達成するためには、各クライアント(顧客)にプライベート/公開キーのペアがあることです。サーバーがいくつかのデータを送信する必要がある場合、サーバーはクライアント(顧客)から公開鍵を要求し、暗号化に使用する必要があります。そうすれば、顧客は正しい情報を復号化することができます(厳密に保護された秘密鍵を使用して)。

11

答えは、あなたが質問を数学的な好奇心から尋ねるのか、まったく実用的な暗号の理由から答えるのかによって異なります。

  • この意味でのキーが絶対にない互換性がありますので、あなたは、あなたがあなたの秘密鍵を開示することはありませんすべき暗号システムを実装している場合。さらに、説明する使用シナリオは、機密性ではなく認証に適しているように見えるので、サーバーからクライアントに送信されるメッセージは実際に署名され、暗号化されていないはずです。機密性が必要な場合は、プロトコルでさらにいくつかのステップが必要です。

  • 数学的には、法Nと指数Dのみを含む秘密鍵の内部表現を使用し、他の指数Eがランダムに生成されると仮定すると、答えはOTOH "yes"です。 2つの指数の関係を表す公式は1 = E * D(modφ(N))なので、数学的な観点からは、指数がどの指数であるかは実際問題ではありません。あなたが長い対応する公開鍵よりもかなりあるRSA秘密鍵を生成し、実装を使用している場合

しかし、その一方で、RSAは、生成されたキーは、異なる長さ

を持っているように見えますこれはほとんどの場合、実装がではないことを意味します。公開鍵と秘密鍵を同じ意味で使用するには、は適切ではありません。長さの差は、通常、次の組み合わせによるものです。

    公開指数Eはランダムに生成されませんが、3または0x10001などの固定小定数です。一方、秘密指数Dは、法とほぼ同じであるため、秘密鍵データは公開鍵データのほぼ2倍のサイズになります。 RSA秘密鍵(N、D)のみを取得した場合、公開指数の最初の推測値は3または0x10001のいずれかになり、推測が正しいかどうかのチェックが容易になります。キーを交換可能にしたい場合は、最初に選択した指数を、1より大きくphi(N)より小さい奇数の整数としてランダムに選び、Nまたはphi(N)と共通の素因数を持たないようにします。
  • 秘密鍵データが要因公共モジュラスNのP、Q
  • を含み、秘密鍵データはありませんE.
+0

実際のシステムの数学と実際の使い分けを区別してくれてありがとう。私はトピックが両方の方法で提示されているのを見てきました。そして、区別がなされなかったので、それは矛盾しているようでした。また、実用的なシステムの中には、公開鍵をデータファイルに格納して、秘密鍵を知っていれば公開鍵を抽出して、秘密鍵を与えられた公開鍵を再作成できるという結論に導くものもあると思います。 – adg

+3

@adgプライベートキーに保存される情報には、プライムファクタ(P、Q)とプライベート指数(D)が含まれる場合があります。これは公開指数(E)を導出するのに十分である。 –

+0

優れた説明をいただきありがとうございます。少なくともいくつかの実装では、ペア内のキーが数学的にまたは機能的に同等であると主張する説明は正しくないようです。 – adg