69885

СТАНДАРТ КРИПТОГРАФІЧНОГО ПЕРЕТВОРЕННЯ ДАНИХ

Лабораторная работа

Информатика, кибернетика и программирование

Мета роботи - вивчити структуру алгоритму шифрування ГОСТ 28147-89, на практиці здійснити формування підключів, зашифрування і розшифрування блоку даних алгоритмом ГОСТ з укороченою кількістю циклів.

Украинкский

2014-10-12

312 KB

4 чел.

PAGE  4

Лабораторна робота № 7

Тема: СТАНДАРТ КРИПТОГРАФІЧНОГО ПЕРЕТВОРЕННЯ ДАНИХ

ГОСТ 28147-89

Мета роботи - вивчити структуру алгоритму шифрування ГОСТ 28147-89, на практиці здійснити формування підключів, зашифрування і розшифрування блоку даних алгоритмом ГОСТ з укороченою кількістю циклів.

Загальні відомості.

Стандарт криптографічного перетворення даних ГОСТ 28147-89 рекомендований до використання для захисту будь-яких даних, представлених у вигляді двійкового коду. Цей стандарт формувався з урахуванням світового досвіду, і зокрема, при його розробці були взяті до уваги недоліки алгоритму DES. Стандарт досить складний, тому приведемо лише його концептуальний опис.

ГОСТ 28147-89 – блоковий шифр, який шифрує відкритий текст, розбитий на блоки по 64 біта (на виході також блоки по 64 біта) за 32 цикли перетворень (раундів) за допомогою ключа завдовжки 256 бітів. Потужність множини відкритих ключів ГОСТ дорівнює .

Алгоритм шифрування ГОСТ 28147-89 побудований з використанням сітки Фейстеля.

Алгоритм криптографічного перетворення, встановлений ГОСТ 28147-89, передбачає наступні режими роботи :

1) режим простої заміни;

2) режим гамування;

3) режим гамування із зворотним зв'язком.

Крім того, передбачений додатковий

4) режим вироблення імітовставки.

Усі вони ґрунтуються на трьох базових циклах, що позначаються "32-З", "32-Р" і "16-З". Базові цикли, за суттю, є багатократним повторенням процедури, яка називається основним кроком криптоперетворення. В їх позначенні число (32 або 16) вказує на число повторень основного кроку, буква (З або Р) вказує на різновид порядку використання елементів ключа.

Існують два типи ключів: довготривалий  і сеансовий  розміром 512 і 256 бітів відповідно. Таблиця заміни є матрицею 8х16 з 4-бітових елементів. Кожен рядок таблиці  містить різні значення і є перестановкою множини . Ключ  реалізує потетрадну заміну 32-розрядних підблоків в 32-х розрядні. У стандарті довготривалий ключ  називається блоком підстановки, а подключи  - вузлами замін.

Сеансовий ключ  складається з восьми 32-розрядних підключів , кожен з яких у відповідний момент використовується для підсумовування з деяким блоком за модулем 2.

Основний крок криптоперетворення приймає на вході два параметри: 64-бітовий блок даних і 32-бітовий елемент ключа, а також використовує усю таблицю замін.

64-бітовий блок даних спочатку розбивається на ліву і праву половини  і . В -му циклі алгоритм ГОСТ 28147-89 виглядає так:

;

.

Функція  обчислюється так:

32-бітовий вхідний підблок  і 32-бітовий елемент ключа  додаються за модулем . Результат розбивається на 8 4-бітових послідовностей (тетрад), кожна з яких поступає на вхід свого вузла  , таблиці замін. Вузол  є таблицею заміни для -ої (ліворуч) тетради, тобто складається з 16 тетрад. Кожна тетрада замінюється на значення елементу таблиці замін з рядка з номером, рівним номеру 4-бітового блоку, і стовпця з номером, рівним значенню 4-бітового блоку (рахунок з 0). Фактично, вузли таблиці заміни є додатковим ключовим матеріалом, але частіше вони є параметром схеми, загальним для певної групи користувачів. У тексті стандарту вказується, що заповнення вузлів заміни проводиться в установленому порядку, тобто розробником алгоритму.

