我确实编写了这段代码来编写Matlab上的椭圆曲线,但我想知道它是不是真的应该是这样的:
function y=plotCurve(x,p)
for i=1:length(x)
if(gcd(x(i),p)~=1)
x(i)=inf;
end
end
x(find(x==inf))=[];
y = x.^3+5.*x.^2+x;
y=mod(y,p);
k=sqrt(x.^3+10.*x.^2+x);
plot(x,k);
hold on
plot(x,-k);
xlim([min(x) max(x)]);
end
我试图完全遵循课堂步骤:
1)检查x是否在$ Z_p $
中2)计算$ y ^ 2 $(在我的例子中是y)
我在-10:10的范围内使用此代码,之间没有浮点数。