OpenSSL密码库算法笔记——第6.5.1章 密钥协商原理

密钥协商的输入包括椭圆曲线参数(具体参数情况请参见§6.2.2),以及己方私钥s和对方公钥W,注意这里的公私钥都必须是在同一条椭圆曲线上选取。以下假设椭圆曲线参数、己方私钥s和对方公钥W都是合理有效的。密钥协商算法如下:

───────────────────────────────────────

算法        密钥协商

输入:    己方私钥s,对方公钥W,椭圆曲线参数

输出:    协商出的秘密值s。

步骤:   

step1、    计算临时点T=← s×W。

step2、    得到T点的x坐标tx。

step3、    将tx交给密钥导出函数KDF算出协商的秘密信息。

s=KDF(tx)。

step3:    返回s。

───────────────────────────────────────

        现在来解释为什么双方能协商出相同的秘密值。假设协商双方为A和B,各自的公私钥对分别为(s_A,W_A)(s_A,W_A)(s_B,W_B)

所以可以得到:

OpenSSL密码库算法笔记——第6.5.1章 密钥协商原理_第1张图片

 

这就说明了双方协商得出的是同一个秘密值。

你可能感兴趣的:(openssl,密码,OPENSSL)