Сеансовий ключ  складається з конкатенації восьми 32-х розрядних підключів , кожен з яких у відповідний момент додається з деяким підблоком за модулем (операція +).

Виходи усіх восьми вузлів заміни об'єднуються в 32-бітове слово, потім усе слово циклічно зсувається вліво на 11 бітів у бік старших розрядів. Далі воно порозрядно додається за модулем 2 з другою частиною вхідного 64-бітового блоку. Потім набуте значення ставиться на місце другої частини 64-бітового блоку, а друга частина – на місце першої. Отриманий блок повертається як результат.

Основний крок криптоперетворення алгоритму ГОСТ 28147-89 показаний на мал. 1:

Рис.1. Основний крок криптоперетворення алгоритму ГОСТ 28147-89

Зашифрування блоку відкритого тексту алгоритмом ГОСТ 28147-89 виробляється за 32 цикли. На кожному циклі відбувається перетворення вхідної комбінації у вихідну. Шифртекстом є результат роботи (вихід) тридцять другого циклу, підданий дуже простому додатковому перетворенню.

Режими роботи ГОСТ 28147-89:

Режим простої заміни приймає на вхід дані, розмір яких кратний 64-м бітам. Результатом шифрування є вхідний текст, перетворений блоками по 64 біти у разі зашифрования циклом "32-З", а у разі расшифрования – циклом "32-Р".

На кожному циклі відбувається перетворення вхідної комбінації у вихідну. Шифртекстом є результат роботи (вихід) тридцять другого циклу, підданий дуже простому додатковому перетворенню.

Процес зашифрування в режимі простої заміни, який позначимо через , можна представити у вигляді послідовності 34 блоків , де  і .

Тут  – результат роботи циклу номер 0,  – результат роботи циклу номер 1 і так далі,  – результат роботи циклу номер 31. Додаткове перетворення міняє порядок дотримання блоків: .

На циклі з номером  використовується підключ . Послідовність вибору підключів, від початкового і до останнього циклу, при зашифруванні наступна:

.

При розшифруванні використовується зворотний порядок дотримання підключів.

Режим гамування приймає на вхід дані будь-якого розміру, а також додатковий параметрсинхропосилку. Синхропосилка – несекретний псевдовипадковий 64-бітовий блок. Синхропосилка виробляється на кожне повідомлення і розміщується в криптограмі перед шифрованим текстом. В ході роботи синхропосилка перетворюється в циклі "32-З", результат ділиться на дві частини. Перша частина додається за модулем  з постійним значенням 1010101016. Якщо друга частина дорівнює , то її значення не змінюється, інакше вона додається за модулем  з постійним значенням 1010104016. Отримане об'єднанням обох перетворених частин значення, яке називається гаммою шифру, поступає в цикл "32-З", його результат порозрядно додається за модулем 2 із 64-розрядним блоком вхідних даних. Якщо останній менше 64-х розрядів, то зайві розряди отриманого значення відкидаються. Отримане значення подається на вихід. Якщо ще є вхідні дані, то дія повторюється: складений з 32-розрядних частин блок перетворюється по частинах і так далі.

Режим гамування із зворотним зв'язком також приймає на вхід дані будь-якого розміру і синхропосилку. Блок вхідних даних порозрядно додається за модулем 2 з результатом перетворення в циклі "32-З" синхропосилки. Отримпне значення подається на вихід. Значення синхропосилки замінюється у разі зашифрування вихідним блоком, а у разі розшифрування – вхідним, тобто зашифрованим. Якщо останній блок вхідних даних менше 64 розрядів, то зайві розряди гамми (виходу циклу "32-З") відкидаються. Якщо ще є вхідні дані, то дія повторюється: з результату зашифрування заміненого значення утворюється гамма шифру і так далі

У режимі гаммування із зворотним зв'язком , ,  – комбінація відкритого тексту.

