
9 Лекция - Электронная подпись
.pdf1
ЭЛЕКТРОННАЯ ПОДПИСЬ
Электронная подпись представляет собой двоичную последовательность фиксированной длины, зависящую от подписываемого сообщения и от некоторого, известного только подписывающему сообщение субъекту ключа. Такой ключ называется
секретным ключом электронной подписи, или просто - ключом электронной подписи. Предполагается, что подпись должна быть легко проверяемой? и осуществить проверку подписи может любой желающий, не обладающий доступом к секретному ключу. Для проверки подписи должна использоваться некоторая информация, зависящая от секретного ключа. Эта информация называется открытым ключом или ключом
проверки электронной подписи.
При возникновении спорной ситуации, связанной либо с отказом подписывающего от факта подписи им некоторого сообщения, либо с попыткой подделки подписи, третья сторона должна иметь возможность разрешить спор. Нормативным актом, регламентирующим использование электронной подписи на территории Российской Федерации, служит Федеральный закон № 63 «Об электронной подписи».
Электронная подпись позволяет решить следующие три задачи:
1.осуществить аутентификацию источника сообщения;
2.подтвердить целостность сообщения;
3.обеспечить невозможность отказа от факта подписи конкретного
сообщения.
Использование термина "подпись" в данном контексте оправдано тем, что электронная подпись имеет много общего с обычной собственноручной подписью на бумажном документе. Собственноручная подпись также решает три перечисленные задачи, однако между обычной и электронной подписями имеются существенные различия, в частности: рукописная подпись не зависит от подписываемого документа, неотделима от него и, как правило, одинакова для всех сообщений. Для электронной подписи эти положения неверны.
Для реализации схемы электронной подписи необходимы два алгоритма:
1.алгоритм выработки электронной подписи,
2.алгоритм проверки электронной подписи.
Совокупность указанных алгоритмов принято называть схемой электронной подписи. Стоит отметить, что в англоязычной литературе принято добавлять к схеме электронной подписи еще один алгоритм, а именно алгоритм генерации открытого и секретного ключей подписи. В Российской Федерации, как правило, выработкой ключей подписи занимаются Удостоверяющие центры, деятельность которых регламентируется отдельными документами.
Главные требования к названным алгоритмам заключаются в исключении возможности получения подписи без использования секретного ключа и гарантировании возможности проверки подписи без знания какой-либо секретной информации. Надежность схемы электронной подписи определяется сложностью решения следующих трех задач:
1.подделки подписи, то есть нахождения значения подписи под заданным документом лицом, не являющимся владельцем секретного ключа;
2.создания подписанного сообщения, то есть нахождения хотя бы одного сообщения с правильным значением подписи;
3.подмены сообщения, то есть подбора двух различных сообщений с одинаковыми значениями подписи.
Основным, хотя и не единственным, подходом к построению цифровых подписей является использование асимметричных схем шифрования. Рассмотрим данный подход в общем случае.
В качестве секретного ключа электронной подписи выберем секретный ключ расшифрования kd произвольной асимметричной схемы шифрования, в качестве ключа
2
проверки подписи выберем открытый ключ шифрования ke . Тогда цифровую подпись под сообщением s можно определить равенством
D kd ,s c,
а процедуру проверки подписи - проверкой равенства s E ke,c .
Легко видеть, что последнее равенство истинно только в том случае, когда для асимметричной схемы выполнено равенство
E ke,D kd ,s s
для любого s X . Примером такой асимметричной схемы шифрования служит схема
RSA.
Такое прямолинейное обращение схемы асимметричного шифрования обладает рядом недостатков, что не позволяет использовать его на практике.
Использование электронной подписи одновременно со схемой асимметричного шифрования, на которой она построена, недопустимо, поскольку в качестве зашифрованных сообщений можно использовать ранее созданные подписи, и наоборот.
Пусть абонент Б, обладающий парой ключей ke , kd , подписал сообщение s1 и
вычислил подпись D kd ,s1 c1 . Тогда для проверки этой подписи достаточно проверить выполнимость равенства s1 E kd ,c1 .
Любой имеющий возможность проверить это равенство и обладающий парой s1 , c1
может направить абоненту Б зашифрованное сообщение s1 , которое будет воспринято абонентом Б как корректное, поскольку
D kd ,s1 D kd ,E kd ,c1 c1 .
Таким образом, абонент Б может принять свою собственную подпись c1 в качестве
корректно расшифрованного сообщения.
Самостоятельно предъявите последовательность действий, позволяющих использовать в качестве подписи ранее зашифрованное сообщение.
Основным способом защиты от подобных атак является использование бесключевых функций хеширования. Такой подход позволяет проводить вычисления не с самими сообщениями, а с их кодами целостности.
Далее, мы приведем несколько примеров схем электронной подписи, основанных на асимметричных схемах шифрования, уделив основное внимание схемам, реализуемым в группе точек эллиптической кривой.
Схема ЭльГамаля
Предложенная в 1984 году схема электронной подписи Эль-Гамаля является наиболее распространенной и лежит в основе стандартов Российской Федерации, Германии, Соединенных Штатов Америки и еще целого ряда стран.
Стойкость данной схемы основывается на решении задачи дискретного логарифмирования в некоторой абелевой группе. В качестве такой группы, как правило, выступает либо мультипликативная группа конечного простого поля, либо группа точек эллиптической кривой. Основная привлекательность схемы Эль-Гамаля заключается в том, что она представляет собой семейство схем, которые могут быть оптимизированы в зависимости от потребностей субъекта, использующего данную схему.
Вначале мы дадим краткое описание общей схемы Эль-Гамаля применительно к мультипликативной группе поля, а далее приведем примеры конкретных схем, реализованных в группе точек эллиптической кривой.
Пусть р - большое простое число, q - простое число, для которого выполнено условие q|p — 1. Рассмотрим вычет a GF p * такой, что ord a GF p * q, то есть число q является показателем вычета а по модулю р.

