69885

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

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

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

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

Украинкский

2014-10-12

312 KB

1 чел.

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.  Складіть звіт, приєднавши отримані результати.

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

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

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

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

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

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

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


 

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

38178. Ідеологічна і психологічна боротьба у міжнародних конфліктах на початку ХХ століття 103.5 KB
  На початку 90х років поняття інформаційна війна зявилося в США й активно увійшло в загальносвітову практику. В США Японії Німеччині Франції Ізраїлі та інших країнах пильна увага приділяється інформації яка по праву вважається одним з головних факторів володіння сучасним світом. В єдиній доктрині протиборства в сфері управління і зв'язку яка була розроблена комітетом начальників штабів військових сил США термін інформаційна війна визначається як сукупність заходів що вживаються з метою досягнення інформаційної перемоги над...
38179. Активные методы обучения как способ продвижения рекламного продукта 323.5 KB
  В результате выполнения дипломной работы разработан универсальный психологический тренинг командообразования, предназначенный для групп, состоящих из 10 – 15 человек, длительностью 16 часов.
38180. Органи державної влади як суб’єкти управління ЗСУ 146 KB
  ЗС України та політична система України Заняття №3: Органи державної влади як суб’єкти управління ЗСУ Час: 2 години Мета заняття: 1. Актуальні проблеми реалізації політики національної безпеки України в оборонній сфері. Конституція України зі змінами відповідно до Закону України Про внесення змін до Конституції Україн膹 2222IV від 8 грудня 2004...
38181. Функції та методи воєнної політології 143.5 KB
  Організація соціального і гуманітарного забезпечення та виховної роботи в Збройних Силах України. Актуальні проблеми реалізації політики національної безпеки України в оборонній сфері. Конституція України зі змінами відповідно до Закону України Про внесення змін до Конституції Україн膹 2222IV від 8 грудня 2004 року.Національна безпека України 1994 ...
38182. Армія і суспільство: принципи взаємодії в умовах демократії 271.5 KB
  Війна – породження політики та її метод для досягнення певної економічної, соціальної, воєнної та іншої мети. Політика, що допускає війну або приводить до війни, є політика війни, але така політика розкриває тільки верхній, стратегічний зріз, що характеризує загальне спрямування діяльності держави.
38183. Політичний потенціал забезпечення обороноздатності України 119 KB
  ОСНОВНА ЧАСТИНА: Чи можлива деполітизація армії Чи можливо на практиці ізолювати армію від політики Автор статті дотримується думки що армія як специфічний інститут держави відіграє важливу роль в політичній системі суспільства. Після розпаду СРСР в Україні та й не тільки виголошувалися заяви навіть на високому державному рівні про необхідність деполітизації армії. Але чи можливо на практиці ізолювати армію від політики У класичній військовій теорії тісний взаємозв’язок політики і армії вже давно було науково встановлено. У самій...
38184. Воєнна організація держави 162 KB
  За роки незалежності відбулося становлення Воєнної організації України загалом. Військові формування можуть виконувати властиві їм функції. Структурні компоненти її продовжують розвиватись, щоб бути готовими відстояти суверенітет України на випадок серйозної воєнної загрози.
38186. ЗС України як юридична та політична система України 229.5 KB
  ЗС України як юридична та політична система України Заняття №1: ЗС України як юридична та політична система України Час: 4 години Мета заняття: формувати у курсантів риси необхідні військовому керівнику для професійної діяльності; сприяти розвитку почуття свідомої військової дисципліни відповідальності і...