ECC/DH 和 ECDH

本文深入探讨了椭圆曲线加密(ECC)及Diffie-Hellman(DH)密钥交换协议的工作原理。ECC是一种非对称加密算法,相比RSA,它能用更短的密钥提供相同的安全级别。DH协议则允许双方在不安全的信道上安全地交换密钥。文章详细介绍了ECC的加密过程和DH协议的步骤,并结合实例展示了如何通过ECC和DH实现安全的密钥交换。

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

ECC (椭圆曲线算法)

和 RSA 类似,也属于非对称加密算法,比 RSA 更新,相比 RSA 可以用更短的秘钥达到相同的安全程度。 😃

KEY(公钥)=key(私钥)G(椭圆曲线上的点)

由于椭圆曲线的特性,给定kG可以计算出K,但给定KG无法计算出k

加密过程:
1.A选定一椭圆曲线上的点 G
2.A创建私钥key,生成公钥KEY = key*G
3.A将椭圆曲线KEYG发送给B
4.B选择椭圆曲线上的一点M,产生一随机数r
5.B计算点C1=M+r*KEYC2=r*G
6.B把C1C2发送给A
7.A计算C1 - key*C2 = M + r*KEY*G - key*r*G = M


DH (秘钥协商协议)

1.A和B协商使用两个确定的数 p = 23g = 5
2.A创建一私钥a = 6,计算 g^a mod p = 5^6 mod 23 = 8(^次方,mod取余数)发送给B。
3.B创建一私钥b = 15,计算 g^b mod p = 5^15 mod 23 = 19 发送给 A。
4.A计算B a mod p = 19^6 mod 23 = 2,B计算A b mod p = 8^15 mod 23 = 2


ECDH(ECC&DH)

1.A选定一椭圆曲线上的点 G,创建私钥a,计算 A(公钥) = a*G
2.同理B计算 B(公钥) = b*G
3.A将公钥A发送给B,B将公钥B发送给A。因为椭圆曲线的特性,已知公钥、G无法计算出私钥,所以这个过程是安全的。
4.A计算aB = abG。
5.B计算b
A = baG。
6.A、B计算的结果相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值