私钥分发技术?

时间:2012-05-20 14:10:46

标签: java encryption rsa private-key

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

3 个答案:

答案 0 :(得分:3)

首先,您永远不会分发私钥,而公钥可以公开(呃!)。您使用聊天第二侧人员的公钥加密您的邮件,并使用他们的私钥对其进行解密。您可以使用明文,电子邮件或在您的网站上发布您的公钥,以便其他人可以使用它加密他们的消息。

为了让您的生活更轻松,请投资使用例如 - 自从使用非对称加密建立安全通道后,它可以更快地交换对称会话密钥并使用更快的对称加密。

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

答案 1 :(得分:0)

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

有关背景的详细信息,请查看this

至于如何在你的代码中执行此操作,我建议使用“java公钥库”的方式搜索。

答案 2 :(得分:0)

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

希望它有所帮助!!