3
Также мы зафиксируем бесключевую функцию хеширования H :V* Vn
отображающую сообщения произвольной длины в двоичные векторы длины n. Дополнительно будем считать, что выполнено неравенство q < 2n.
Поскольку каждый двоичный вектор (h1,..., hn) может быть естественным образом представлен в виде целого числа
n 1
h hi 12i
|
i 0 |
|
|
|
|
|
|
|
GF |
q , определяемое равенством |
|
||
то далее мы будем использовать отображение H :V* |
|
|||||
|
|
|
|
|
|
|
H |
s H s modq ,s V*,H s GF q . |
|
|
|
|
|
Будем считать, то абонент, подписывающий сообщения, обладает секретным |
||||||
ключом |
электронной подписи kd , представленным в |
виде |
вычета |
kd GF q * , |
и |
|
открытым ключом подписи ke , представленным в |
виде |
вычета |
ke GF q * |
и |
||
удовлетворяющим равенству |
|
|
|
|
|
|
ke |
akd mod p . |
|
|
|
|
|
Для выработки электронной подписи с под сообщением s в обобщенной схеме ЭльГамаля абонент должен выполнить следующие шаги.
Алгоритм выработки электронной подписи
Открытые параметры схемы р, q, отображение , а также сообщение s, под
Вход: H
которым вычисляется подпись.
Выход: Электронная подпись с под сообщением s, представляющая собой пару вычетов по модулю q.
1. |
|
|
|
s . |
Определить образ сообщения s - величину h H |
||||
2. |
Вычислить случайное число k |
|
. |
|
1,q 1 |
|
|||
3. |
Определить вычет r ak mod p . |
|
4. Определить значение t, удовлетворяющее сравнениюa hke r r t mod p
(**), где знаки ± должны быть выбраны заранее и фиксированы.
5.Определить в качестве электронной подписи пару (r (mod q),t).
Вкачестве примера зафиксируем в сравнении (**) исключительно знаки +, тогда сравнение (**) принимает вид
ahker rt mod p или ah kd r rt mod p ,
и величина t может быть определена сравнением t h kdr k 1 modq .
Поскольку показатель числа r по модулю р равен q, q -простое число, a k 1,q 1, то такое определение величины t является корректным.
Алгоритм проверки электронной подписи с под сообщением s заключается в проверке выполнимости сравнения (**). Поскольку показатель открытого ключа ke по модулю р равен q, то для проверке подписи достаточно знания величины r (mod q).
Стандарт ГОСТ 34.10-2018
Первый стандарт Российской Федерации на электронную подпись был принят в 1994 году и получил название ГОСТ Р 34.10-94. Данный стандарт должен был использоваться совместно со стандартом ГОСТ Р 34.11-94 на бесключевую функцию хеширования, и реализовывал схему электронной подписи в мультипликативной группе простого поля GF(p), где простое число р удовлетворяло либо условию log2 p 512,
либо log2 p 1024.
Однако существенней прогресс в развитии методов дискретного логарифмирования

