假设我有一个 key 部分,由设备 A(在本例中为加密卡)创建, key 部分应存储在设备 B(在本例中为智能卡)上并根据需要返回。我想到用 RSA 的私钥加密 key 部分,并将公钥提供给设备 B。然后设备 B 可以解密它并使用它自己的私钥对其进行加密,存储它并在需要时将其加密发回。
现在我想知道如何交换公钥来解密 key 部分而不失去安全性。因为同时发送 secret 和 key 是愚蠢的,因为它与发送解密的 key 是一样的,不是吗?
最佳答案
正常程序是:
- 设备 B 将其公钥发送给设备 A
- 设备 A 使用 B 的公钥对 key 进行加密,并将结果发送给 B
- 设备 B 使用其私钥解密该 secret 。
唯一棘手的部分是第 1 步,您必须绝对确定公钥确实来自设备 B,但没有必要保密。
关于java - 两个设备之间的安全 RSA 交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42689266/