参考文档
椭圆曲线性质 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 λ2−x1−x2
y’ = λ ( x 1 − x ′ ) − y 1 λ(x_1- x')-y_1 λ(x1−x′)−y1
λ = y 2 − y 1 x 2 − x 1 \frac{y_2 - y_1}{x_2 - x_1} x2−x1y2−y1
有限域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 λ2−x1−x2