Составители:
3.4.1. Выбираем простое число p и два случайных числа q и x (q и x < p),
p = 11, q = 2 и секретный ключ x = 8;
3.4.2. Вычисляем значение открытого ключа y
y = q
x
(mod p) = 2
8
( mod 11) = 3;
3.4.3. Определяем хэш-значение исходного сообщения M, (312)
m = h (M), в данном примере принимаем m = 3 (методика определения хэш-
значения сообщения M приведена в работе 2).
3.4.4. Выбираем случайное целое число k, взаимно простое с p-1.
Принимаем k = 9, НОД ( 9, 10) = 1.
3.4.5. Для формирования ЭЦП вычисляем элементы подписи a и b
a = q
k
(mod p) = 2
9
(mod 11) = 6.
Элемент b определяем с помощью расширенного алгоритма Евклида из
следующего соотношения:
m = (xa + kb) (mod (p-1)) ; 3= (8*6 + 9*b) (mod 10)) = 9*b = -45(mod 10)
b =5.
В данном примере цифровой подписью является пара чисел a = 6, b = 5.
Цифровая подпись S = (a,b) и открытый текст сообщения M
отправляются получателю. Для контроля целостности сообщения и
достоверности ЭЦП получатель вычисляет хэш-значение m′ принятого
открытого текста сообщения M. При этом отправитель и получатель
использует одну и ту же хэш-функцию h (
⋅
).
Получив подписанное сообщение и открытый ключ y = 3, получатель
для проверки подлинности подписи проверяет выполнение условия
y
a
a
b
(mod p) = q
m
′
(mod p)
3
6
*6
5
(mod 11) = 2
3
(mod 11)
5668704(mod 11) = 8 (mod 11)
8(mod 11) = 8(mod 11),
так как условие выполняется, то принятое получателем сообщение
признаётся подлинным.
20