使用Java进行TOTP和Diffie-Hellman密钥交换

时间:2017-07-14 15:49:28

标签: java authentication diffie-hellman one-time-password

我想问一下如何执行一个客户端服务器应用程序,它可以使用java同时执行一次性密码操作和diffie hellman密钥交换?场景是使用diffie hellman共享密钥加密一次性密码。然后,客户端将加密的OTP发送到服务器,服务器检查它是否与它生成的OTP匹配。我不确定这些操作是否可以一起进行

1 个答案:

答案 0 :(得分:0)

首先,您需要执行hellman密钥交换并在服务器和客户端之间生成共享密钥。然后在客户端获取密钥并使用共享密钥和一些加密算法执行加密并将其发送到服务器服务器解密数据。因此,您可以为所有加密生成一次共享密钥,也可以生成所有时间。但我建议你使用非对称密钥加密(RSA,ECC),它将减少地狱密钥交换的开销。与对称密钥加密相比,它更安全。