4
в мультипликативной группе поля привел к тому, что в 2001 году была принята новая редакция данного стандарта, предписывающая производить вычисления в группе точек эллиптической кривой, определенной над конечным простым полем.
Появившиеся в 2008 году работы по анализу функции хеширования ГОСТ Р 34.1194 привели к необходимости разработки нового алгоритма бесключевой функции хеширования. В результате этого была разработана и стандартизирована новая бесключевая функция хеширования «Стрибог», а также принята третья версия стандарта на электронную подпись ГОСТ Р 34.10-2012, которая стала ныне межгосударственным стандартом ГОСТ 34.10-2018.
Далее мы опишем последний вариант отечественной схемы электронной подписи, позволяющей выработать цифровую подпись длины либо 512, либо 1024 бит. Размер
подписи зависит от используемого варианта функции хеширования «Стрибог». |
|
|
||||||||
|
Открытые параметры схемы |
|
|
|
||||||
Открытыми параметрами схемы являются: |
|
|
|
|
|
|||||
1. простое число р - модуль эллиптической кривой, |
|
|
|
|||||||
2. эллиптическая |
кривая Ea,b GF p [y2 x3 ax b], задаваемая |
своим |
||||||||
инвариантом |
j Ea,b |
1728 |
|
4a |
3 |
|
(a 3ck2 ,b 2ck3 ,c |
j Ea,b |
, |
|
|
|
|
|
|||||||
|
|
|
|
|
||||||
4a |
3 |
|
2 |
1728 j Ea,b |
||||||
|
|
|
27b |
|
|
|
||||
k - произвольный отличный от 0 элемент поля |
GF p ) |
или |
||||||||
коэффициентами |
a,b GF p , |
|
удовлетворяющими |
неравенству |
||||||
4a3 27b2 0 mod p , |
|
|
|
|
|
|
|
3.целое число m - порядок группы точек эллиптической кривой Ea,b GF p ;
4.простое число q - порядок циклической подгруппы группы точек эллиптической кривой Ea,b , для которого выполнены следующие условия:
m nq,n |
, |
|
|
|
q 2256 or 2508 |
|
|
2254 |
q 2512 |
с координатами xp, yp , |
|
5. точка |
эллиптической |
кривой P 0 |
удовлетворяющая равенству qP 0;
6.бесключевая функция хеширования «Стрибог» H :V* Vl , отображающая сообщения, представленные в виде двоичных векторов произвольной конечной длины, в двоичные векторы длины l бит. Функция описана в стандарте ГОСТ 34.11-2018, при этом если 2254 q 2256 , то
l = 256. В противном случае, когда 2508 q 2512 , полается l = 512.
Всоответствии с ГОСТ 34.10-2018, на приведенные выше параметры схемы электронной подписи накладываются следующие требования: .
1.Выполнено условие pt 1 modq , для всех целых t 1,B, где В = 31 при l = 256 или В = 131 при l = 512.
2.Выполнено неравенство m p .
3.Инвариант кривой удовлетворяет условию
j Ea,b 0 mod p |
и j Ea,b 1728 mod p . |
Ключевая система
Каждый пользователь схемы электронной подписи должен обладать личными ключами:
1.секретным ключом kd - целым числом d, удовлетворяющим неравенствам 0 <d< q;

