【发布时间】:2012-11-08 16:56:58
【问题描述】:
我正在从事一个使用 RSA 加密算法的密码学项目,我已经实现了 RSA 算法并理解了它,但是如何安全地将私钥发送给接收者?
【问题讨论】:
标签: java encryption rsa encryption-asymmetric secret-key
我正在从事一个使用 RSA 加密算法的密码学项目,我已经实现了 RSA 算法并理解了它,但是如何安全地将私钥发送给接收者?
【问题讨论】:
标签: java encryption rsa encryption-asymmetric secret-key
使用非对称加密时,您永远不要将私钥发送给接收方。接收者有你的公钥来解密你用你的私钥加密的消息。
其他方式可能是您使用接收者公钥加密,只有他可以使用他的私钥解密消息。
所以非对称加密意味着永远不要给你手头的私钥。
【讨论】:
在私钥密码系统中,无论加密和解密方案多么复杂,都需要发送方和接收方都同意该方案才能使用它进行通信。这是 RSA 和其他公钥密码系统试图解决的密码学的基本问题。
在 RSA 中,接收者使用两个非常大的素数生成一个公钥 (N, e) 和一个私钥 d,大到它们的乘积非常困难因素。 (可以参考密钥生成的细节here) RSA 与上述私钥算法的关键区别在于任何人都可以使用接收方生成的公钥对消息进行加密并发送它发给任何人,但只有拥有私钥的接收者才能解密消息。因此,RSA 通常被称为非对称密码系统。
【讨论】: