椭圆曲线加密理解


参考文档
椭圆曲线性质 http://www.doc88.com/p-7933356997470.html
椭圆曲线加密学
http://www.secg.org/sec1-v2.pdf
http://www.secg.org/sec2-v2.pdf
https://en.wikipedia.org/wiki/Elliptic-curve_Diffie–Hellman
TLS椭圆曲线加密 https://tools.ietf.org/html/rfc4492

需要理解的知识点

椭圆曲线方程
同余运算
有限域
伽罗瓦有限域

实数上的椭圆曲线

简化的椭圆曲线方程为 (注意, 不是椭圆方程)
y2=x3+px+q (很明显, 它是x轴对称的)
判别式为 △ = 27q2 + 4p3
△>0时, 有1个实根, 2个复根
△=0时, 有2个实根
△<0时, 有3个不同的实根

椭圆曲线加法⊕定义
设P, Q为曲线上的任意两点,
PQ两点的连线, 记为L. (如果P,Q可以为同一点, 此时L为切线)
L与曲线相交于另外一点R’
R’关于X轴对称的点记为R. 称R为P, Q两点之和, 记为
R = P⊕Q
设P关于x轴的对称点.P’
P Θ P’ = O

椭圆曲线⊕运算的计算公式
y2=x3+px+q
设P坐标为(x1, y1), Q为(x2, y2), 那么P⊕Q的点坐标为
x’ = λ 2 x 1 x 2 λ^2-x_1-x_2
y’ = λ ( x 1 x ) y 1 λ(x_1- x&#x27;)-y_1
λ = y 2 y 1 x 2 x 1 \frac{y_2 - y_1}{x_2 - x_1}

有限域F( p )上的椭圆曲线

设椭圆方程为 y2 ≡ x3+ax+b ( mod p)
设P坐标为(x1, y1), Q为(x2, y2), 那么P⊕Q的点坐标为

x’ ≡ λ 2 x 1 x 2 λ^2-x_1-x_2 ( mod p )
y’ ≡ λ ( x 1 x ) y 1 λ(x_1- x&#x27;)-y_1 ( mod p )
λ ≡ y 2 y 1 x 2 x 1 \frac{y_2 - y_1}{x_2 - x_1} ( mod p )

若P, Q相同,
x’ ≡ λ 2 2 x 1 λ^2 − 2x_1 (mod p)
y’ ≡ λ ( x 1 x ) y 1 λ(x_1 − x&#x27;) − y_1 (mod p)
λ ≡ 3 x 1 2 + a 2 y 1 \frac{3x_1^2 + a}{2y_1} ( mod p )

伽罗瓦域F(2m)上的椭圆曲线

椭圆公式
E( F 2 M F_{2^M} ) 表示为
y 2 + x y = x 3 + a x 2 + b y^2 +xy = x^3 + ax^2 + b
其中x, y, a, b 都为 F 2 M F_{2^M} 的元素

设P坐标为(x1, y1), Q为(x2, y2), 那么P⊕Q的点坐标为
x’ ≡ λ 2 + λ + x 1 + x 2 + a λ^2 + λ + x_1 + x_2 + a
y’ ≡ λ ( x 1 + x ) + x + y 1 λ(x_1 + x&#x27;) + x&#x27; + y_1
λ ≡ y 2 + y 1 x 2 + x 1 \frac{y_2 + y_1}{x_2 + x_1}

若P, Q相同,
x’ ≡ λ 2 + λ + a λ^2 + λ + a
y’ ≡ x 1 2 + ( λ + 1 ) x x_1^2 + (λ+1)x&#x27;
λ ≡ x 1 + y 1 x 1 x_1 + \frac{y_1}{x_1}

加密学的应用

设G为 F p F_{p} 上的椭圆曲线上的一点, k个G相加结果为Q, 即
kG = Q
已知G和Q, 很难计算出k
已知k和G, 容易计算出Q
这里的k为私钥, Q为公钥

假设A, B两人使用同一个曲线方程, 生成两个点
Qa = d a G \rm d_a * G
Qb = d b G \rm d_b * G
然后双方只交换Qa, Qb
A拿到对方的公钥Qb后, 计算
P a \rm P_a = d a Q b \rm d_a * Q_b = d a d b G \rm d_a * d_b * G
同样有
P b \rm P_b = d b Q a \rm d_b * Q_a = d b d a G \rm d_b * d_a * G
很显然
P a \rm P_a = P b \rm P_b
然后双方以P的x坐标作为共同的密钥

如果有一方的私钥d被破解了, 那么整个通信过程都可以被解密

猜你喜欢

转载自blog.csdn.net/wzj_whut/article/details/86649809
今日推荐