Openssl的DH实现在crypto/dh目录中。各个源码如下:
1) dh.h
定义了DH密钥数据结构以及各种函数。
2) dh_asn1.c
DH密钥参数的DER编解码实现。
3) dh_lib.c
实现了通用的DH函数。
4) dh_gen.c
实现了生成DH密钥参数。
5) dh_key.c
实现openssl提供的默认的DH_METHOD,实现了根据密钥参数生成DH公私钥,以及根据DH公钥(一方)以及DH私钥(另一方)来生成一个共享密钥,用于密钥交换。
6)dh_err.c
实现了DH错误处理。
7) dh_check.c
实现了DH密钥检查。