Режим вироблення імітовставки приймає на вхід дані, розмір яких складає не менше двох повних 64-розрядних блоків, а повертає 64-розрядний блок даних, який називається імітовставкою. Тимчасове 64-бітове значення встановлюється в 0, далі, поки є вхідні дані, воно порозрядно додається за модулем 2 з результатом виконання циклу "16-З", на вхід якого подається блок вхідних даних. Після закінчення вхідних даних тимчасове значення повертається як результат.

Порядок виконання роботи.

  1.  Вивчите загальні відомості про Стандарт криптографічного перетворення ГОСТ 28147-89.
  2.  Для представлених нижче блоку підстановки  і сеансового ключа , зашифрувати блок 

а) в режимі простої заміни алгоритму ГОСТ 28147-89 з кількістю циклів .

б) в режимі гаммування з використанням синхропосилки .

0

A

1

E

7

0

B

9

A

1

1

E

7

0

B

9

A

A

2

E

7

0

B

9

A

A

1

3

7

0

B

9

A

A

1

E

4

0

B

9

A

A

1

E

7

5

B

9

A

A

1

E

7

0

6

9

A

A

1

E

7

0

B

7

A

A

1

E

7

0

B

9

8

A

1

E

7

0

B

9

A

9

1

E

7

0

B

9

A

A

10

E

7

0

B

9

A

A

1

11

7

0

B

9

A

A

1

E

12

0

B

9

A

A

1

E

7

13

B

9

A

A

1

E

7

0

14

9

A

A

1

E

7

0

B

15

A

A

1

E

7

0

B

9

1

10000001

80000001

80000002

80000004

80000008

80000010

80000020

80000040

2

80000080

80000800

80008000

800000008

80080000

80800000

80000000

00000080

B

1

0000000010000002

2

0000000120000000

3

0000001000010000

4

0000010010000000

5

0000100000000008

6

0001000020000000

7

0010000040000000

8

0100000000000008

9

1000000000010000

10

0000000800010000

11

0000008080000000

12

0000080000000008

13

0000800000010000

14

0008000000010000

15

0080000000010000

16

0800000010000000

17

8000000100000000

18

0000000100080000

19

0000000040000001

0000000210000000

20

0000004000010000

21

0000010020000000

22

0000100000000002

23

0004000020000000

24

0040000010000000

25

0100000000000004

1

FFFFFFFF00000000

2

FFFFFFF010000000

3

FFFFFF0F20000000

4

FFFFF0FF30000000

5

FFFF0FFF40000000

6

FFF0FFFF50000000

7

FF0FFFFF60000000

8

F0FFFFFF70000000

9

00FFFFFFF80000000

10

FFFFFF0090000000

11

FFFFF00FA0000000

12

FFFF00FFB0000000

13

FFF00FFFC0000000

14

FF00FFFFD0000000

15

F00FFFFFE0000000

16

0000FFFFFFF0000000

17

ЕЕЕЕЕЕЕЕ00000000

18

ЕЕЕЕЕЕЕ010000000

19

ЕЕЕЕЕЕ0Е20000000

20

ЕЕЕЕЕ0ЕЕ30000000

21

ЕЕЕЕ0ЕЕЕ40000000

22

ЕЕЕ0ЕЕЕЕ50000000

23

ЕЕ0ЕЕЕЕЕ60000000

24

Е0ЕЕЕЕЕЕ70000000

25

00ЕЕЕЕЕЕЕ80000000

Примітка. Дані задані в шістнадцятьковій системі числення.

  1.  Складіть звіт, приєднавши отримані результати.

Вимоги до звіту.

У звіті мають бути приведені:

криптографічна схема алгоритму ГОСТ для режиму простої заміни;

сеансовий ключ;

відкритий блок повідомлення;

зашифрований блок повідомлення (у двійковому представленні);

проміжні результати процесу зашуфровання (у двійковому представленні).


 

А также другие работы, которые могут Вас заинтересовать

43487. Птенцы гнезда Петрова 108.5 KB
  Содержание Введение Жизнь Петра I Оценка личности Петра Великого Оценка реформ Петра Птенцы гнезда Петрова Лефорт Франц Яковлевич Меншиков Александр Данилович Шереметев Борис Петрович Ромодановский Федор Юрьевич Брюс Роман Вилимович Заключение...
