67185

СИМЕТРИЧНІ КРИПТОПЕРЕТВОРЕННЯ ШИФРУВАНННЯ

Лекция

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

Симетричне криптографічне перетворення у вигляді блокового симетричного шифру БСШ знайшло широке застосування на практиці. БСШ будуються на основі використання декількох симетричних криптографічних перетворень елементарних шифрів більшість яких розглянуто вище в підрозділі...

Украинкский

2014-09-04

177.37 KB

9 чел.

ПРИКЛАДНА КРИПТОЛОГІЯ

ЛЕКЦІЯ №7(2.4)

тема лекції

«СИМЕТРИЧНІ КРИПТОПЕРЕТВОРЕННЯ ШИФРУВАНННЯ»

Навчальні питання

7.1 Аналіз таблиць  підстановки   на прикладі ГОСТ 281347 -89.

7.2 Побудування таблиць підстановки типу « байт в байт»(AES)

7.3  Блочні симетричні шифри та їх властивості.

7.4 Блокові симетричні шифри на основі  SPN  структури

Додаток А -   Задачі для самостійного розв'язку 

Джерела, що рекомендуються  до самостійної роботи

  1.  Горбенко І.Д., Горбенко Ю.І. Прикладна криптологія. Монографія (електронний варіант). Харків, ХНУРЕ, 2011 р.
  2.  Горбенко І.Д., Горбенко Ю.І. Прикладна криптологія. Електронний конспект лекцій. Харків, ХНУРЕ, 2011 р.
  3.  Горбенко І. Д. Гриненко Т. О. Захист інформації в інформаційно-телекомунікаційних системах: Навч. посібник. Ч.1. Криптографічний захист інформації - Харків: ХНУРЕ, 2004 - 368 с.

Горбенко Ю.І., Горбенко І.Д. Інфраструктури відкритих ключів . Системи ЕЦП. Теорія та практика. Харків.  Форт. 2010 , 593с

7.1 Аналіз таблиць  підстановки   на прикладі ГОСТ 281347 -89.

        Функція шифрування fш , що наведена на рис. 2.6, включає дві операції [ 55 ]. Перша операція – підстановка. Блок підстановки К складається з 8 вузлів заміни К(1),...,К(8) з пам'яттю 64 біт кожний. 32-розрядний вектор, що надходить на блок підстановки, розбивається на вісім 4-розрядних векторів, кожний з який заміняється іншим 4-розрядним вектором відповідним вузлом заміни, що являє собою таблицю з 16 цілих чисел у діапазоні 0…15. Ключ підстановки є довгостроковим.

Друга операція – циклічний зсув вліво 32-розрядного вектора, отриманого в результаті підстановки К.

Взагалі систему (набір) із m різних підстановок n-го степеня Smn   подають у вигляді розширення традиційного подання підстановки за рахунок додання нових рядків:

                                          .                                                 

Рисунок 7.1 – Функція шифрування ГОСТ  28147 - 89

Верхній рядок називають нульовим, а останні пронумеруємо від 1 до m. Необхідно розв’язати задачу побудови деякого числа випадкових таблиць підстановок, що відповідають критеріям випадковості. Перевірки необхідно виконувати на трьох рівнях. На першому рівні оцінюється відповідність характеристик окремо взятої підстановки властивостям випадкової рівно ймовірної підстановки. Підстановки, що пройшли таку перевірку, можна вважати підстановками випадкового типу. На другому рівні визначається відповідність характеристик випадковості системи підстановок, що попали в таблицю, властивостям середньостатистичної таблиці випадкових підстановок. Таблиці, що пройшли перші два рівні перевірки, вважаються випадковими таблицями підстановок.

На третьому рівні проводиться оцінка характеристик випадковості множини таблиць підстановок, із яких відбираються таблиці, що задовольняють вимоги довгострокових ключів.

Критерії відбору підстановок першого рівня можна задати у вигляді випадкових вимог [199], де n –  розмір підстановки.

Вимога 1. Число інверсій в підстановці степеня n має задовольняти умову

                                (2.106)

Вимога 2. Число циклів в підстановці степеня n має задовольняти умову

.                                 (2.107)

Вимога 3. Число збільшень в підстановці степеня n має задовольняти умову

.                              (2.108)

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

В таблиці 2.3[ 13 ] наведений приклад довгострокового ключа  - блока заміни длноя ГОСТ 28147 – 89, де j – номер одного із 8 ключів заміни « 4 біта в 4 біта»,  а ki безпосередньо ключ заміни.

