我是初学者程序员。我被要求通过使用 Diffie-Hellman 密钥交换来保护客户端和服务器之间的数据传输。我在这个问题上进行了很多搜索,但我刚刚找到了一些示例代码,可以找到大整数p
和g
.
问题是我不知道如何使用这些号码来确保信息传输的安全。我想通过客户端和服务器之间的连接传输“字符串”,而不是整数。这些数字对我有什么用处?我正在接近我正在学习的课程的这个项目的最后期限,并且真的可以使用一些帮助。
我是初学者程序员。我被要求通过使用 Diffie-Hellman 密钥交换来保护客户端和服务器之间的数据传输。我在这个问题上进行了很多搜索,但我刚刚找到了一些示例代码,可以找到大整数p
和g
.
问题是我不知道如何使用这些号码来确保信息传输的安全。我想通过客户端和服务器之间的连接传输“字符串”,而不是整数。这些数字对我有什么用处?我正在接近我正在学习的课程的这个项目的最后期限,并且真的可以使用一些帮助。
我建议阅读和理解这个:http ://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange
这是一个 PHP 代码片段,它可以帮助...
GENERATOR=2 和 PRIME(300 位素数)是常数
// generate server secret
$privateKey = 0;
for ($i=0; $i<100; $i++) {
if ($i==0) {
$privateKey = mt_rand(1, 9);
} else {
$privateKey .= mt_rand(0, 9);
}
}
// output server public key
echo gmp_strval(gmp_powm(GENERATOR, $privateKey, PRIME));
// calculate server secret key
$secretKey = md5(
gmp_strval(
gmp_powm($_POST['public_key'], $privateKey, PRIME)
)
);