ECC
Elliptic curves over the real numbers
這邊這教老師要怎麼考
給p跟function:p = 23 曲線: y2 = x3 + x + 1 <----後面我簡稱F(x)
首先先找a,b(原式為X3+ax+b)
所以a=1,b=1
首先先檢查點存不存在
將a、b、p帶入 (4*a3+27*b2)mod p
若等於0則無點,若不等於有點才能做下去!!
則測試即為(4*1+27*1)mod 23= 8 <> 0 所以ok
再來找點,
努力記好兩個方程式
y2 mod p 以及 F(x)mod p
裡用這兩個找點
將相同的找出來,例如下圖
例如:左邊為將1帶入y2 mod 23(那個y就是帶入1)
右邊為將1帶入x3 + x + 1 mod 23(那個x就是帶入1)
那左邊的就是y2 mod p
右邊的就是 x3 + x + 1 mod p
然後得到答案,找點
找點方法為,相同答案為一組,例如說
右邊3的答案左邊也有兩個,就是看3然後對到最左邊找座標點為1
然後左邊相同的3對到最左邊為7所以第一個點為(1,7),然後左邊第二的
相同的3最左邊對過去是16所以第二個點是(1,16)依此類推
部分如下(共有 27個點, 左表0也要計入,少7個點請看倌找找看...)
(1,7)、(1,16)、(3,10)、(3,13)、(5,4)、(5,19)、(6,4)、(6,19)
(7,11)、(7,12)、(9,7)、(9,16)、(11,3)、(12,4)、(12,19)、(13,7)
(13,16)、(17,3)、(18,3)、(19,5)
得到這堆點之後,老師會隨便挑一組點,要你算2P啦或3P啦
方法如下
算2P
給點P(1,7)找3P
Step1:先找2P(就是找(1,7)跟(1,7))
分成(1,7)+(1,7)之後,首先一為P一為Q
P=(Xp,Yp)以及Q=(Xq,Yq)
Xp=1,Yp=7
Xq=1,Yq=7
函數:x3 + x + 1
斜率:因為等於是(1,7)跟(1,7)所以斜率必須用公式二
y'=( 3*(Xp)2+a ) / ( 2*Yp ) mod p 即為 2/7 mod 23
分數mod p 的方式為 先把7x=1 mod p也就是 7x=1 mod 23,x= 10
2再乘上10=20,最後20 mod 23=20就是![]()
然後要求Xr與Yr
Xr公式為Xr=(
2-Xp-Xq)mod p
Yr公式為Yr=(
(Xp-Xr)-Yp)mod p
所以Xr=7,Yr=11
所以2P=(7,11)(為安全起見,可以去檢查這個點有沒有在剛剛找到的點有的話才有可能是對的)