我了解 RSA 的工作原理(生成私钥/公钥对,将公钥发送给您想与之交谈的任何人,用公共加密,用私人解密),但这没有缺陷吗?
假设 A 想向 B 发送消息。A 生成他的公钥/私钥对,并通过网络将公钥发送给 B,对吗?是什么阻止了 C 拦截这个公钥,生成他自己的公钥,然后将他自己的公钥发送给 B?然后,当 B 将他的公钥发回给 A 时,C 可以截取并存储它,并将自己的公钥发送给 A。
现在,当 A 使用他认为是 B 的公钥(但实际上是 C 的)发送加密消息时,C 将截获该消息,对其进行解密,然后使用 B 的实际公钥再次对其进行加密。
这行得通吗?如果不是,为什么不呢?只是使用安全网络发送公钥的问题吗?