Таблиця 2.3 – Ключ заміни

j\ki

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1

4

10

9

2

13

8

0

14

6

11

1

12

7

15

5

3

2

14

11

4

12

6

13

15

10

2

3

8

1

0

7

5

9

3

5

6

1

13

10

3

4

2

14

15

12

7

6

0

9

11

4

7

13

10

1

0

8

9

15

14

4

6

12

11

2

5

3

5

6

12

7

1

5

15

13

8

4

10

9

14

0

3

11

2

6

4

11

10

0

7

2

1

13

3

6

8

5

9

12

15

14

7

13

11

4

1

3

15

5

9

0

10

14

7

6

8

2

12

8

1

15

13

0

5

7

10

4

9

2

3

14

6

11

8

12

Приклад аналізу підстановок

В ГОСТ 28147-89 використовуються підстановки чотири біта в чотири біта, тобто здійснюється підстановка шістнадцяткових символів, тому  n=24=16.

Вибравши параметр а=1 із співвідношень (2.32) – (2.34), маємо:

                                   (2.59)

Таким чином рядок кожної із таблиць заміни має відповідати таким умовам:

  1.  число інверсій має змінюватися на відрізку від 50 до 70;
  2.  число циклів – від 1 до 5;
  3.  число зростань – від 7 до 9.

Приклад 1.  Визначте параметри ключів підстановки (окремих рядків), що наведені в таблиці 2.12.

Таблиця 2.12 – Ключі підстановки

.

Розв’язок задачі.

Розглянемо перший рядок. Під інверсією розуміється загальне число символів в рядку, які менше символу, що розглядається. Далі знаходиться сума цих величин для кожного із символів рядка. Для  першого символу – 14 визначаємо, що меншими від нього є числа 3, 7, 10, 1,0, 11, 12, 8, 4, 6, 9, 5, 13, 2  - всього 14 символів; для символу 3 є числа 1, 0, 2 -  всього три числа. Далі для 7 - 6, 0 – 8, 1 - 1, 0 – 0, 11 - 6, 12 - 6, 15 - 7, 8 – 6, 4-1,6- 2, 9 – 2, 5 - 1,13- 1. Всього інверсій 14+3+6+8+1+0+6+6+7+6+1+2+2+1+1=62. Під циклом розуміється кількість переходів між нульовим рядком та відповідним рядком підстановки. Пояснимо на прикладі. Нехай є перестановка, що наведена у таблиці 2.13.

Таблиця 2.13 – Перестановка

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

14

3

7

10

1

0

11

12

15

8

4

6

9

5

13

2

Здійснюємо за таблицею 2.13 переходи:

0-14135-0 – це перший цикл, ми розпочали з 0 і прийшли знову в 0 – цикл замкнувся. Пояснимо цикл: нуль першого рядка замінюється на 14 рядка підстановки (другого рядка), далі 14 першого рядка на 13 другого рядка, 13 першого рядка на 5 другого рядка i 5 першого рядка на 0 другого.

Другий цикл будуємо аналогічно:

1 - 3 → 10 → 4 -1

Третій цикл:

2 - 7 → 12 →  9 → 8 →15 - 2

Четвертий цикл:

6 -11 - 6.

Таким чином, рядок ключа має 4 цикли.

Число циклів визначаємо прямо по рядку.

Збільшення такі: 37; 710; 1011; 1112; 1215; 46;6  9;

5  13.

Всього вісім збільшень.

Таким чином у розглянутої таблиці  підстановки 62 - інверсії, 4 - цикли
по 8 збільшень. Порівнюючи отримані значення з пороговими, що наведені
в задачі 1, робимо висновок, що розглянута підстановка є випадковою.

7.2 Побудування таблиць підстановки типу « байт в байт»(AES)

Виконання підстановки  для окремого байту зводиться до  того, що плинне значення байту  шіснадцяткове число із вхідного стовпчика(перші чотири байту, що заміняється),  та  шіснадцяткове  число із вхідного строчки(наступні чотири біти байту, що заміняється) , визначають байт, на який здійснюється заміна плинного. Це нове значення із таблиці 2.4 і є результатом підстановки.

Знайти афінне перетворення виду , де С та - константи, що мають вигляд:

, .

При цьому , якщо =71. Знайти відстань Хемінга між вхідними та вихідними елементами.

Розв’язок.

  1.  Знайдемо . Для цього зведемо розв’язок порівняння

                             (2.57)

