我正在尝试在双方之间实现一个基本的安全通道,可以抵御字典和阻止重放攻击。
我想使用RSA公钥密码系统作为保护频道的手段。但是,我想知道以下情况是否有效:
现在这一切都很好。但是,如果A想要安全地向B发送消息怎么办?这是否意味着我们需要两对密钥。那么A会有B的公钥而B会有A的公钥吗?这是真的?这可行吗?此外,还需要某种形式的随机散列或填充来防止块重放攻击?
答案 0 :(得分:1)
查看Diffie-Hellman key agreement,这是一种允许双方建立(共享)私钥而仅公开通信的协议。防止重放攻击可以来自频繁地重新协商密钥,以便接收方不能解密重放的消息,和/或通过在加密的消息中包括时间戳和接收端的有限可接受窗口。