2014-11-23 4 views
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 

Кроме того, в том, что, как я предположим, что d сделать вычитание?

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

(Отрицание у-координаты точки) по модулю простого числа, а затем сделать добавление на nT2 и другую точку

ответ

0

Я могу помочь вам в поиске отрицательной координаты у. Я объясняю с помощью примера с игрушкой:

sum = [673 146] % Теперь, чтобы преобразовать второй элемент суммы, который является координатой y, выполните следующее.

sum (1,2) = -sum (1,2)% это отрицает второй элемент 1-й строки суммы и сохраняет результат в сумму. % Теперь для выполнения вычитания, сделайте следующее. Предположим, что ваш добавочный номер равен N1 = [6,5], а сумма равна сумме, поэтому разница этих двух составляет ...

разница = 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

Надеюсь, этого будет достаточно, чтобы задать ваш второй вопрос.

Смежные вопросы