Алгоритмы шифрования данных

 














КОНТРОЛЬНАЯ РАБОТА


по курсу «ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»


Задания на контрольную работу


Задание №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 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