до розв’язку порівняння виду  , яке в свою чергу можна звести до розв’язку Діафантового рівняння виду ax+by=1, тобто виділити

,                                          (2.58)

де , . Треба знайти
та
х = (-к).

Діафантове рівняння матиме розв’язок, якщо та . Подамо цей розв’язок у вигляді ланцюгового дробу. Для цього запишемо
=71 у вигляді поліному: = 01000111=. Тоді наш ланцюговий дріб матиме вигляд:

* Використані тут константи С та С1 відрізняються від істинних, що наведені в п. 2.1

Тоді, якщо - порядок ланцюгового дробу, а - його параметри, то

Отже, .

Перевірку правильності розв’язку рівняння (2.58) виконуємо, підставивши значення та в (2.57). Маємо

.

Дійсно

=

=.

Знайдемо лишок:

Таким чином, лишок = 1. Елементи та є зворотними.

Рис. 2.7 Підстановка « байт в байт»

Розглянемо підстановку для байту 5А з використанням таблиці 2.4. 

Таблица 2.4 - Підстановка «байт в байт»

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

F9

CA

14

61

E4

1C

43

20

4E

54

58

A0

FC

DB

C0

72

1

22

74

FE

B5

65

A8

25

ED

69

33

F1

B1

36

9

6

9A

2

8E

90

CF

F6

EA

27

BC

7

7F

D7

3C

7C

44

45

21

6B

3

1A

52

62

29

13

9B

CC

99

4B

42

B6

1D

C7

91

76

16

4

92

4F

47

70

98

66

C2

48

96

B

2F

C9

C6

38

8C

63

5

10

F2

A9

37

A7

D3

55

3D

2C

7A

AF

EE

3E

F5

67

C

6

77

84

C1

C5

DE

A4

DD

B4

E3

B3

EF

49

E2

71

4C

AD

7

DF

3

12

19

9C

D9

D2

78

50

DC

AA

15

4

39

9D

D1

8

2D

11

24

2E

F7

59

FA

1E

68

3A

7E

CB

AE

D6

A5

FD

9

5F

5

F

6A

A6

E7

EC

30

5C

6F

83

CD

B2

BB

EB

2

A

28

73

4D

18

A3

86

9F

5B

3F

81

AB

75

1B

6C

E

53

B

64

FB

26

40

7D

E1

95

34

BF

A

BD

31

2B

B0

F4

8D

C

E0

1

87

56

CE

FF

5D

6D

A2

6E

88

9E

94

89

46

35

D

4A

B9

DA

C3

F3

5E

8F

97

B7

D4

51

60

D5

23

57

D0

E

79

3B

17

C4

B8

C8

7B

2A

D

8B

D8

0

E8

BA

E6

F8

F

41

85

32

F0

80

93

8

E5

82

BE

E9

1F

A1

8A

AC

5A

Старші 4 біти визначають строчку, молодші 4 біти визначають колонку. Результат підстановки – для значення 5А число в шістнадцятковому поданні - AF, яке знаходиться на перетині  5-ї строчки та 10-го столбця.

7.3 Блочні симетричні шифри та їх властивості.

Симетричне криптографічне перетворення у вигляді блокового симетричного шифру(БСШ) знайшло широке застосування на практиці. БСШ будуються на основі використання декількох симетричних криптографічних перетворень( елементарних шифрів), більшість яких розглянуто вище в підрозділі 2.7. Хоча кожен з таких елементарних шифрів, як буде показано в розділі 8, є нестійким[ 1,2 ], застосування декількох з них послідовно чи паралельно, та багатократно, як сказано в [ 1 ], дозволяє отримати звіря з « товстою шкірою». Вказане визначило появу, широке застосування та розвиток БСШ.

В цьому розділі ми робимо спробу розглянути сутність, проблемні питання, в межах обмежень обсягом   викладення результатів досліджень, застосування та можливі напрями розвитку БСШ.

Необхідно відмітити, що при побудові БСШ  знайшли застосування декілька концептуальних підходів, які будемо називати методологічними принципами. Серед них  необхідно виділити,  

на наш погляд,  три основні:

  1.  на основі ланцюгів Фейстеля (Data Encryption Standard, ГОСТ 28147 – 89 тощо);
  2.  IDEA  подібні шифри( Європейський стандарт IDEA та його модифікації і удосконалення);
  3.  SPN структури( перше за все Rijndael, FIPS – 197 тощо).

