在java中实现完全Diffie-Helllman密钥交换加密

在java中实现完全Diffie-Helllman密钥交换加密,java,encryption,diffie-hellman,Java,Encryption,Diffie Hellman,我有一个聊天程序,它使用套接字发送和接收数据。现在,我想用Diffie-Hellman密钥交换系统通过套接字对数据传输进行加密。 最简单的方法是什么 最简单的方法是什么 使用和配置以使用Diffie Hellman。 JSSE是Java对SSL的套接字扩展。使用SecureSocket类,这些类提供与常规套接字相同的接口(因此您当前的代码不需要更改),但通过SSL操作,您可以在网络连接中实现加密。 您应该研究提供的链接,了解如何配置以执行所需操作。您实际上不想使用DH加密数据。你想用DH生成一个

我有一个聊天程序,它使用套接字发送和接收数据。现在,我想用Diffie-Hellman密钥交换系统通过套接字对数据传输进行加密。 最简单的方法是什么

最简单的方法是什么

使用和配置以使用Diffie Hellman。
JSSE
是Java对
SSL
的套接字扩展。使用
SecureSocket
类,这些类提供与常规套接字相同的接口(因此您当前的代码不需要更改),但通过
SSL操作,您可以在网络连接中实现加密。

您应该研究提供的链接,了解如何配置以执行所需操作。

您实际上不想使用DH加密数据。你想用DH生成一个共享密钥,然后用AES-GCM这样的对称密码加密。是的,我知道,很抱歉用词不当。你不能指望我们为你设计应用程序Mehran。请告诉我们您尝试了什么,否则我们将不得不结束问题。除此之外,Diffie-Hellman密钥协议(如果您的意思是)本身只能防止屋檐掉落攻击。一般来说,您还应该防止中间人攻击。经验法则:您不实现自己的加密。你甚至没有提出现有协议的微小变化。那东西很难,只是为了强调一下猫头鹰说的话。这(以及
TLS\u DH\u anon…
)对于主动攻击者来说是不安全的。它只对被动攻击者安全。你能更具体一点吗?我该怎么办?没有名为
SecureSocket
的实际类。安全套接字类的名称通常是和,一般来说,以字母SSL开头。通过将每个SSLSocket上的EnabledChiperSuite设置为新字符串[]{“TLS_DH_anon_with_AES_128_CBC_SHA”}@GregS,我终于达到了我的目的。我的意思是,作为在SSL上操作的类