![](/user_photo/2706_HbeT2.jpg)
- •Введение
- •Задание № 1 Задача 1. Несимметричное шифрование – дешифрование.
- •Методические указания к решению задания 1.1
- •Задача 2. Хеширование и цифровая подпись документов.
- •Задание №2 Задача 1. Система с открытым ключом Диффи-Хелмана
- •Задача 2. Шифрование по алгоритму Шамира
- •Задача 3. Шифрование по алгоритму Эль- Гамаля
- •Т а б л и ц а 5.1 – Ключи пользователей в системе Эль – Гамаля
- •Заключение
- •Список литературы:
Задача 2. Хеширование и цифровая подпись документов.
Используя данные задания 1.1, получить хеш – код m для сообщения М при помощи хеш-функции Н, взятой из рекомендаций МККТТ Х.509. Вектор инициализации Н0 выбрать равным нулю.
Вычислить цифровую подпись методом RSA под электронным документом М, используя рассчитанный хеш – код m и секретный ключ d.
Представить схему цифровой подписи с подробным описанием ее функционирования.
Хеш-функцию МККТТ Х.509 запишем следующим образом:
Hi=[(Hi-1 Mi)2] (mod n), где i=l,n, H0 – вектор инициализации, Мi =М1,М2,М3…,Мn - -длина блока.
Все блоки делят пополам и к каждой половине прибавляют равноценное количество единиц. С преобразованными таким образом блоками производят интеграционные действия.
Порядок вычисления хеш-кода:
а) Получить значение модуля: n=p*q=11*17=187
б) Представить сообщение в виде номеров букв русского алфавита в десятичном и двоичном видах:
Ч И С Л О
24 9 18 12 15
00011000 00001001 00010010 00001100 00001111
в) Разбить байт пополам, добавив в начало полубайта единицы и получить хешируемые блоки Мi:
M1 |
M2 |
M3 |
M4 |
M5 |
M6 |
M7 |
11110001 |
11111000 |
11110000 |
11111001 |
11110001 |
11110010 |
11110000 |
M8 |
M9 |
M10 |
| |||
11111100 |
11110000 |
11111111 |
г) Выполнить итеративные шаги:
Первая итерация
М1 |
11110001 |
|
|
Н0=0 |
00000000 |
Н0 М1 |
11110001= 24110 |
[(H0 M1)2] (mod187) |
241 mod 187 = 54 |
Н1 |
00110110 |
Вторая итерация
М2 |
11111000 |
|
|
Н1 |
00110110 |
Н1 М2 |
11001110 = 20610 |
[(H1 M2)2] (mod187) |
206 mod 187 = 19 |
Н2 |
00010011 |
Третья итерация
М3 |
11110000 |
|
|
Н2 |
00010011 |
Н2 М3 |
11100011 = 22710 |
[(H2 M3)2] (mod187) |
227 mod 187 = 40 |
Н3 |
00101000 |
Четвертая итерация
М4 |
11111001 |
|
|
Н3 |
00101000 |
Н3 М4 |
11010001 = 20910 |
[(H3 M4)2] (mod209) |
209 mod 187 = 22 |
Н4 |
00010110 |
Пятая итерация
М5 |
11110001 |
|
|
Н4 |
00010110 |
Н4 М5 |
11100111 = 23110 |
[(H4 M5)2] (mod187) |
231 mod 187 = 44 |
Н5 |
00101100 |
Шестая итерация
М6 |
11110010 |
|
|
Н5 |
00101100 |
Н5 М6 |
11011110 = 22210 |
[(H5 M6)2] (mod187) |
222 mod 187 = 35 |
Н6 |
00100011 |
Седьмая итерация
М7 |
11110000 |
|
|
Н6 |
00100011 |
Н6 М7 |
11010011 = 21110 |
[(H6 M7)2] (mod187) |
211 mod 187 = 24 |
Н7 |
00011000 |
Восьмая итерация
М8 |
11111100 |
|
|
Н7 |
00011000 |
Н7 М8 |
11100100 = 22810 |
[(H7 M8)2] (mod187) |
228 mod 187 = 41 |
Н8 |
00101001 |
Девятая итерация
М9 |
11110000 |
|
|
Н8 |
00101001 |
Н8 М9 |
11011001 = 21710 |
[(H8 M9)2] (mod187) |
217 mod 187 = 30 |
Н9 |
00011110 |
Десятая итерация
М10 |
11111111 |
|
|
Н9 |
00011110 |
Н9 М10 |
11100001 = 22510 |
[(H9 M10)2](mod187) |
225 mod 187 = 38 |
Н10 |
00100110 |
Таким образом, исходное сообщение ЧИСЛО имеет хэш – код m=38.
Для вычисления цифровой подписи используем следующую формулу:
S=md (mod n) = 387 mod 187 = 47
Пара (M, S) передается получателю как электронный документ М, подписанный цифровой подписью S, причем подпись S сформирована обладателем секретного ключа d.
Получив пару (M, S), получатель вычисляет хэш – код сообщения М двумя способами:
1) Восстанавливает хэш – код m’, применяя криптографическое преобразование подписи S с использованием открытого ключа e:
m’=Se (mod n) =4723 mod 187 = 38
2) Находит результат хеширования принятого сообщения с помощью той же хэш – функции: m=H(M) =38.
При равенстве вычисленных значений m’ и m получатель признает пару (M, S) подлинной.