欢迎光临散文网 会员登陆 & 注册

密码学——ECC椭圆曲线加密算法

2023-03-30 19:54 作者:Vector永远的神  | 我要投稿

ECC椭圆曲线加密算法是一个经典的非对称加密算法,利用的就是 y^2 =  x^3 +ax +b 的椭圆曲线进行加密,曲线会随着a和b的变化而发生形态变化。其中4a^3 + 27 b^2  != 0为了使得曲线不包含奇点,曲线上没一点都存在切线。 


在曲线上 点P为基点, Q  =  K  *  P    Q作为公钥,k作为私钥存在。

给定 K和 P 求解公钥Q是十分容易的,但是给定PQ想求解 私钥K是十分复杂的。

加法运算规则

曲线上的加法运算规则是在曲线上两个点A和B相连接的直线一定会与椭圆曲线相交于一点C1,此点关于x轴的对称点则为点C  写作A+B=C。

切线时

切线的时候可以理解为A+A的情况,得到的结果就是2A,这个就是乘法的含义了。

进一步的情况

当A和2A相连接得到交点的对称点就是3A了。

这个记录表达的方式就是参考了正常的四则运算。但是可以把这个理解为点运算,也满足交换律和结合律等形式。

  1. 给定参数a和b确定一条椭圆曲线Ep(a,b),并且在此曲线上选择一个基点P

  2. 选择一个大数 k  作为私钥  , 计算得到公钥 Q  =  k * P。

  3. 加密过程是  选择一个随机数r,将消息M生成密文C  ,密文C是一个点对(r*P,M + r * Q)

  4. 解密过程就是使用私钥 k去乘以 r*P ,  M + r * Q - k*(r * P )=  M + r * k * P - k*(r * P ) =  M。


数学过程过于复杂,不说了。


密码学——ECC椭圆曲线加密算法的评论 (共 条)

分享到微博请遵守国家法律