web-dev-qa-db-ja.com

秘密鍵で暗号化されている場合、データは公開鍵で復号化できますか?

私は非対称暗号化の原理を理解しようと試みており、本で以下を読みました:

1つのキーは完全に公開されており、誰でも読み取って使用できます。他の部分はプライベートであり、他の誰かと共有してはなりません。公開鍵で何かを暗号化すると、秘密鍵を使用して復号化できます。

公開鍵は秘密ではないようです。しかし、秘密鍵で暗号化すると、簡単にアクセスできる公開鍵で誰かが復号化できます。そのロジックはどこにありますか?

8
vico

公開鍵は秘密ではないようです。しかし、プライベートで暗号化すると、簡単にアクセスできるパブリックで誰かが復号化できます。ロジックはどこですか?

それでは、パブリック暗号化->プライベート復号化ルートに進みましょう。このユースケースについてはすでにお気づきのようです。ユーザーはあなたの公開鍵で物事を暗号化でき、あなたの秘密鍵だけが解読できます。これは、インターネット上のユーザーが、秘密鍵の所有者であるあなただけが復号化できるメッセージを送信したい場合に便利です。

これはすべてうまくいきますが、他の方向はどのような目的に役立ちますか(プライベートで暗号化->パブリックで復号化)?答えは、秘密鍵を使用してメッセージを暗号化すると、対応する公開鍵に対する秘密鍵の所有者であることを保証するのに役立ち、公開鍵はメッセージを正常に復号化および検証できます。これが 署名の生成と検証 に関する基本的な考え方です。

9
Kritner

非対称キーの使用法は次のとおりです。

  • 暗号化は公開鍵を使用して行われます
  • 署名は秘密鍵を使用して行われます

暗号化:

  • データは公開鍵を使用して暗号化されます
  • 暗号化されたデータは、秘密鍵を使用して復号化されます
    • 秘密鍵の所有者のみが暗号化されたメッセージを読むことができます

署名

  • データのハッシュは秘密鍵を使用して暗号化されます
  • 受信者は暗号化されたハッシュデータで公開キーを使用し、それを自分が計算したデータのハッシュと比較します
    • 秘密鍵の所有者のみがメッセージに署名できます
5
Yaron

実際、送信者は受信者の公開鍵を使用してデータを暗号化し、受信者は自分の秘密鍵を使用してデータを復号化します。したがって、データは秘密鍵ではなく公開鍵を使用して暗号化されます。

0
mrashid

はい、できます。これは、ボブの公開鍵によってのみ復号化されるため、その人(ボブ)が自分でファイルを暗号化し、他の人(イブ)では暗号化していないことを確認しようとしている場合に役立ちます。

0
Mohsin Kamal