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

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    5,67 Кб
  • Опубликовано:
    2012-03-27
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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














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

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

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

Задание №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 буквы ключа: ПРОВ.

Переводим исходный текст и первый подключ в двоичную последовательность (см. Приложение Б):

Исходный текст:

M

11001100

А

11000000

X

11010101

Н

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

соответствующие номера строк в таблице подстановки:


Заполнение

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, то подпись признается подлинной.

Похожие работы на - Алгоритмы шифрования данных

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!