5
2. открытым ключом ke точкой эллиптической кривой Q, с координатами
xq , yq , удовлетворяющей равенству Q dP.
Алгоритмы выработки и проверки электронной подписи
Для получения электронной подписи под сообщением s необходимо выполнить следующие действия.
Алгоритм выработки подписи ГОСТ 34.12-2018
: Параметры схемы a, b, р, q, Р, отображение и сообщение s.
Вход H
Выход: Цифровая подпись с.
|
s , где h GF q |
1. Вычислить значение хеш-функции от сообщения s: h H |
Если выполнено равенство h = 0, то положить h равным 1.
2.Вычислить случайное k GF q * . удовлетворяющее неравенствам 0 <k < q.
3.Вычислить точку эллиптической кривой С =kР и положить r хс mod q .
|
где хс - х-координата точки С. Если r = 0, то вернуться на шаг 2. |
|||||||||||
4. |
Вычислить значение s' |
rd kh |
(modq). Если s' |
= |
0, |
то вернуться на |
||||||
|
шаг 2. |
|
|
|
|
s' . , где |
|
|
|
|
|
|
5. |
Определить цифровую |
подпись c |
|
|| |
|
|
и |
|
|
|
||
r |
|
r |
s' - двоичные |
вектора, соответствующие числам r и s'.
Для проверки подписи с под полученным сообщением s необходимо выполнить следующее действия.
Алгоритм проверки подписи ГОСТ 34.12-2018
Вход: Параметры схемы a,b.p.q,P. отображение подпись с.
Выход: Заключение о том, верна подпись или нет.
, сообщение s и электронная
H
1.По полученной подписи с вычислить целые числа r, s'. Если выполнены неравенства 0 < r, s' < q, то перейти к следующему шагу. В противном случае подпись неверна.
|
s . где h GF q |
2. Вычислить значение хеш-функции от сообщения s: h H |
. Если выполнено равенство h = 0, то положить h равным 1.
3. |
Вычистить значение v h 1 modq . |
|
|
4. |
Вычислить значения z1 sv modq , |
z2 rv modq . |
и r' хC' mod q |
5. |
Вычислить точку эллиптической кривой С' z1P z2Q |
||
|
. где хC' — х-координата точки С’. |
|
|
6.Если выполнено равенство r' = r, то подпись принимается, в противном случае подпись неверна.
Легко проверить, что выполняемые в приведенном алгоритме вычисления
позволяют |
получить |
на последнем шаге истинное равенство, |
если |
сообщение s не |
||
изменено |
(равенство |
|
выполнено как при выработке, |
так |
и при |
проверке |
h H s |
||||||
подписи). Действительно, из равенства для точек эллиптических кривых |
|
|
||||
С' |
z1P z2Q (sv rvd)P v(s rd)P vkhP kP C . |
|
|
|
||
следует не только равенство их х-координат, но и истинность электронной подписи. |
||||||
|
|
|
Стандарт ECDSA |
|
|
|
Американский |
стандарт |
на электронную подпись |
FIPS |
186 |
вначале |
стандартизировал схему электронной подписи Эль-Гамаля. реализуемую в мультипликативной группе конечного простого поля и получившую название DSA (digital signature algorithm). Начиная со второй редакции данного стандарта допускается возмож-

6
ность реализации схемы DSA в группе точек эллиптической кривой, определенной либо над конечным простым полем GF(p) либо над конечным простым полем характеристики 2.
Такую схему принято называть ECDSA (elliptic curve digital signature algorithm).
Далее мы дадим описание схемы ECDSA применительно к группе точек эллиптической кривой, определенной над конечным простым полем GF(p). Открытые параметры такой схемы аналогичны параметрам ГОСТ 34.10-2018, за исключением используемой функции хеширования.
До последнего времени стандарт FIPS 186 предписывал использовать семейство функций SHA, вырабатывающих коды целостности длины l = 160, 256, 384 и 512 бит. Соответственно, изменение длины кода целостности приводит к изменению величины q, определяющей порядок подгруппы, которую порождает точка Р. Мы будем считать, что для q выполнено неравенство 2l q.
Ключевая система схемы ECDSA совпадает с ключевой системой схемы ГОСТ 34.10-2018, описанной выше.
Для выработки и проверки электронной подписи необходимо выполнить следующие действия.
Алгоритм выработки подписи ECDSA
|
|
|
|
|
|
|
|
|
|
|
|
||
Вход: Параметры алгоритма a,b,p,q,P, отображение H , сообщение s. |
|||||||||||||
Выход: Цифровая подпись с под сообщением s. |
|
|
|
|
|
|
|||||||
1. |
Вычислить значение хеш-функции от сообщения s: |
|
|||||||||||
h H s . где h GF q |
|||||||||||||
|
. Если выполнено равенство h = 0, то положить h равным 1. |
||||||||||||
2. |
Вычислить случайное число k |
|
|
и определить точку С = kР. |
|||||||||
1,q 1 |
|||||||||||||
3. |
Определить r хс mod q . где хс - х-координата точки С. |
||||||||||||
4. |
Вычислить |
s' k 1 h dr mod q |
(mod |
|
q) |
и |
|
определить цифровую |
|||||
|
подпись с |
равенством c |
|
|| |
s' . |
, где |
|
|
|
и |
|
|
|
|
r |
|
r |
|
s' - двоичные вектора, |
соответствующие числам r и s'.
Алгоритм проверки подписи ECDSA
Вход: Параметры схемы а, b, p, q. Р, отображение подпись с.
Выход: Заключение о том, верна подпись или нет.
, сообщение s и электронная
H
1.По полученной подписи с вычислить целые числа r, s'. Если выполнены неравенства 0 < r, s' < q, то перейти к следующему шагу. В противном случае подпись неверна.
2. |
|
|
s . где h GF q . |
Вычислить значение хеш-функции от сообщения s: h H |
|||
|
Если выполнено равенство h = 0, то положить h равным 1. |
||
3. |
Вычислить значения z1 hs 1 modq , z2 |
rs 1 modq . |
и r хC' mod q . |
4. |
Вычислить точку эллиптической кривой |
С' z1P z2Q |
|
|
где хC' — х-координата точки С’. |
|
|
5. |
Если выполнено равенство r' = r, то подпись принимается, в противном |
случае подпись неверна.
Так же как и для схемы ГОСТ 34.10-2018, для схемы ECDSA легко проверить, что алгоритм проверки даст истинное суждение если исходное сообщение не изменено. Действительно, равенство точек эллиптической кривой
С' z1P z2Q hs 1P rs 1Q s 1(h dr)P kP C
дает нам равенство их x-координат.
Основное отличие стандарта FIPS 186 от остальных международных стандартов, регламентирующих применение электронной подписи, заключается в том, что FIPS 186