Ми вважаємо, що сьогодні системне викладення теорії та практики блочного симетричного шифрування вимагає написання багатотомної роботи. Тому нижче викладення теоретичних та практичних питань є обмеженим. Крім того , в цьому розділі,  ми практично не розглядаємо питання крипто аналізу, так як вони системно викладаються в 8 розділі цієї роботи.

Стан створення та застосування БСШ на світовому рівні

Історія створення блокових симетричних шифрів розпочинається з представлення фірмою ІВМ в 1974 році алгоритму блокового симетричного шифрування DES(Data Encryption Standard) [ 202 ]. Підгрунтям створення алгоритму DES були роботи авторів[ 2 ], що були опубліковані на самому початку 70 років у відкритоому вигляді. Алгоритм DES був представлений фірмою ІВМ у відповідь на звернення Національного бюро стандартів США до спеціалістів з питання про алгоритми для стандарту шифрування в державних та приватних установах. Одною із вимог була в тому що алгоритм повинен бути опублікований без ризику відносно його стійкості. Розробка фірми ІВМ була заснована на її попередньому шифрі Lucifer з  128 бітним ключем. В першому алгоритмі ІВМ запропонувала ключ з довжиною 48 *16 бітів, відповідно 48 бітів на кожному із 16 циклів. Однак,  як стало відомо, Агенство національної безпеки выдіграло головну роь у зменшенні дорвжини ключа до 56 бітів.  В  1977 р. алгоритм БСШ DES був опублікований в якості федерального  стандарту США, який вступив у дію в липні того ж року. Цю дату можна  вважати початком створення та застосування БСШ  DES у відкритому вигляді. Майже зразу після прийняття стандарт DES став об’єктом полеміки.

Основним недоліком вважалась мала довжина секретного ключа – 56 бітів. Дійсно, вже на той час при  2 56 ключів (приблизно 1017) можливість здійснення силової атаки була близько до межі можливості її реалізувати. Діффі та Геллман опублікували проект спеціалізованої багатопроцесорної обчислювальної машини вартістю біля $20млн, яка могла б рокрити DES приблизно за 12 годин. Необхідно відмітити, що   в  DES, на момент його створення, були вдало реалізовані накопичені до того моменту теоретичні й практичні добутки  в побудові симетричних шифрів. Уже зразу після прийняття, протягом наступних двадцяти років, БСШ DES  піддавався детальному вивченню й дослідженню, і якраз поява багатьох методів крипто аналізу була пов'язане з DES. Конструкція алгоритму шифрування виявилася настільки вдалою, що продовжила свій розвиток в інших відомих криптографічних алгоритмах – перше за все, ГОСТ 28147–89 [55], FEAL [203] і ряді інших менш відомих криптографічних алгоритмах, що були розроблені в 80-х роках 20 століття.  В подальшому для усунення такого  недоліку, як мала довжина ключа, було запропоновано збільшити довжину ключа в три  рази та застосовувати трьохкратне шифрування, яке є відносно  ефективним та застосовується до нинішнього часу.

Практично до початку 90-х років у закордонній відкритій печаті практично не було фундаментальних робіт присвячених блоковим симетричним шифрам.  Виключенням були дослідження, що стосувалися криптографічного алгоритму DES. Критиці піддавалась перш за все  мала довжина ключа, недостатня кількість циклів перетворення і немаловажний аспект критики – відсутність публікацій про критерії проектування та показники оцінки. Проте, реальної уразливості алгоритму DES  до 90-х років знайдено не було. По суті всі атаки зводилися в основному до атак грубої сили (прямого перебирання) які на той момент із-за обмежених ресурсів комп’ютерів не могли бути практично реалізованими [4, 202].

На початку 90-х років критика алгоритму DES почала підсилюватися. У відкритій закордонній пресі з'являється ряд фундаментальних робіт, що були присвячені вирішенню завдань  криптоаналізу БСШ. У першу чергу це лінійний криптоаналіз Матсуі і диференціальний криптоаналіз Біхама й Шаміра, а також розширення зазначених атак. У вказаних роботах критиці також піддається схема формування циклових підключів БСШ DES. Далі критиці була піддана простота схеми розгортання ключів, описується існування 4 слабких і 12 наполовину слабких ключів, а також властивість інвертування, що дозволяє скоротити пряме перебирання усіх ключів з до . Серед офіційних документів, що були присвячені DES та його модифікації DEA необхідно відзначити  публікацію федерального стандарту 1981 року – FIPS 74. Якраз  у ній  описуються слабкі й наполовину слабкі ключі, для чого було використано поняття двоїстих ключів.  Більш детальному вивченню слабких і наполовину слабких ключів присвячені роботи Мура, Сімонса, а також  Купперсміта.

