Алгоритмы шифрования данных
КОНТРОЛЬНАЯ РАБОТА
по курсу «ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»
Задания на контрольную работу
Задание №1. Шифр Цезаря.
Используя шифр Цезаря, зашифруйте свои данные: Фамилию Имя Отчество.
Задание №2. Алгоритм шифрования ГОСТ 28147-89.
Выполните первый цикл алгоритма шифрования ГОСТ 28147 89 в режиме простой замены. Для получения 64 бит исходного текста используйте 8 первых букв из своих данных: Фамилии Имени Отчества. Для получения ключа (256 бит) используют текст, состоящий из 32 букв. Фразу придумайте сами (не такую, как в примере). Первый подключ содержит первые 4 буквы.
Задание №3. Алгоритм шифрования RSA.
Сгенерируйте открытый и закрытый ключи в алгоритме шифрования RSA, выбрав простые числа p и q из первой сотни (не такие, как в примере). Зашифруйте сообщение, состоящее из ваших инициалов: ФИО.
Задание №4. Функция хеширования.
Найдите хеш-образ своей Фамилии, используя хеш-функцию
,
где n = pq, p, q взять из Задания №3.
Задание №5. Электронная цифровая подпись.
Используя хеш-образ своей Фамилии, вычислите электронную цифровую подпись по схеме RSA.
Задание №1. Шифр Цезаря. Используя шифр Цезаря, зашифруйте свои данные: Фамилию Имя Отчество
Используем алфавит, содержащий 33 буквы и пробел, стоящий после буквы Я:
АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯпробел
Ключом в шифре Цезаря возьмем число 4. Каждая буква в исходном тексте сдвигается по алфавиту на 4 позиции. Таким образом, получаем:
Задание №2. Алгоритм шифрования ГОСТ 28147-89.
Выполните первый цикл алгоритма шифрования ГОСТ 28147-89 в режиме простой замены (Приложение А). Для получения 64 бит исходного текста используйте 8 первых букв из своих данных: Фамилии Имени Отчества. Для получения ключа (256 бит) используют текст, состоящий из 32 букв. Первый подключ содержит первые 4 буквы.
Исходные данные для шифрования: МАХНАЧ А
Для ключа возьмем последовательность состоящую из 32 букв (любая фраза, состоящая из 32 букв):
ПРОВерка работоспособности сейфа
Для первого подключа Х используем первые 4 буквы ключа: ПРОВ.
Переводим исходный текст и первый подключ в двоичную последовательность (см. Приложение Б):
Исходный текст:
M11001100А11000000X11010101Н11001101А11000000Ч11010111пробел00100000А11000000
Первый подключ X0
П11001111Р11010000О11001110В11000010
Таким образом, первые 64 бита определяют входную последовательность
L0:11001100 11000000 11010101 11001101 - исх. стар. Биты
R0:11000000 11010111 00100000 11000000 - исх. млад. биты
следующие 32 бита определяют первый подключ
Х0:11001111 11010000 11001110 11000010 - ключ
Этап I. Найдем значение функции преобразования f(R0,X0) (см. Приложение А)
Шаг 1). Вычисление суммы R0 и X0 по mod 232 (арифметическое сложение)
R0:1100 0000 1101 0111 0010 0000 1100 0000
Х0:1100 1111 1101 0000 1100 1110 1100 0010
0000 1010 0111 1110 1111 1000 0010
ШагH 2). Преобразование в блоке подстановки
Результат суммирования R0+X0
0000 1010 0111 1110 1111 1000 0010
преобразуем в блоке подстановки (см. Приложение В). Для каждого 4-битного блока вычислим его адрес в таблице подстановки. Номер блока соответствует номеру столбца, десятичное значение блока соответствует номеру строки в таблице. Таким образом, 5-тый блок (1011) заменяется заполнением 11-ой строки и пятого столбца в таблице подстановки (1110).
номера блоков:
7 6 5 4 3 2 1
0000 1010 0111 1110 1111 1000 0010
соответствующие номера строк в таблице подстановки:
0 10 11 14 15 8 2
Заполнение
13 8 14 5 11 2 9
Результат (перевод заполнения в двоичную систему счисления):
1101 1000 1110 0101 1011 0010 1001
Шаг3). Циклический сдвиг результата Шага 2 на 11 бит влево
0010 1101 1001 0100 1001 0110 1100
Таким образом, нашли значение функции f (R0,X0).
Этап II. Вычисляем R1= f(R0,X0) ÅL0 Логическое сложение с исключением.
L0: 1100 1100 1100 0000 1101 0101 1100 1101
f(R0,X0): 0111 0010 1101 1001 0100 1001 0110 1100
R1: 1011 1110 0001 1001 1001 1100 1010 0001
Задание №3. Алгоритм шифрования RSA
Сгенерируйте открытый и закрытый ключи в алгоритме шифрования RSA, выбрав простые числа p и q из первой сотни. Зашифруйте сообщение, состоящее из ваших инициалов: ФИО.
Шаг1. Генерация ключей.
Выберем два простых числа р = 5 и q = 19 Тогда
n = pq=5*19 = 95
и функция Эйлера
j(n) = (p-1)(q-1) = 4*18 = 72
Закрытый ключ d выбираем из условий d < j(n) и d взаимно просто с j(n), т.е. d и j(n) не имеют общих делителей. Пусть d = 31.
Открытый ключ e выбираем из условий e<j(n) и de = 1(mod j(n)): e<72, 31e =1 (mod 72). Напомним, что операция mod - это получение остатка от целочисленного деления.
Условие 31e =1 (mod 72) означает, что число 31e-1 должно делиться на 72 без остатка. Таким образом, для определения e нужно подобрать такое число k, что 31e-1 = 72 k.
При k=3 получаем 31e=216+1 или e=7.
В нашем примере
(7, 95) - открытый ключ,
( 31, 95) - секретный ключ.
Шаг 2. Шифрование.
Представим шифруемое сообщение «МАС» как последовательность целых чисел (порядковые номера букв в алфавите). Пусть буква «М» соответствует числу 14, буква «А» - числу 1 и буква «С» - числу 19.
Зашифруем сообщение, используя открытый ключ (7, 95):
С1 = (147) mod 95= 79
С2 = (17) mod 95= 1
С3 = (197) mod 95= 19
Таким образом, исходному сообщению (14, 1, 19) соответствует криптограмма (79, 1, 19).
Шаг3. Расшифрование
Расшифруем сообщение (79, 1, 19), пользуясь секретным ключом (31,95):
М1 = ( 7931) mod 95 =14
М2 = (131) mod 95 = 1
МЗ = ( 1931) mod 95 =19
В результате расшифрования было получено исходное сообщение (14, 1, 19), то есть "МАС".
двоичный хеширование шифрование алгоритм
Задание №4. Функция хеширования
Найти хеш-образ своей Фамилии, используя хеш-функцию
где n = pq, p, q взять из Задания №3.
Хешируемое сообщение «МАХНАЧ».
Выберем два простых числа р = 5 и q = 19. Тогда
n = pq=5*19 = 95
Вектор инициализации H0 выберем равным 8 (выбираем случайным образом). Слово «МАХНАЧ» можно представить последовательностью чисел (14,1,23,15,1,25) по номерам букв в алфавите. Таким образом,
=95, H0=8, M1=14, M2=1, M3=23, M4=15, M5=1, M6=25.
Используя формулу
,
получим хеш-образ сообщения «МАХНАЧ»:
H1=(H0+M1)2 mod n = ( 8 + 14)2 mod 95 = 484 mod 95 =92=(H1+M2)2 mod n = (153 + 16)2 mod 95 = 100 mod 95 = 53=(H2+M3)2 mod n = (156 + 9)2 mod 95 = 784 mod 95 = 244=(H3+M4)2 mod n = ( 55 + 10)2 mod 95 = 1521 mod 95 = 15=(H4+M5)2 mod n = ( 26 + 15)2 mod 95 = 4 mod 95 = 46=(H5+M6)2 mod n = (199 + 1)2 mod 95 = 841 mod 95 = 81
В итоге получаем хеш-образ сообщения «МАХНАЧ», равный 81.
Задание №5. Электронная цифровая подпись. Используя хеш-образ своей Фамилии, вычислите электронную цифровую подпись по схеме RSA
Пусть хеш-образ Фамилии равен 81, а закрытый ключ алгоритма RSA равен (31, 95). Тогда электронная цифровая подпись сообщения, состоящего из Фамилии, вычисляется по правилу
s = 8131 mod 95 = 57.
Для проверки ЭЦП, используя открытый ключ (121, 247), найдем
H = 577 mod 95 = 81.
Поскольку хеш-образ сообщения совпадает с найденным значением H, то подпись признается подлинной.
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Контрольная работа
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