7
жестко определяет параметры эллиптических кривых, используемых в государственных структурах США. Каждая эллиптическая кривая, рекомендованная к использованию, определяется сравнением
E GF p : y2 x3 3x b mod p ,b GF p ,b 2 mod p .
Кроме этого, стандарт в явном виде определяет q — порядок циклической подгруппы, в которой реализуется схема электронной подписи, а также простое число р. Ниже мы приводим список кривых, порядок группы точек которых превышает 160 бит.
Curve Р-192
р= 6277101735386680763835789423207666416083908700390324961279 q =6277101735386680763835789423176059013767194773182842284081 Curve Р-224
р= 26959946667150639794667015087019630673557916260026308143510066298881 q = 26959946667150639794667015087019625940457807714424391721682722368061 Curve Р-256
р= 11579208921035624876269744694940757353008614341529031419553363130886 7097853951
q= 11579208921035624876269744694940757352999695522413576034242225806106 8512044369
Curve Р-384
р= 39402006196394479212279040100143613805079739270465446667948293404245 721771496870329047266088258938001861606973112319 q=39402006196394479212279040100143613805079739270465446667946905279627 659399113263569398956308152294913554433653942643
Curve Р-521 р=686479766013060971498190079908139321726943530014330540939446345910^ 4318339766605212255964066145455497729631139148085803712198799971 812574028291115057151
q = 686479766013060971498190079908139321726943530014330540939446345 43183397655394245057746333217197532963996371363321113864768612340372808 892707005449
Схема Шнорра
Схема электронной подписи Шнорра, как и схема Эль-Гамаля основывается на сложности решения задачи дискретного логарифмирования в некоторой абелевой группе. Как и ранее, мы будем использовать для реализации схемы электронной подписи группу точек эллиптической кривой, определенной над конечным простым нолем.
Будем считать, что открытые параметры схемы и ключевая система аналогичны введенным нами ранее в разделе ГОСТ 34.10-2018
Для выработки электронной подписи необходимо выполнить следующие шаги.
Алгоритм выработки подписи Шнорра
: Параметры схемы a, b, р, q, Р, отображение и сообщение s.
Вход H
Выход: Цифровая подпись с под сообщением s.
1.Вычислить случайное число k 1,q 1 и определить точку С = kР
2.Вычислить значение хеш-функции от сообщения s и случайной точки С,
выработанной на предыдущем шаге : |
|
s||C . где |
h GF q Если |
h H |
выполнено равенство h = 0, то положить h равным 1.
3. Вычислить s' k dh mod q |
и определить цифровую подпись |
|||
c |
|
|| |
s' . |
|
h |
|
Основное отличие схемы электронной подписи Шнорра от схемы Эль-Гамаля заключается в вычислении значения бесключевой функции хеширования не только от

