素体上の楕円曲線で減点をしたいです。減算するポイントを取ってみまし(x,-y log(p))
たが、私の答えは一致していないようです。
これは私が減算をしようとした方法です:
s9=point_addition(s6.a,s6.b,((s8.a)%211) ,-((s8.b)%211));
ここs9
では、s6
とs8
がすべて 2 つの構造になってい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 ;
}
プログラムで正しい座標が得られないようです 楕円曲線暗号のこのコーディングを手伝ってください。