В подальшому виходить ряд робіт [219 -222], що були присвячені аналізу схем розгортання ключів у БСШ. Фундаментальною роботою можна вважати публікацію Біхама [219]. В цій роботі вперше  описана атака на схему розгортання ключів типу «зв'язані ключі», яка могла бути застосованою до БСШ DES і LOKI. Однак цей метод криптоаналізу з атакою на схему розгортання ключів мав більше теоретичну, чим практичну цінність, і не представляв у порівнянні з диференціальним та  лінійним криптоаналізом циклової функції шифру реальної погрози для БСШ.

Далі  пошук нових рішень торкнувся вдосконалювання криптографічних перетворень циклової функції. З'являється ряд нових криптографічних алгоритмів. Найбільшої уваги з них заслуговує алгоритм PES [223], що став основою при розробленні Європейського стандарту   IDEA [224], а також алгоритми RC5 [225] та  SAFER [226].  Особливістю вказаних шифрів є те, що схеми розгортання ключів нових БСШ формують циклові підключі аналогічно як і у БСШ DES, По суті вони являють собою алгоритми вибору певних біт із секретного ключа. В подальшому на названі  шифри були розроблені  ефективні методи криптоаналізу через  схеми розгортання ключів.

Так аналіз схеми розгортання ключів алгоритму IDEA, дозволив Даемену [227] виявити кілька класів слабких ключів. Найбільший із цих слабких класів становить  множину 251 ключів. Причому приналежність ключа. що застосовується, до цього класу може бути перевірена двома шифруваннями й виконанням невеликої кількості додаткових обчислень. Якщо ключ належить цьому класу, то він може бути відновлений після 16 за шифрувань відкритих текстів з підібраною різницею, а також порядку 216 групових операцій і 217 шифрувань перевірки ключа. У зазначеній вище роботі Даемен запропонував незначну модифікацію процедури розгортання ключа IDEA, що дозволило усунути знайдені їм слабкі ключі.

В подальшому до кінця 90-х років з'являється ряд нових ефективних методів криптоаналізу схем розгортання ключів БСШ, які засновані на використанні як  диференціального так  і лінійного методів криптоаналізу. Принципово необхідно виділити диференціальний криптоаналіз на зв'язаних ключах, атаку ковзання, і її розширення. Особливістю таких атак, у порівнянні з атаками на циклову функцію БСШ (наприклад, диференціальним і лінійним криптоаналізом), є більша ефективність, що полягає в слабкій залежності від кількості ітерацій що використаються в шифрі.

Загальною рекомендацією є пропозиція уникати лінійних алгоритмів при формуванні циклових підключів, а також щоби  процес вироблення підключів був важко оборотним. При цьому  існуючий  між цикловими підключами зв'язок повинен бути складним з точки зору складності аналізу.

Подальший аналіз показав що до кінця 90-х склалась ситуація, при якій  в несекретних державних і комерційних установах продовжувалось використання морально та технічно застарілих шифрів. У той же час  швидкий розвиток обчислювальної техніки й безлічі різних, високоефективних методів криптоаналізу блокових симетричних шифрів стали представляти для них потенційні погрози. Крім того криптографічні алгоритми, що були розробленими  не підтвердили  необхідного рівня безпеки, щоб стати заміною існуючих стандартів шифрування даних (наприклад, Skipjack) [219]. Вказане привело до однієї із найбільш важливих подій у сфері прикладної криптографії  – оголошенні міжнародного конкурсу AES (Advanced Encryption Standard) [198, 204]. У січні 1997 року NIST  США оголосив про початок конкурсу на новий стандарт шифрування 21-го століття. Він був спрямований на вибір на конкурсній основі нового стандарту блокового симетричного шифрування . У результаті виконання цього проекту за результатами голосування переможцем був оголошений алгоритм Rijndael [204], в подальшому на його основі у звуженій версії був прийнятий федеральний стандарт США FIPS-197, який на нинішній час отримав широке застосування в США та у світі.

