Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Задача №2. Алгоритм шифрования ГОСТ 28147-89.






Выполните первый цикл алгоритма шифрования ГОСТ 28147 89 в режиме простой замены. Для получения 64 бит исходного текста используйте 8 первых букв из своих данных: Фамилии Имени Отчества. Для получения ключа (256 бит) используют текст, состоящий из 32 букв. Первый подключ содержит первые 4 буквы.

Решение

Исходные данные для зашифрования: ГАЗИЗОВ

Для ключа возьмем последовательность, состоящую из 32 букв:

ГАЗИЗОВ ОТЛИЧНЫЙ СТУДЕНТ

Для первого подключа Х используем первые 4 буквы ключа: ГУЗЕ.

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

исходный текст

Г  
А  
З  
И  
З  
О  
В  
И  

1 Раунд

первый подключ X0

Г  
А  
З  
И  

 

Таким образом, первые 64 бита определяют входную последовательность

L0: 11010100 11000000 11001001 11000111

R0: 11010011 11001011 11001011 11001000

следующие 32 бита определяют первый подключ

Х0: 11000011 11010011 11000111 11000101

I. Найдем значение функции преобразования f(R0, X0)

1). Вычисление суммы R0 и X0 по mod 232

R0: 1101 0011 1100 1011 1100 1011 1100 1000

Х0: 1100 0011 1101 0011 1100 0111 1100 0101

1001 0111 1001 1111 1001 0011 1000 1101

2). Преобразование в блоке подстановки

Результат суммирования R0+X0 по mod 232

1001 0111 1001 1111 1001 0011 1000 1101

преобразуем в блоке подстановки. Для каждого 4-битного блока вычислим его адрес в таблице подстановки. Номер блока соответствует номеру столбца, десятичное значение блока соответствует номеру строки в таблице.

Номера блоков

8 7 6 5 4 3 2 1

1001 0111 1001 1111 1001 0011 1000 1101

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

9 7 9 15 9 3 8 13

Заполнение

2 9 6 2 4 13 2 15

Результат

0010 1001 0110 0010 0100 1101 0010 1111

3). Циклический сдвиг результата п.2 на 11 бит влево

0001 1111 0011 1010 1011 1100 0101 1000

Таким образом, нашли значение функции f (R0, X0):

0001 1111 0011 1010 1011 1100 0101 1000

II. Вычисляем R1= f(R0, X0) Å L0.

Результат преобразования функции f(R0, X0) складываем с L0 по mod2:

L0: 1101 0100 1100 0000 1100 1001 1100 0111

f(R0, X0): 0001 1111 0011 1010 1011 1100 0101 1000

R1: 1100 1011 1111 1010 0111 0101 1001 1111

 

2 Раунд

второй подключ X1

Л  
Ь  
пробел  
П  

 

L1: 1101 0011 1100 1011 1100 1011 1100 1000

R1: 1100 1011 1111 1010 0111 0101 1001 1111

следующие 32 бита определяют второй подключ

Х1: 11001011 11111100 00010000 11001111

I. Найдем значение функции преобразования f(R1, X1)

1). Вычисление суммы R1 и X1 по mod 232

R1: 1100 1011 1111 1010 0111 0101 1001 1111

Х1: 1100 1011 1111 1100 0001 0000 1100 1111

1001 0111 1111 0110 1000 0110 0110 1110

2). Преобразование в блоке подстановки

Результат суммирования R1+X1 по mod 232

1001 0111 1111 0110 1000 0110 0110 1110

преобразуем в блоке подстановки. Для каждого 4-битного блока вычислим его адрес в таблице подстановки. Номер блока соответствует номеру столбца, десятичное значение блока соответствует номеру строки в таблице.

Номера блоков

8 7 6 5 4 3 2 1

1001 0111 1111 0110 1000 0110 0110 1110

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

9 7 15 6 8 6 6 14

Заполнение

2 9 14 13 14 4 15 5

Результат

0010 1001 1110 1101 1110 0100 1111 0101

3). Циклический сдвиг результата п.2 на 11 бит влево

0001 1110 1000 1100 0010 0101 0000 1101

Таким образом, нашли значение функции f (R1, X1):

0001 1110 1000 1100 0010 0101 0000 1101

II. Вычисляем R2= f(R1, X1) Å L1.

Результат преобразования функции f(R1, X1) складываем с L1 по mod2:

L1: 1101 0011 1100 1011 1100 1011 1100 1000

f(R1, X1): 0001 1110 1000 1100 0010 0101 0000 1101

R2: 1100 1101 0100 0111 1110 1110 1100 0101

 


Задача №3. Алгоритм шифрования RSA.

 

Сгенерируйте открытый и закрытый ключи в алгоритме шифрования RSA, выбрав простые числа p и q из первой сотни. Зашифруйте сообщение, состоящее из ваших инициалов: ФИО.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.