ECC加密算法


关键词:


ECCElliptic Curve Cryptography (ECC)




基于离散对数的椭圆曲线密码系统提供与RSA类似的安全性,但是具有相对较短的密钥大小。



GF(p) 上的椭圆曲线



素数 p > 3,并且 a,b ∈ GF(p),在 GF(p) 上使得4a3+ 27b2 ≠ 0 。


在GF(p)上,带参数a和b的椭圆曲线 E 被定义为(x,y)的解集,其中 x, y ∈ GF(p) 满足如下方程:


                                                         y2= x3 + ax + b

以及一个额外的点 O 。点的集合 E 形成一个组,并遵守以下规则: 

  • O + O = O
  • (x, y) + O = (x,y)
  • (x, y) + (x, -y) = O
  • 两个不相等的点相加,x1, x2
                            (x1, y1) + (x2, y2)= (x3, y3)

                            λ = (y2 - y1) (x2- x1)-1

                            x3 = λ2 - x1-x2

                            y3= λ(x1- x3) - y1
  • 一个点的2倍,x1≠ 0 :

                     (x1, y1) + (x1, y1)= (x3, y3)

                     λ = (3x12 + a) (2y1)-1

                     x3 = λ2 - 2x1

                     y3 = λ(x1 - x3) - y1


集合 E 是 满足:ymod p = (x3 + ax + b) mod p



例子:


假设 a = 1, b = 1, p = 23,则椭圆曲线 E23(1, 1) 上的点如下:

(0,1)(6,4)(12,19)
(0,22)(6,19)(13,7)
(1,7)(7,11)(13,16)
(1,16)(7,12)(17,3)
(3,10)(9,7)(17,20)
(3,13)(9,16)(18,3)
(4,0)(11,3)(18,20)
(5,4)(11,20)(19,5)
(5,19)(12,4)(19,18)

如下是计算过程,以及散点图:










GF(2k) 上的椭圆曲线







最后:


考虑方程 Q = kP,其中Q, P ∈ Ep(a, b) 且 k < p 。

对于给定的 k 和 P 计算 Q 比较容易,而对给定的 Q 和 P 计算 k 则比较困难。这就是椭圆曲线的离散对数问题。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值