椭圆曲线上的反演和点减法

时间:2014-11-23 11:54:33

标签: matlab subtraction elliptic-curve inversion

我试图在Matlab中实现基于素数域上的椭圆曲线的认证协议。我已经成功完成了点加法和点乘法,但在计算以下步骤时我遇到了问题: (大写字母是曲线上的点,小写字母是整数标量)

((y^-1)T4-T2)(rs^-1) = x1P

((y^-1)T5-x1T3)(rs^-1) = X2

我应该计算

y^-1

作为

ModInverse(y , prime)? % the multiplicative inverse of y mod prime

另外,我应该如何进行减法?

nT2 = T2;
nT2{2} = mod(-nT2{2}, prime);

(取消点的y坐标)mod prime,然后在nT2上添加另一个点

1 个答案:

答案 0 :(得分:0)

我可以帮助你找到y的负面坐标。我正在用玩具示例解释:

总和= [673 146] %现在要转换sum的第二个元素,即y坐标,请执行以下操作。

sum(1,2)= -sum(1,2)%这将取消第1行sum的第2个元素并将结果存储为sum。 %现在要执行减法,请执行以下操作。假设你的加数是N1 = [6,5]并且augend是总和,因此,这两者的差异是......

差异= addell(N1,sum,a,b,p) %其中a,b和p是ECC的参数。 %Thaat是a和b是常数,p是ECC的主要模数。例如,ECC是y ^ 2 = x ^ 3 + a * x + b mod p

希望这足以满足你的第二个问题。