我想對素數場上的橢圓曲線進行點減法。我試着把積分扣除爲(x,-y log(p))
,但我的答案似乎不匹配。橢圓曲線密碼術中的點減法
這是我嘗試做減法:
s9=point_addition(s6.a,s6.b,((s8.a)%211) ,-((s8.b)%211));
這裏s9
,s6
和s8
是兩個int
所有結構。
,這是我的函數不加分:
structure point_addition(int x1, int y1, int x2, int y2)
{
int s,xL,yL;
if((x1-x2)!=0)
{
if ((((y1-y2)/(x1-x2)) % 211)>0)
s=(((y1-y2)/(x1-x2)) % 211);
else
s=(((y1-y2)/(x1-x2)) % 211) + 211;
if ((((s*s)-(x1+x2)) % 211)>0)
xL= (((s*s)-(x1+x2)) % 211) ;
else
xL= (((s*s)-(x1+x2)) % 211) + 211;
if(((-y1+s*(x1-x2)) % 211)>0)
yL= ((-y1+s*(x1-xL)) % 211);
else
yL= ((-y1+s*(x1-x2)) % 211) + 211;
}
else
{
xL= 198 ;
yL= 139;
}
s7.a= xL;
s7.b= yL;
return s7 ;
}
的程序似乎並沒有給我正確的座標,請幫我這個編碼橢圓曲線加密。
不要忘記標記正在執行的語言在Jowin中計算,如果只是增加觀點的數量。我猜C了,但你可以重新編輯你的問題來改變它。 –
Jowin,「division」mod p表示您必須計算[模塊反轉](http://en.wikipedia.org/wiki/Modular_inverse)。 s =(((y1-y2)/(x1-x2))%211)'不是正確的方法。 –
GregS,我看到我必須編輯我的代碼,用模塊化的逆方法進行分割..但是我想知道如何進行正常分割無論我得到的是橢圓曲線上的哪些點!..非常感謝您的回答!在我的程序中,無限點必須考慮橢圓,我可以採取什麼措施? –