ディクショナリから身を守り、リプレイ攻撃をブロックできる、2 つのパーティ間の基本的な安全なチャネルを実装しようとしています。
チャネルを保護する手段として RSA 公開鍵暗号システムを使用したいと考えています。ただし、次のシナリオが効果的かどうかを知りたいです。
- A が秘密鍵と公開鍵を生成する
- A が B に公開鍵を送る
- B は公開鍵でメッセージを暗号化します
- B は暗号化されたメッセージを A に送信します。
- これで、A は秘密鍵を使用してメッセージを復号化できます。
これですべて順調です。しかし、A が B に安全にメッセージを送信したい場合はどうなるでしょうか。これは、2 組の鍵が必要になるということですか。では、A は B の公開鍵を持ち、B は A の公開鍵を持っているでしょうか? これは本当ですか?これは実現可能ですか?また、ブロック リプレイ攻撃を防ぐために、何らかの形式のランダム ハッシュまたはパディングが必要になりますか?