1

我用 java rmi 客户端服务器制作了一个聊天应用程序。为了我使用 RSA 算法的消息的安全性,但我很难将私钥分发到对手的聊天中。也许我的朋友那里可以帮助如何将私钥分发给对手,以便他可以解密发送的聊天消息。

4

3 回答 3

4

首先,您永远不会分发私钥,而公钥可以公开(呃!)可用。您使用聊天第二方的人的公钥加密您的消息,他们使用他们的私钥解密它。您可以使用纯文本、电子邮件或将其发布在您的网站上发送您的公钥,以便其他人可以使用它加密他们给您的消息。

为了让您的生活更轻松,使用例如进行投资——这要快得多,因为在使用非对称加密建立安全通道后,它会交换对称会话密钥并使用更快的对称加密。

实际上,公钥的分发也可能是一个问题。如果你的对手也可以修改传输(而不是只听你的传输通道),他/她可以发送你的伪造公钥。这就是为什么公钥(例如在网站上)需要由受信任的权威链(其公钥在网络浏览器中硬编码)签名的原因。

于 2012-05-20T14:16:13.430 回答
0

您需要使用的是非对称方案来传输信息。使用非对称加密,即使有人在监听,他们也不知道他们的密钥是什么。您可以使用它来加密消息,但通常您使用它来加密对称密钥,然后从那里使用它。

查看内容以获取有关背景的更多信息。

至于如何在您的代码中执行此操作,我建议您按照“java 公钥库”的方式进行谷歌搜索。

于 2012-05-20T14:14:18.120 回答
0

RSA 是一种公钥加密技术,您的客户有一个公钥,而您有一个私钥,您可以使用私钥解密消息,即消息使用客户端公钥加密并使用您的私钥解密。你可以看看这个http://www.di-mgt.com.au/rsa_alg.html 它非常详细地解释了它是如何工作的。这个PPT解释了如何在java中实现 它www.cs.cityu.edu.hk/~cs4288/Java/RSA.doc 它真的很有帮助。

希望能帮助到你!!

于 2012-05-20T14:27:51.757 回答