8
подписываемого сообщения s, но и от случайной точки С, выработанной в ходе вычисления подписи. Таким образом, увеличивается защита от атак на построение коллизий для функции хеширования и снижаются накладываемые на нее требования.
Проверка корректности электронной подписи в схеме Шнорра основывается на равенстве точек эллиптической кривой
С s'P h Q s dh P kР
|
s||C . |
и проверке выполнимости равенства h H |
Схема Шнорра разработана одновременно со схемой Эль-Гамаля, но была запатентована автором. Наличие патента повлекло за собой снижение практического интереса к внедрению схемы в средства защиты информации и, в основном, исключение из перечня стандартизированных решений.
Схема Нюберг-Рюппеля
Одним из нормативных документов, представляющих собой комплексное решение целого спектра задач в области криптографии с открытым ключом, является стандарт
IEEE Р1363, разработанный американским институтом IEEE (Institute of Electrical and Electronics Engineers). Стандарт регламентирует несколько семейств криптографических схем, стойкость которых основывается на следующих трудноразрешимых математических задачах:
1.задаче разложения больших целых чисел на множители (задаче факторизации),
2.задаче вычисления дискретного логарифма в циклической подгруппе простого порядка мультипликативной группы простого поля GF(p),
3.задаче дискретного логарифмирования в группе точек эллиптической
кривой.
Одним из предлагаемых стандартом IEEE Р1363 решений в области электронной подписи является схема Нюберг-Рюппеля, стойкость которой основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой. Данную схему принято обозначать ECXR.
Будем считать, что открытые параметры схемы и ключевая система аналогичны введенным нами ранее в разделе ГОСТ 34.10-2018.
Для выработки электронной подписи необходимо выполнить следующие шаги.
Алгоритм выработки подписи Нюберг-Рюппеля
Параметры алгоритма a,b,p,q,P, отображение , сообщение s.
Вход: H
Выход: Цифровая подпись с под сообщением s.
1. Вычислить случайное число k 1,q 1 и определить точку С = kР.
2. Вычислить значение хэш-функции от сообщения s: |
|
s , |
где |
h H |
h GF q . Если выполнено равенство h = 0, то положить h равным 1.
3. Определить r h хс mod q . где хс - х-координата точки С.
4. Вычислить s' k rd (modq) и определить цифровую подпись c r || s' .
Проверка корректности электронной подписи в схеме Нюберг-Рюппеля основывается на равенстве точек эллиптической кривой
С' sР rQ (k rd)P rdP kР C
и проверке выполнимости равенства r h хс mod q , где хс - x-координата точки С, а
величина h определяется равенством |
|
s . |
h H |
Как видно из приведенного выше равенства точек эллиптической кривой, основным достоинством схемы Нюберг-Рюппеля является экономия операций в поле GF(p) при проверке подписи и, как следствие, ускорение времени ее проверки. Это может

9
являться важным в автоматизированных системах централизованной обработки электронной документации.
Схема KCDSA
В рамках стандарта ISO/IEC 15946-2, описывающего «рамочные» международные схемы электронной подписи, предлагается использовать корейскую схему электронной подписи. Данная схема, так же как все изложенные выше, основывается на стойкости дискретного логарифмирования в группе точек эллиптической кривой.
Будем считать, что открытые параметры схемы и ключевая система аналогичны введенным нами ранее в разделе ГОСТ 34.10-2018.
Для выработки электронной подписи необходимо выполнить следующие шаги.
Алгоритм выработки подписи KCDSA
Параметры алгоритма a,b,p,q,P, отображение , сообщение s.
Вход: H
Выход: Цифровая подпись с под сообщением s
1. |
Вычислить случайное число k 1,q 1 и определить точку С = kР |
|
||
2. |
Вычислить значение хеш-функции от точки кривой, r |
|
C . |
|
H |
|
|||
3. |
Вычислить значение хеш-функции от сообщения |
s: |
|
s , где |
h H |
h GF q . Если выполнено равенство h = 0, то положить h равным 1.
4. Определить вычет w r h modq .
5. Вычислить s' d l k w |
mod q и определить цифровую подпись |
|||
c |
|
|| |
s' . |
|
r |
|
Основным отличием данной схемы от изложенных нами выше схем, является использование операции побитового сложения для определения величины w: вначале вычеты r, h представляются как двоичные вектора, после складываются по модулю 2, а после сумма представляется в виде неотрицательного целого числа, которое приводится по модулю q.
Определим . Тогда проверка корректности электронной
q
mod
s
H
r
w
подписи в схеме KCDSA основывается на следующем равенстве точек
С' sQ wP sd w P d 1 k w d w P kP C
и последующей проверке выполнимости равенства . r H C
Данная схема использует бесключевую функцию хеширования для отображения точек эллиптической кривой в вычеты по модулю простого числа q, что повышает ее стойкость к построению коллизий. Вместе с тем двукратное использование бесключевой функции хеширования существенно увеличивает время выработки и проверки подписи.