В проекті  AES уперше була зібрана воєдино безліч різних криптографічних алгоритмів з різною архітектурою й піддані цілеспрямованому, детальному аналізу. Фактично були визначені вимоги, яким повинні задовольняти перспективні  БСШ. В процесі проведення конкурсу були також визначені нові вимоги до схем розгортання  ключів. У представлених на конкурс БСШ  схеми розгортання ключів суттєво відрізняються від DES-подібних. Крім того відсутність основоположних принципів проектування схем розгортання ключів привело до того, що розроблювачі шифрів керуються суб'єктивним розумінням побудови схем розгортання ключів. У підсумку більша частина шифрів виявилися уразливими до атак на схеми розгортання ключів. Так, у проекті AES брали участь БСШ  Deal, Rijndael, SAFER+, DFC, MAGENTA, CRYPTON, HPC, LOKI97, MARS, RC6, Serpent, Twofish, CAST, E2, FROG, [204]. Але більшість із названих  БСШ були уразливі до атак на схеми розгортання ключів, в тому числі: SAFER+, CRYPTON, DFC, FROG, HPC, MAGENTA . Для інших БСШ атаки на схеми розгортання ключів були реалізовані на неповну кількість ітерацій, але виявилися найбільш ефективними в порівнянні з атаками на циклову функцію алгоритму. Так прикладом може служити БСШ Rijndael, для якого знайдено  9 циклова атака на зв'язаних ключах (версія алгоритму з довжиною ключа й кількістю ітерацій ) Фергусоном і розширена Square-атака С. Люка на 7-ми цикловий варіант алгоритму.

Наші дослідження БСШ Rijndael представлені статтею, де проводиться пошук схованих аномалій у розгорнутому ключі. Було підтверджене існування сильних лінійних зв'язків між бітами циклових підключів, однак використання циклової функції з високими криптографічними властивостями, дозволяє компенсувати ці вади вже після чотирьох ітерацій. У роботах [228, 229] показано, що в БСШ із «криптографічно слабкою» схемою розгортання ключів (на яку існує атака), необхідно використати підвищену кількість ітерацій. Крім того необхідно  приділяти особливу увагу розробці циклової функції, що задовольняє вимогам високої криптостійкості. В процесі проекту також підтверджено що використання  схеми формування циклових підключів з високими криптографічними властивостями, дозволить знизити рівень витрат на проектування циклової функції й зменшити кількість ітерацій [230]. Також показано, що криптографічно сильна схема розгортання ключів підвищує стійкість до лінійного й диференціальному криптоаналізу [231, 230].

По аналогії з проектом AES були розгорнуті та виконаними аналогічні   проекти у Європі (NESSIE) і Японії (CRYPTREC). Проект NESSIE був початий в 2000 році під егідою Європейської комісії. Основними завданнями проекту NESSIE був відбір кращих десяти криптографічних примітивів.

Серед них особливе місце  займали кандидати на стандарти БСШ. До кандидатів були пред'явлені підвищені вимоги [232]. Для БСШ введено три класи стійкості.

1. Високий рівень безпеки – довжина блоку lб=128 біт, довжина ключа lк=256 біт.

2. Нормальний рівень безпеки – довжина блоку lб=128 біт, довжина ключа lк=128 біт.

3. Задовільний рівень безпеки – довжина блоку lб=64 біт, довжина ключа lк=128 біт.

На першому етапі до конкурсу були допущені такі БСШ: CS, Hierocrypt-L1, IDEA, Khazad, Misty1, SAFER++ (задовільного рівня стійкості), Nimbus, Anubis, Camellia, Grand Cru, Hierocrypt-3, Noekeon, Q, RC6, SC2000, SAFER++, NUSH і SHACAL-1 (SHACAL-2) (нормального й високого рівнів стійкості).

За результатами подальших досліджень існуючих та перспективних БСШ прийнято міжнародний стандарт відносно блокових симетричних шифрів ISO/IEC 18033 – 3[236].  Перелік та деякі характеристики БСШ цього стандарту наведено у таблиці 2.5.  Усього визначено шість різних блокових шифрів[104 - 113 ].

Таблиця 2.5. Блокові симетричні шифри, що визначені в ISO/IEC 18033 – 3.

Довжина блока  

Назва алгоритму (пункт)

Довжина ключа

64 бітів

TDEA  

128 або 192 бітів

MISTY1

128 бітів

CAST-128

128 бітів

AES

128, 192 або 256 бітів

Camellia

SEED

128 бітів

7.4 Блокові симетричні шифри на основі  SPN  структури

       Згідно класифікації [60  ] до БСШ нормального  рівня стійкості  відносять шифри у яких довжина блоку lб = 128 бітів, а  довжина ключа lк = 128 бітів. Основними БСШ, що можна віднести до нормального  рівня стійкості, є  БСШ  FIPS 197(АЕS), Camellia  та SEED[ 98 ]. Розглянемо основні криптографічні функції  вказаних шифрів та особливості застосування.  