43488. АНАЛИЗ НАЛОГОВЫХ ОБЯЗАТЕЛЬСТВ ООО «ПРОФМЕДИА ФИНАНС» 293 KB
  Целью налогового учета является формирование полной и достоверной информации о порядке учета хозяйственных операций а также обеспечение информацией внутренних и внешних пользователей обеспечивающей контроль за правильностью исчисления полнотой и своевременностью уплаты в бюджет налога. В главе 25 НК РФ нашли отражение следующие принципы ведения налогового учета: принцип денежного измерения т. 271 272 НК РФ; принцип последовательности применения норм и правил налогового учета т. нормы и правила налогового учета должны применяться...
43489. Информационно-поисковая система веб-форума 402 KB
  Сортировка производится согласно выбранному алфавиту (по умолчанию используется шведский). Эту установку можно изменить при запуске сервера MySQL. Чтобы ознакомиться с примером очень грамотной сортировки, можно обратиться к коду сортировки для чешского языка. MySQL поддерживает много различных кодировок, которые можно задавать во время компиляции и в процессе работы.
43490. ГРАЖДАНСКОЕ ПРАВО. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ 183 KB
  Общая характеристика договора розничной куплипродажи. Понятие договора розничной куплипродажи Элементы договора розничной куплипродажи. Виды договора розничной куплипродажи. Содержание договора розничной куплипродажи Обязанности продавца.
43491. ИСТОРИЯ ГОСУДАРСТВА И ПРАВА. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ 72.5 KB
  При разработке темы курсовой работы следует использовать материалы учебников и учебных пособий по курсу соответствующей дисциплины дополняя их при необходимости сведениями из смежных юридических история государства и права России история политических и правовых учений римское право конституционное право административное право международное право и др. Основные черты древневосточного права Древнегреческий полис как форма античной государственности. Источники римского права.
43492. ИСТОРИЯ ОТЕЧЕСТВЕННОГО ГОСУДАРСТВА И ПРАВА. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИ 76 KB
  При написании курсовой работы студент овладевает навыками работы с источниками специальной литературой учится приемам самостоятельного творческого исследования. Ответственность за достоверность данных содержащихся в работе и за соответствие ее требованиям несет автор исполнитель курсовой работы. Алгоритм написания курсовой работы выглядит следующим образом: Шаг первый выбор темы.
43493. Информационная система Оценка оплаты отгруженного товара 2.45 MB
  В справочнике заказчиков хранятся данные о заказчиках: их наименованиях кодах адресах и датах заключения договоров. Условно постоянная информация Форма. Справочник готовой продукции Наименование изделия Код изделия Единица измерения Код единицы измерения Цена за единицу руб. 1 18 Форма 2 Данные о заказчиках взяты из договоров Наименование заказчика Код заказчика Адрес Дата заключения договора Магазин В школу 501 Ул.2010 Оперативно учетная информация Форма 3 Данные об отгрузке товаров из ТТН № ТТН Дата отгрузки Код заказчика...
43494. КРИМИНАЛИСТИКА. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ И ЗАДАНИЯ 51.5 KB
  Расследование преступных нарушений правил безопасности и охраны труда . Расследование преступных нарушений правил дорожного движения. Расследование преступлений скрытых инсценировками. Расследование преступлений совершенных в условиях неочевидности.
43495. Процесс управления организацией на основе анализа деятельности фирмы ЗАО «Комфорт» 338 KB
  Миссия организации и стратегическое видение Цели организации SWOTанализ Оценка и анализ внешней среды Управленческое обследование внутренних сильных и слабых сторон организации Анализ стратегических альтернатив и выбор стратегии Реализация стратегического плана Организация взаимодействия и полномочия Мотивация Контроль Выводы и рекомендации Далее описывается основное содержание глав курсовой работы. Рекомендации по выполнению курсовой работы Характеристика организации В настоящем разделе кратко излагаются основные характеристики...