0

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 素数を加えてからnT2、別の点を加算します。

4

1 に答える 1

0

y の負の座標を見つけるお手伝いができます。私はおもちゃの例で説明しています:

sum = [673 146] % ここで、y 座標である sum の 2 番目の要素を変換するには、次のようにします。

sum(1,2) = -sum(1,2) % これは、sum の 1 行目の 2 番目の要素を否定し、結果を sum に格納します。% 減算を実行するには、次のようにします。加数が N1 = [ 6,5] で、被加数が合計であると仮定すると、これら 2 つの差は...

difference = 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 です。

これで2番目の質問が十分になることを願っています。

于 2015-07-16T05:17:27.530 に答える