- •Содержание
- •Введение
- •I. Теоретическая часть
- •1. Криптография и шифрование
- •1.1 Что такое шифрование
- •1.2 Основные понятия и определения криптографии
- •1.3 Симметричные и асимметричные криптосистемы
- •1.4 Основные современные методы шифрования
- •II. Практическая часть
- •Задача №2. Алгоритм шифрования гост 28147-89.
- •Задача №3. Алгоритм шифрования rsa.
- •Задача №4. Функция хеширования.
- •Задача №5. Электронная цифровая подпись.
- •Заключение
- •Список литературы
Задача №3. Алгоритм шифрования rsa.
Сгенерируйте открытый и закрытый ключи в алгоритме шифрования RSA, выбрав простые числа p и q из первой сотни. Зашифруйте сообщение, состоящее из ваших инициалов: ФИО.
Решение
I.Генерация ключей.
Выберем два простых числа р = 17 и q = 23
Тогда модуль
n = p*q=17*23 = 391
и функция Эйлера
(n) = (p-1)*(q-1) = (17-1)*(23-1)=16*22=352.
Закрытый ключ d выбираем из условий d < (n) и d взаимно просто с (n), т.е. d и (n) не имеют общих делителей.
Пусть d = 41.
Открытый ключ e выбираем из условий e<(n) и de=1(mod (n)): e<352,
41e=1(mod 352).
Последнее условие означает, что число 41e-1 должно делиться на 352 без остатка.
Таким образом, для определения e нужно подобрать такое число k, что
41e-1 = 352 k.
При k=29 получаем 41e=10208+1 или
e=249.
Получаем
(249, 391) – открытый ключ (KU),
( 41, 391) – секретный ключ (KR).
II. Шифрование.
Представим шифруемое сообщение «ГИН» как последовательность целых чисел. Пусть буква «Г» соответствует числу 22, буква «И» - числу 4 и буква «Н» - числу 9.
Зашифруем сообщение, используя открытый ключ (249, 391):
С1 = (22249) mod 391= 114
С2 = (4249) mod 391=123
С3 = (9249) mod 391= 349
Таким образом, исходному сообщению (22, 4, 9) соответствует криптограмма (114, 123, 349).
III. Расшифрование
Расшифруем сообщение (114, 123, 349), пользуясь секретным ключом (41, 391):
М1 = ( 11441) mod 391=22
М2 = (12341) mod 391= 4
МЗ = ( 34941) mod 391=9
В результате расшифрования было получено исходное сообщение (22, 4, 9), то есть "ГИН".
Задача №4. Функция хеширования.
Найти хеш–образ
своей Фамилии, используя хеш–функцию
,
гдеn
= pq,
p,
q
взять из Задачи №2.
Решение
Хешируемое
сообщение «ГАЗИЗОВ». Возьмем два простых
числа p=17,
q=23.
Определим
n=p*q=17*23=391.
Вектор
инициализации
выберем равным 9 (выбираем случайным
образом). Слово«ГАЗИЗОВ»
можно представить последовательностью
чисел 4, 1, 11, 9, 21, 13, 13) по номерам букв в
алфавите. Таким образом,
n=391, H0=9, M1=22, M2=1, M3=11, M4=9, M5=21, M6=13.
Используя формулу
,
получим хеш-образ сообщения «ГАЗИЗОВ»:
H1 = (H0+M1)2 mod n = (9 + 22)2 mod 391 = 961 mod 391=179
H2 = (H1+M2)2 mod n = (179 + 1)2 mod 391 = 32400 mod 391= 338
H3 = (H2+M3)2 mod n = (338 + 11)2 mod 391 = 121801 mod 391= 200
H4 = (H3+M4)2 mod n = (200 + 9)2 mod 391 = 43681 mod 391= 280
H5 = (H4+M5)2 mod n = (280 + 21)2 mod 391 = 90601 mod 391= 280
H6 = (H5+M6)2 mod n = (280 + 13)2 mod 391 = 85849 mod 391= 220
H7 = (H6+M7)2 mod n = (220 + 13)2 mod 391 = 54289 mod 391= 331
В итоге получаем хеш-образ сообщения «ГАЗИЗОВ», равный 361.
Задача №5. Электронная цифровая подпись.
Используя хеш-образ своей Фамилии, вычислите электронную цифровую подпись по схеме RSA.
Решение
Хеш-образ Фамилии равен 361, а закрытый ключ алгоритма RSA равен (41, 391). Тогда электронная цифровая подпись сообщения, состоящего из Фамилии, вычисляется по правилу
s = 361 41 mod 391 = 242.
Для проверки ЭЦП, используя открытый ключ (249, 391), найдем
H = 242 249 mod 391 = 361.
Поскольку хеш-образ сообщения совпадает с найденным значением H, то подпись признается подлинной.
