0

基本上,到目前为止,我对这个过程的理解是,我选择了一个模数 (p)、一个生成器 (g) 和一个介于 1 和 p-1 之间的随机私钥 (xa)。提供者选择一个随机私钥 (xb)。共享秘密是 g ^ (xa * xb) mod p = (g ^ xa) ^ xb mod p = (g ^xb) ^ xa mod p。

我大约三年没有学过数学,所以我不知道这意味着什么(一旦 mod 函数被命中),也不知道为什么会有三个等号(我最好的猜测是这三个语句需要每个相等其他)。我正在尝试使用 Javascript 为 MAC 密钥生成一个共享密钥,以便对 Google 的服务器执行 OpenID 请求。任何人都可以提供一些帮助或澄清吗?

4

1 回答 1

2

您描述的过程称为Diffie-Hellman Key Exchange例如,您可以在此处找到 javascript 的实现。

于 2010-12-09T20:20:56.410 回答