我正在尝试在两方之间实现一个基本的安全通道,可以保护自己免受字典和阻止重放攻击。
我想使用 RSA 公钥密码系统作为保护通道的一种手段。但是,我想知道以下情况是否有效:
- A 生成私钥和公钥
- A向B发送公钥
- B 用公钥加密消息
- B 将加密消息发送给 A
- 现在 A 可以使用私钥解密消息。
现在这一切都很好。但是,如果 A 想安全地向 B 发送消息怎么办。这是否意味着我们需要两对密钥。那么 A 将拥有 B 的公钥,而 B 将拥有 A 的公钥?这是真的?这可行吗?此外,是否需要某种形式的随机散列或填充来防止块重放攻击?