Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пкр_лекции / 7 ПК ЛК7 (2.4) { ХНУРЕ 2011 Документ Microsoft Office Word.docx
Скачиваний:
84
Добавлен:
14.04.2015
Размер:
181.63 Кб
Скачать

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

ЛЕКЦІЯ №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)

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

  • число інверсій має змінюватися на відрізку від 50 до 70;

  • число циклів – від 1 до 5;

  • число зростань – від 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-14135-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 цикли.

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

Збільшення такі: 37; 710; 1011; 1112; 1215; 46;6  9;

5  13.

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

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