存档

文章标签 ‘密钥交换’

使用 openssl 进行 DH 密钥交换

2019/01/19 6,069

在我之前的博客中聊到了 DH 密钥交换的原理 . 这里来讨论如何使用 OPENSSL 进行 DH 密钥交换。

一 原理验证

OPENSSL 提供了一系列API, 可以在方便地进行大数计算。在这里我们先对 DH 密钥交换的原理 中讲到的原理进行代码级别的验证。对原理不感兴趣的可以跳过这一小节。
由于在 DH 密钥交换过程中,大部分的操作过程都是一样的,可以定义一个基类来抽象:

  • m_pri_key 是双方生成的私密随机数。
  • GetSharedNum() 返回双方交换的中间变量 G^A mod P
  • GenKey() 即完成了密钥交换,返回交换成功后的密钥。

继续阅读