БСШ нормального рівня стійкості FIPS – 197(AES). В результаті виконання проекту AES переможцем був оголошений БСШ Rijndael [204], в подальшому на його основі у звуженій версії був прийнятий федеральний стандарт США FIPS-197, який на нинішній час отримав широке застосування в США та у світі. Основною відмінністю  FIPS-197 від Rijndael є те, що в першого довжина блоку може приймати тільки значення lб = 128, довжина ключа lк = 128, а також за деякою згодою 160 та 192 бітів [198]. В той же час в  Rijndael допустимими є довжини  блоку/ ключа 128/192, 128/256, 192/192, 192/256 та 256/256 бітів.

       Загальна характеристика AES [198, 204]. AES –  це БСШ, в тому числі, нормального рівня стійкості, у якому криптографічні перетворення виконуються в режимі простої підстановки над  128 – бітовими блоками  (16 байтами) та довжинами ключів  128 і 192 біт. Вказані  варіанти БСШ іменують  «AES-128» та «AES-192». В подальшому, враховуючи ідентичність алгоритмів шифрування і при довжині ключа 256 бітів, будемо розглядати і цей випадок, але розуміючи що в ньому забезпечується високий рівень стійкості.

Таким чином, в  алгоритмі AES нормального рівня стійкості, довжина вхідного і вихідного блоку складає 128 бітів (16 байтів або 4  32 бітних слова). Довжина ключа шифрування K складає 128, 192 або 256 бітів. Число циклів (раундів) перетворення Nr, складає у залежності від  довжини ключа,  відповідно 10, 12 або 14 циклів (таблиця 2.6).

Таблиця 2.6.  Кількість циклів  в AES

БСШ

Кількість раундів Nr

AES-128

10

AES-192

12

AES-256

14

Зашифрування та розшифрування в AES виконується ітеративно з використанням  чотирьох різний байт-орієнтованих перетворень:

1) байтова таблична  підстановка з використанням таблиці підстановки (S-блок);

2) табличне  перетворення - зсув рядків масиву state;

3)табличне перетворення -  змішування даних в кожному стовпці масиву state;

4) криптографічне перетворення - складання за модулем 2 циклового ключа х плинним станом  state.

Алгоритм зашифрування AES. Алгоритм зашифрування наведено на рис. 2.10. Зашифрування в алгоритмі AES  виконуються на двомірному масиві байтів, який позначають  state(стан). State описується  чотирма рядками байтів, кожен із яких містить 4 байти. У масиві state, що позначається символом s, кожен окремий байт має два індекси, номер рядку r в діапазоні 0   r < 4 та номер стовпця c в діапазоні 0  c < 4. State позначається S = () та подається на рис. 2.11.

 

Стан

Цикловий ключ 1-9

9 циклів

Нульовий

цикл

1-Заміна байт

2-Зсув строк

Останній цикл

Заміна байт

Зсув строк

3-Змішування стовпців

Додавання циклового ключа

Додавання циклового ключа

Додавання циклового ключа

Ключ шифрування 00

Цикловий ключ 10

Процес шифрування

Шифртекст

Рис. 2.10. Алгоритм зашифрування AES.

Додаток А

2.7.2 Задачі для самостійного розв'язку

Задача 1.

Знайти афінне перетворення , де та - константи, що мають вигляд:

, .

При цьому , якщо =99+3k, де k – номер з журналу. Знайти відстань Хемінга між вхідними та вихідними елементами.

Задача 2.

Розробити програму знаходження обернених елементів для усіх значень, в полі GF(28). При цьому  прийняти елемент - 00000000 i обернений йому елемент =00000000. Примітивний поліном .

Задача 3.

Розробити програму розрахунку афінного перетворення байта та сформувати таблицю підстановки як результат афінного перетворення (тобто реалізувати повністю перетворення  bytesub).

Задача 4.

При перемішуванні в стовпцях виконується перетворення:

,

де ,

,

а j є номер стовпця із таблиці 2.11

Таблиця 2.11

j

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

a0j

19

77

5

239

13

116

18

17

9

101

29

111

93

207

94

182

a1j

123

145

193

174

24

199

181

39

28

197

21

16

81

174

170

229

a2j

74

99

17

11

204

209

29

91

154

26

99

139

78

93

11

65

a3j

159

231

96

91

179

7

48

251

201

11

