Лабораторные и практики / 13_ПЗ / 13_ПЗ
.pdfМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
_____________________________________________________________________________
Кафедра информационной безопасности телекоммуникационных систем Дисциплина «Основы криптографии»
Практическое задание 13
«Исследование криптосистем с открытым ключом»
Выполнили: |
ст. гр. . |
.
Проверил: |
проф. Яковлев В.А.. |
Санкт-Петербург
2021
Цель работы
Приобретение навыков анализа алгоритмов криптосистем с открытыми ключами.
Выполнение работы
Варианта №6
Задание 1. Моделирование криптографической системы
|
Эль-Гамаля |
|
|
|
|
||
|
|
1. Дано: p=11, a,x,k – в таблице. |
|||||
|
|
2. Сформировать открытый ключ. |
|||||
|
|
3. Зашифровать сообщение m=(№*11+4)mod7, расшифровать |
|||||
|
|
криптограмму, где № Ваш номер по журналу. |
|||||
|
|
4. Подписать сообщение, соответствующее Вашему №, используя хэш- |
|||||
|
|
функцию вида m=(№*13+4)mod7. Проверить подпись. |
|||||
1) |
Вариант №6. |
|
|
|
|
||
|
№ |
|
a |
x |
|
k |
|
|
|
|
|
|
|
|
|
|
6 |
|
6 |
6 |
|
9 |
|
|
|
|
|
|
|
||
|
Если получится, что r или s равно нулю, необходимо выбрать k на единицу |
||||||
|
меньше или больше заданного. Если m=0, то положить m=10. |
||||||
2) Ключ x = 6 - закрытый |
|
|
|||||
|
y = a mod p = 66mod 11 = (62 ∙ 62 ∙ 62) mod 11 = (3 ∙ 3 ∙ 3)mod 11 = 5 |
||||||
|
y=5 - открытый ключ |
|
|
||||
3) |
Зашифрованное сообщение: |
||||||
|
m = (6 ∙ 11 + 4)mod 7 = 0 |
|
|
||||
|
т.к. m=0, то выберем m=10 - открытый ключ |
||||||
|
−1 = yp−2mod p = 59mod 11 = (52 ∙ 52 ∙ 52 ∙ 52 ∙ 5)mod 11 = |
||||||
|
= (3 ∙ 3 ∙ 3 ∙ 3 ∙ 5)mod 11 = 9 |
|
|
||||
Шифрование сообщения |
|
|
|||||
|
|
= mod = 69 mod 11 = (62 ∙ 62 ∙ 62 ∙ 62 ∙ 6)mod 11 = |
|||||
|
1 |
|
|
|
|
|
|
|
= (3 ∙ 3 ∙ 3 ∙ 3 ∙ 6)mod 11 = 2 |
|
|
||||
|
|
= m ∙ −1∙ mod = 10 ∙ 99 mod 11 = (10 ∙ 92 ∙ 92 ∙ 92 ∙ 92 ∙ 9)mod 11 = |
|||||
|
2 |
|
|
|
|
|
|
= (10 ∙ 9 ∙ 4 ∙ 4 ∙ 4 ∙ 4)mod 11 = 6
Расшифрованное сообщение
1 mod p = 26mod 11 = (8 ∙ 8 )mod 11 = 92 ∙ 1 = 6 ∙ 9 mod 11 = 10
10=10, зашифрованное сообщение расшифровано успешно
4)Подпись сообщения
x=6 закрытый ключ
m = (6 ∙ 13 + 4)mod 7 = 6
I-часть подписи
y = axmod p = 5 - открытый ключ (рассчитан ранее в пункте 2)
r = ak = 69 11 = (62 ∙ 62 ∙ 62 ∙ 62 ∙ 6)mod 11 = = (3 ∙ 3 ∙ 3 ∙ 3 ∙ 6)mod 11 = 2
II-часть подписи
найдем k−1: k−1 ∙ k = 1(mod 10) k−1 = 9−1mod 10 = 9
= k−1 ∙ (m − xr)mod(p − 1) = 9 ∙ (6 − 6 ∙ 2)mod 10 = 9 ∙ (−6) 10 = 6
Подпись (r=2, s=6)
Проверка подписи ( ∙ ) = ( ) ( ∙ ) = (52 ∙ 26) 11 = (3 ∙ 8 ∙ 8) 11 = 5
( ) = (66) 11 = (62 ∙ 62 ∙ 62) mod 11 = (3 ∙ 3 ∙ 3)mod 11 = 5
5=5, подпись верна
Задание 2. Моделирование криптографической системы РША
1.Дано: p,q, e,m – в таблице, согласно Вашему номеру.
2.Сформировать закрытый ключ d.
3.Зашифровать сообщение m. Расшифровать криптограмму.
4.Подписать сообщение, проверить подпись.
1)Вариант №6.
№ |
p |
q |
e |
m |
|
|
|
|
|
6 |
5 |
7 |
7 |
9 |
|
|
|
|
|
2)Генерация ключей
N = p ∙ q = 5 ∙ 7 = 35
( ) = ( − 1)( − 1) = 4 ∙ 6 = 24
Числа 7 и 24 взаимно простые.
7 = 7 ∙ 1 24 = 3 ∙ 2 ∙ 2 ∙ 2 ∙ 1
НОД( , ( )) = НОД(7,24) = 1 d = −1( ( )) = 7−1 24
Ищем обратный элемент
24 = 7 ∙ 3 + 3 3 = 24 − 7 ∙ 3 7 = 1 ∙ 6 + 1 = 1 + 2 ∙ 3 1 = 7 − 2 ∙ 3
1 = 7 − 2 ∙ 3 = 7 − (24 − 7 ∙ 3) ∙ 2 = 7 ∙ 7 − 24 ∙ 2 d = 7
Проверка (7 ∙ 7) 24 = 49 24 = 1, верно рассчитали
3)Шифрование сообщения m m = 9
E = me = 97 35 = 92 ∙ 92 ∙ 92 ∙ 9 35 = 11 ∙ 11 ∙ 11 ∙ 9 35 = 9
Расшифрование криптограммы
= E = 97 35 = 92 ∙ 92 ∙ 92 ∙ 9 35 = 11 ∙ 11 ∙ 11 ∙ 9 35 = 9
4)Подпись сообщения d – закрытый ключ,
(e,N) – открытый ключ.
Подписываем сообщение m ключом d:
s = md = 97 35 = 92 ∙ 92 ∙ 92 ∙ 9 35 = 11 ∙ 11 ∙ 11 ∙ 9 35 = 9
Проверка
m = se = 97 35 = 92 ∙ 92 ∙ 92 ∙ 9 35 = 11 ∙ 11 ∙ 11 ∙ 9 35 = 9
9=9, сообщение расшифровано успешно
Вывод:
Приобрели и закрепили навыки анализа алгоритмов криптосистем с открытыми
ключами.