1) Вычисление хэш-значения сообщения М: m = h (M).
2) Для получения ЭЦП шифруем хэш-значение т с помощью секретного ключа d и отправляем получателю цифровую подпись:
S = md (mod n)
и открытый текст сообщения М.
5.2.3. Аутентификация сообщения –
Проверка подлинности подписи
1) Расшифровка цифровой подписи S с помощью открытого ключа е и вычисление её хэш-значения т'= S (mod n ).
2) Вычисление хэш-значения принятого открытого текста М:
m=h(M).
3) Сравнение хэш-значений т и т’: если т=т’ то цифровая подпись S – достоверна.
Порядок выполнения работы соответствует, приведённому выше алгоритму формирования ЭЦП по схеме RSA.
Процедуру формирования ЭЦП сообщения М рассмотрим на следующем простом примере.
5.2.4. Пример вычисления хэш-значения сообщения М: т = h(M)
И проверки подлинности ЭЦП
1) Хешируемое сообщение М представим, например, как последовательность целых чисел: 312. В соответствии с приведённым выше алгоритмом формирования ЭЦП RSA выбираем два взаимно простых числа р = 3, q = 11, вычисляем значение п =p∙q = 3∙11 = 33, выбираем значение секретного ключа d = 7 и вычисляем значение открытого ключа е = 3. Вектор инициализации H0 выбираем равным 6 (выбирается случайным образом). Хэш-код сообщения М =312 формируется следующим образом:
|
|
Н1 = (М1 + H0)2(mod п) = (3 + 6)2 (mod 33) = 81 (mod 33) = 15;
Н2 = (М2 + H1)2 (mod n) = (1+15)2 (mod 33) = 256 (mod 33) = 25;
Н3 = (М3 + H2)2 (mod п) = (2 + 25)2 (mod 33) = 729 (mod 33) =3.
Итоговое хэш-значение: т=3.
2) Для получения ЭЦП шифруем хэш-значение m с помощью секретного ключа d =7 и отправляем получателю цифровую подпись:
S = md (mod п) и открытый текст сообщения М,
S = 37 (mod 33) = 2187 (mod 33) = 9.
Проверка подлинности ЭЦП.
Расшифровка S (т. е. вычисление её хэш-значения т’)производится с помощью открытого ключа е:
т'= Sе (mod п) = 93 (mod 33) = 729 (mod 33) = 3.
Если сравнение хэш-значений m' и m показывает их равенство, т.е. m=m' то подпись достоверна.
Задание для выполнения лабораторной работы
Для выполнения лабораторной работы группа студентов разбивается на пары. Каждый студент генерирует свой открытый и секретный ключ. Далее участники из каждой пары, выполнив хэширование своего сообщения и подписав его каждый своим секретным ключом, обмениваются результатами (М, S) и проверяют подлинность полученных сообщений.
Содержание сообщения М и числа p и q выбираются по таблице 5.1. Например, для варианта 61 шифруемое слово будет «область», а начальные параметры для генерации ключей – p =5, q =11.
Таблица 5.1
Исходные данные для выполнения работы
Первая цифра номера варианта | ||||||||||
Шифруемое слово | ||||||||||
доступ | добыча | загадка | анализ | защита | подход | область | уровень | сервер | система | |
Н0 | ||||||||||
Вторая цифра номера варианта | ||||||||||
Параметры шифрования | ||||||||||
P | ||||||||||
q |
|
|