这里我们仅考虑素域 F p ( p > 3 ) F_p(p>3) Fp(p>3)上的椭圆曲线,因为素域 F p F_p Fp的特征不为2,3,所以素域 F p F_p Fp上的椭圆曲线E的 W e i e r s t r a s s Weierstrass Weierstrass方程可设为
E : y 2 = x 3 + a 4 x + a 6 E: y^2 = x^3 + a_4x + a_6 E:y2=x3+a4x+a6
其判别式 Δ = − 16 ( 4 a 4 3 + 27 a 6 2 ) ≠ 0 \Delta=-16(4a_4^3+27a_6^2)\neq0 Δ=−16(4a43+27a62)=0,其在 F p F_p Fp上的运算规则如下:
设 P 1 = ( x 1 , y 1 ) P_1 = (x_1, y_1) P1=(x1,y1), P 2 = ( x 2 , y 2 ) P_2 = (x_2, y_2) P2=(x2,y2),是曲线E上的两个点,O为无穷远点,则
O + P 1 = P 1 + O O+P_1 = P_1 + O O+P1=P1+O
− P 1 = ( x 1 , − y 1 ) -P1 = (x_1, -y_1) −P1=(x1,−y1)
如果 P 3 = ( x 3 , y 3 ) = P 1 + P 2 ≠ O P_3 = (x_3, y_3) = P_1 + P2 \neq O P3=(x3,y3)=P1+P2=O,
椭圆的阶为
# ( E ( F p ) ) = 1 + ∑ x = 0 p − 1 ( 1 + ( x 3 + a 4 x + a 6 p ) ) = p + 1 + ∑ x = 0 p − 1 ( x 3 + a 4 x + a 6 p ) \#(E(F_p)) = 1+\sum^{p-1}_{x=0}({1+(\frac{x_3+a_4x+a_6}{p})}) = p+1+\sum^{p-1}_{x=0}{(\frac{x_3+a_4x+a_6}{p})} #(E(Fp))=1+x=0∑p−1(1+(px3+a4x+a6))=p+1+x=0∑p−1(px3+a4x+a6)
以 F 17 上 的 椭 圆 曲 线 E : y 2 = x 3 + 2 x + 3 F_{17}上的椭圆曲线E:y^2=x^3+2x+3 F17上的椭圆曲线E:y2=x3+2x+3,为例
遍历 x = 0 , 1 , 2 , . . . , p − 1 x=0,1,2,...,p-1 x=0,1,2,...,p−1,求出所有的点,比如
x = 0 , y 2 = 3 ( m o d 17 ) , 此 时 无 解 x=0,y^2=3(mod17),此时无解 x=0,y2=3(mod17),此时无解
x = 1 , y 2 = 6 ( m o d 17 ) , 此 时 无 解 x=1,y^2=6(mod17),此时无解 x=1,y2=6(mod17),此时无解
x = 2 , y 2 = 15 ( m o d 17 ) , y = 7 , 8 ( m o d 17 ) x=2,y^2=15(mod17),y=7,8(mod17) x=2,y2=15(mod17),y=7,8(mod17)
. . . ... ...
比如,已知 P = ( 2 , 7 ) 和 Q = ( 11 , 8 ) 在 椭 圆 E 上 , 求 解 P + Q = ( x 3 , y 3 ) P=(2,7) 和 Q=(11,8)在椭圆E上,求解P+Q=(x_3, y_3) P=(2,7)和Q=(11,8)在椭圆E上,求解P+Q=(x3,y3)
根据公式有 λ = y 2 − y 1 x 2 − x 1 = 8 − 7 11 − 2 = 1 9 \lambda=\frac{y_2-y_1}{x_2-x_1}=\frac{8-7}{11-2}=\frac{1}{9} λ=x2−x1y2−y1=11−28−7=91
这里需要注意一下, λ \lambda λ在 F 17 F_{17} F17中,所以实际上应该要求 1 9 ( m o d 17 ) \frac{1}{9}(mod17) 91(mod17)
那么只需要知道如何求解分数的模
即可,设 a , b 满 足 a b ≡ 1 ( m o d p ) a, b 满足ab \equiv1 (modp) a,b满足ab≡1(modp),那么则有 a ( m o d p ) = b ( m o d p ) a(modp)=b(modp) a(modp)=b(modp)
结合题目,所以我们只需要求出 a a a满足 9 a ≡ 1 ( m o d 17 ) 即 可 9a\equiv1(mod17)即可 9a≡1(mod17)即可,根据贝祖等式原理即可求出 a = 2 a=2 a=2,所以
λ = 1 9 = 1 × 2 ( m o d 17 ) = 2 \lambda=\frac{1}{9}=1\times2(mod17)=2 λ=91=1×2(mod17)=2
所以 x 3 = λ 2 − x 1 − x 2 = 8 , y 3 = λ ( x 1 − x 3 ) − y 1 = 15 x_3=\lambda^2-x_1-x_2=8, y_3 = \lambda(x_1-x_3)-y_1=15 x3=λ2−x1−x2=8,y3=λ(x1−x3)−y1=15
9 a ≡ 1 m o d 17 9a\equiv1mod17 9a≡1mod17的具体求法如下
n | s | t | q | r |
---|---|---|---|---|
-2 | 17( p ) | |||
-1 | 1(固定) | 0(固定) | 9(要求的) | |
0 | 0(固定) | 1(固定) | 1(17/9的商) | 8(17/9余数) |
1 | 1( − q n − 1 s n − 1 + s n − 2 -q_{n-1}s_{n-1}+s_{n-2} −qn−1sn−1+sn−2) | -1( − q n − 1 t n − 1 + t n − 2 -q_{n-1}t_{n-1}+t_{n-2} −qn−1tn−1+tn−2) | 1(9/8的商) | 1(9/8的余数) |
2 | -1 | 2 | 8(8/1的商) | 0(8/1的余数,为0停止运算) |
比如n=2的时候, s n = − 1 × 1 + 0 = − 1 , t n = − 1 × ( − 1 ) + 1 = 2 s_n=-1\times1+0=-1,t_n=-1\times(-1)+1=2 sn=−1×1+0=−1,tn=−1×(−1)+1=2
所以有 − 1 × 17 + 2 × 9 = 1 -1\times17+2\times9=1 −1×17+2×9=1,则 9 × 2 ≡ 1 ( m o d 17 ) 9\times2\equiv1(mod17) 9×2≡1(mod17)