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

本文阐述了基于椭圆曲线的密钥协商过程,详细解析了如何通过己方私钥和对方公钥,在椭圆曲线上计算出共享秘密值。通过计算临时点并提取其x坐标,最终使用密钥导出函数生成协商的秘密信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

密钥协商的输入包括椭圆曲线参数(具体参数情况请参见§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)

所以可以得到:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值