КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Алгоритм цифровой подписи на основе эллиптических кривых ECDSAАлгоритм ECDSA (Elliptic Curve Digest Signature Algorithm) принят в качестве стандартов ANSI X9F1 и IEEE P1363. Создание ключей: 1. Выбирается эллиптическая кривая Ep (a,b). Число точек на ней должно делиться на большое целое n. 2. Выбирается точка Р Ep (a,b). 3. Выбирается случайное число d [1, n-1]. 4. Вычисляется Q = d × P. 5. Закрытым ключом является d, открытым ключом - (E, P, n, Q). Создание подписи: 1. Выбирается случайное число k [1, n-1]. 2. Вычисляется 3. k × P = (x1, y1) 4. и 5. r = x1 (mod n).Проверяется, чтобы r не было равно нулю, так как в этом случае подпись не будет зависеть от закрытого ключа. Если r = 0, то выбирается другое случайное число k. 6. Вычисляется 7. k-1 mod n8. Вычисляется 9. s = k-1 (Н(M) + dr) (mod n)Проверяется, чтобы s не было равно нулю, так как в этом случае необходимого для проверки подписи числа s-1 mod n не существует. Если s = 0, то выбирается другое случайное число k. 10. Подписью для сообщения М является пара чисел (r,s). Проверка подписи: 1. Проверить, что целые числа r и s принадлежат диапазону чисел [0, n-1]. В противном случае результат проверки отрицательный, и подпись отвергается. 2. Вычислить w = s-1 (mod n) и H(M) 3. Вычислить 4. u1 = H(M) w (mod n)5. u2 = rw (mod n)6. Вычислить 7. u1P + u2Q = (x0, y0)8. v = x0 (mod n)9. Подпись верна в том и только том случае, когда v = r
|