我想在素数场的椭圆曲线上做点减法。我尝试将分数减去,(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 ;
}
程序似乎没有给我正确的坐标请帮助我进行椭圆曲线密码学的编码。