137

54

247

105

139

207


 

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

72054. Методичні основи удосконалення проектування продукції графічного дизайну 208.5 KB
  Вирішення означених проблем фахівцями графічного дизайну вимагає постійного оновлення науковометодичної бази щодо форм і способів виготовлення та представлення продукції. У ній зазначено що зростання попиту на фахівців з дизайну обумовлено переходом суспільства від індустріальної до інформаційної стадії...
72055. ФОРМУВАННЯ КОМУНІКАТИВНОЇ КОМПЕТЕНТНОСТІ МАЙБУТНІХ ІНЖЕНЕРІВ У ПРОЦЕСІ ВИВЧЕННЯ ПСИХОЛОГО-ПЕДАГОГІЧНИХ ДИСЦИПЛІН 181 KB
  Професійному спілкуванню нині приділяється значна частина робочого часу сучасних фахівців зокрема встановлення ділових контактів наради бесіди переговори вимагають комунікативної компетентності що сприятиме ефективному діловому та професійному взаєморозумінню.
72056. РОЗВИТОК ОСВІТИ І ПЕДАГОГІЧНОЇ ДУМКИ НА ПЕРЕЯСЛАВЩИНІ (ПОЧАТОК XVIII – ПЕРША ЧВЕРТЬ ХХ СТОЛІТТЯ) 506 KB
  Актуальність теми дослідження. Становлення нової освітньої системи в Україні відбувається в умовах розбудови державності, відродження культурних і духовних цінностей українського народу. Державна програма “Освіта” (Україна ХХІ століття), Національна доктрина розвитку освіти України у ХХІ ст.
72057. СОЦІАЛЬНО-ПОЛІТИЧНИЙ КОНФЛІКТ В УКРАЇНСЬКОМУ СУСПІЛЬСТВІ ПЕРІОДУ ТРАНСФОРМАЦІЇ: ФАКТОРИ ВИНИКНЕННЯ І ОСОБЛИВОСТІ ПРОЯВУ 140.5 KB
  Актуальність теми дослідження визначається в першу чергу системною трансформацією сучасного українського суспільства яка зумовила високий динамізм і конфліктогенність соціально-політичних процесів що потребують свого вивчення. Зміни політичного режиму балансу соціальних і політичних сил...
72058. Тактика ведення лактації при інтраамніальному інфікуванні 168 KB
  Мета та завдання дослідження. Метою дослідження було розробка тактики ведення лактації у жінок з різними формами і термінами перенесеної вірусної інфекції на основі вивчення в них медико-соціальних, мікробіологічних, біохімічних і функціональних особливостей...
72059. Методика навчання інформаційних технологій у позашкільних навчальних закладах 254.5 KB
  Вивчення наукових і методичних джерел засвідчило наявність широкого спектру досліджень з різних напрямів розвитку і застосування інформаційних технологій. Зокрема педагогічному потенціалу психологопедагогічним аспектам інформаційних...
72060. Роль блокування ренін-ангіотензин-альдостеронової системи в попередженні ремоделювання лівого шлуночка у хворих, що перенесли інфаркт міокарда з патологічним зубцем Q 446.5 KB
  В країнах що розвиваються у хворих які перенесли інфаркт міокарда ІМ з патологічним зубцем Q зміни структури і функції лівого шлуночка ЛШ серця що позначаються терміном постінфарктне ремоделювання ЛШ складають основу розвитку хронічної серцевої недостатності ХСН...
72061. ЛІНГВОКУЛЬТУРНИЙ КОНЦЕПТ MINNE/КОХАННЯ В НІМЕЦЬКІЙ ПОЕЗІЇ МІНЕЗАНГУ XII–XIV СТОЛІТЬ: СТРУКТУРНИЙ ТА СЕМАНТИЧНИЙ АСПЕКТИ 258 KB
  Сучасним є також залучення лінгвокультурологічного підходу до встановлення вербальних репрезентантів лінгвокультурного концепту minne кохання. Це дає можливість дослідити національно-культурну специфіку фрагмента концептуальної картини світу людини доби Середньовіччя установити...
72062. ЗМІСТ І ФОРМА ПРАВОЧИНУ В ЦИВІЛЬНОМУ ПРАВІ 160.5 KB
  Зміст і форма правочинів межує з численними аспектами які теж мають суттєве значення для правочинів: воля й волевиявлення суб’єктний склад правочину його мета та ін. Усі вони становлять собою суцільну єдність необхідну й достатню для її кваліфікації як правочину.