Автор работы: Пользователь скрыл имя, 02 Мая 2012 в 14:13, контрольная работа
Будь-яке фундаментальне технічне чи технологічне новаторство, надаючи можливості для вирішення одних проблем та відкриваючи широкі перспективи розвитку, завжди викликає загострення старих чи породжує нові, до цього невідомі проблеми. Наслідки використання цих нових технологій суспільством, без надання належної уваги питанням безпеки, можуть бути катастрофічними для нього.
«відбілювач» (whitener)
Після розширення DES використовує операцію над розширеною частиною правої секції та підключем раунду. Відмітимо, що підключ має довжину в 48 бітів і розширений блок також має 49 бітів.
блоки
Після «відбілювача» вихідний блок потрапляє в блок, інакше названий як блок підстановок, в якому відбувається змішування інформації. використовує блоки, кожен із шістьома вхідними та чотирма вихідними бітами, що ілюстровано нижче на малюнку:
Рисунок
2.5. Входи та виходи блоку підстановок
(блоку).
Проходження
через блок підстановки відбувається
наступним чином. Дані із 48 бітів
після другої операції функції Фейстеля
розмежовуються на вісім частин відповідно
по 6 бітів і кожна з них потрапляє окремо
в блок. Після обробки
на виході блоку маємо
4 біти. Очевидно, що 48
бітів на вході перетворяться
в 32 біти на виході. Підстановка
в кожному блоці слідує
по заздалегідь визначеному
правилу, що моделюється
таблицею із 4 рядків
та 16 стовпців. . Кожен
елемент таблиці являється
4-бітним числом. Вхідні
біти особливим чином визначають вихідний
елемент S-блоку. Розглянемо узагальнений
вхід
Біти сполучаються, утворюючи 2-бітне число від 0 до 3 в десятковому вигляді, що відповідає номеру рядка таблиці. Середні 4 біти теж сполучаються, утворюючи 4-бітне число від 0 до 15, що відповідає стовпцю таблиці. На перетині рядка і стовпця знаходиться число, що записується за допомогою чотирьох бітів. На малюнку зображено:
Рисунок
2.6. Перетворення шести бітів входу в блоку
у 4 біти виходу.
Оскільки для кожного блоку визначена своя власна таблиця, то необхідно мати вісім таблиць, як це подано нижче
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 14 | 04 | 13 | 01 | 02 | 15 | 11 | 08 | 03 | 10 | 06 | 12 | 05 | 09 | 00 | 07 |
1 | 00 | 15 | 07 | 04 | 14 | 02 | 13 | 10 | 03 | 06 | 12 | 11 | 09 | 05 | 03 | 08 |
2 | 04 | 01 | 14 | 07 | 13 | 06 | 02 | 11 | 15 | 12 | 09 | 07 | 03 | 10 | 05 | 00 |
3 | 15 | 12 | 08 | 02 | 04 | 09 | 01 | 07 | 05 | 11 | 03 | 14 | 10 | 00 | 06 | 13 |
Таблиця 2.3. Перетворення | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 15 | 01 | 08 | 14 | 06 | 11 | 03 | 04 | 09 | 07 | 02 | 13 | 12 | 00 | 05 | 10 |
1 | 03 | 13 | 04 | 07 | 15 | 02 | 08 | 14 | 12 | 00 | 01 | 10 | 06 | 09 | 11 | 05 |
2 | 00 | 14 | 07 | 11 | 10 | 04 | 13 | 01 | 05 | 08 | 12 | 06 | 09 | 03 | 02 | 15 |
3 | 13 | 08 | 10 | 01 | 03 | 15 | 04 | 02 | 11 | 06 | 07 | 12 | 00 | 05 | 14 | 09 |
Таблиця 2.4. Перетворення | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 10 | 00 | 09 | 14 | 06 | 03 | 15 | 05 | 01 | 13 | 12 | 07 | 11 | 04 | 02 | 08 |
1 | 13 | 07 | 00 | 09 | 03 | 04 | 06 | 10 | 02 | 08 | 05 | 14 | 12 | 11 | 15 | 01 |
2 | 13 | 06 | 04 | 09 | 08 | 15 | 03 | 00 | 11 | 01 | 02 | 12 | 05 | 10 | 14 | 07 |
3 | 01 | 10 | 13 | 00 | 06 | 09 | 08 | 07 | 04 | 15 | 14 | 03 | 11 | 05 | 02 | 12 |
Таблиця 2.5. Перетворення | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 07 | 13 | 14 | 03 | 00 | 06 | 09 | 10 | 01 | 02 | 08 | 05 | 01 | 12 | 04 | 15 |
1 | 13 | 08 | 11 | 05 | 06 | 15 | 00 | 03 | 04 | 07 | 02 | 12 | 01 | 10 | 14 | 09 |
2 | 10 | 06 | 09 | 00 | 12 | 11 | 07 | 13 | 15 | 01 | 03 | 14 | 05 | 02 | 08 | 04 |
3 | 03 | 15 | 00 | 06 | 10 | 01 | 13 | 08 | 09 | 04 | 05 | 11 | 12 | 07 | 02 | 14 |
Таблиця 2.6. Перетворення | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 02 | 12 | 04 | 01 | 07 | 10 | 11 | 06 | 08 | 05 | 03 | 15 | 13 | 00 | 14 | 09 |
1 | 14 | 11 | 02 | 12 | 04 | 07 | 13 | 01 | 05 | 00 | 15 | 10 | 03 | 09 | 08 | 06 |
2 | 04 | 02 | 01 | 11 | 10 | 13 | 07 | 08 | 15 | 09 | 12 | 05 | 06 | 03 | 00 | 14 |
3 | 11 | 08 | 12 | 07 | 01 | 14 | 02 | 13 | 06 | 15 | 00 | 09 | 10 | 04 | 05 | 03 |
Таблиця 2.7. Перетворення | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 12 | 01 | 10 | 15 | 09 | 02 | 06 | 08 | 00 | 13 | 03 | 04 | 14 | 07 | 05 | 11 |
1 | 10 | 15 | 04 | 02 | 07 | 12 | 09 | 05 | 06 | 01 | 13 | 14 | 00 | 11 | 03 | 08 |
2 | 09 | 14 | 15 | 05 | 02 | 08 | 12 | 03 | 07 | 00 | 04 | 10 | 01 | 13 | 11 | 06 |
3 | 04 | 03 | 02 | 12 | 09 | 05 | 15 | 10 | 11 | 14 | 01 | 07 | 10 | 00 | 08 | 13 |
Таблиця 2.8. Перетворення | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 04 | 11 | 02 | 14 | 15 | 00 | 08 | 13 | 03 | 12 | 09 | 07 | 05 | 10 | 06 | 01 |
1 | 13 | 00 | 11 | 07 | 04 | 09 | 01 | 10 | 14 | 03 | 05 | 12 | 02 | 15 | 08 | 06 |
2 | 01 | 04 | 11 | 13 | 12 | 03 | 07 | 14 | 10 | 15 | 06 | 08 | 00 | 05 | 09 | 02 |
3 | 06 | 11 | 13 | 08 | 01 | 04 | 10 | 07 | 09 | 05 | 00 | 15 | 14 | 02 | 03 | 12 |
Таблиця 2.9. Перетворення | ||||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
0 | 13 | 02 | 08 | 04 | 06 | 15 | 11 | 01 | 10 | 09 | 03 | 14 | 05 | 00 | 12 | 07 |
1 | 01 | 15 | 13 | 08 | 10 | 03 | 07 | 04 | 12 | 05 | 06 | 11 | 10 | 14 | 09 | 02 |
2 | 07 | 11 | 04 | 01 | 09 | 12 | 14 | 02 | 00 | 06 | 10 | 10 | 15 | 03 | 05 | 08 |
3 | 02 | 01 | 14 | 07 | 04 | 10 | 05 | 13 | 15 | 19 | 09 | 09 | 03 | 05 | 06 | 11 |
Таблиця 2.10. Перетворення |
Пряма перестановка – остання операція в функції , кожен біт використовується лише один раз і жоден не ігнорується. Тобто маємо 32 біти на вході і стільки ж на виході. Відношення «вхід-вихід» для цієї операції зображені в таблиці:
16 | 07 | 20 | 21 | 29 | 12 | 28 | 17 |
01 | 15 | 23 | 26 | 05 | 18 | 31 | 10 |
02 | 08 | 24 | 14 | 32 | 27 | 03 | 09 |
19 | 13 | 30 | 06 | 22 | 11 | 04 | 25 |
Таблиця
2.11. Пряма перестановка функції .
1.6
Генерація підключів
раундів
Генератор підключів створює шістнадцять підключів по 48 бітів із ключа шифру на 56 бітів. Зазвичай ключ шифру задається блоком із 64 бітів, але в ньому вісім бітів на позиціях 8, 16, 24, 32, 40, 48, 56, 64 являються бітами перевірки (бітами парності). Вони відкидаються перед фактичним процесом генерації ключів, що зображений на малюнку:
Рисунок
2.7. Генератор підключів раунду .
Біти
видаляються завдяки
57 | 49 | 41 | 33 | 25 | 17 | 09 | 01 |
58 | 50 | 42 | 34 | 26 | 18 | 10 | 02 |
59 | 51 | 43 | 35 | 27 | 19 | 11 | 03 |
60 | 52 | 44 | 36 | 63 | 55 | 47 | 39 |
31 | 23 | 15 | 07 | 62 | 54 | 46 | 37 |
30 | 22 | 14 | 06 | 61 | 53 | 45 | 37 |
29 | 21 | 13 | 05 | 28 | 20 | 12 | 04 |
Таблиця
2.11. Видалення перевірочних бітів ключа
(бітів парності).
56 бітів, що залишились, являються фактичним ключем шифру , що використовується для генерації підключів раундів.
Після перестановки ключ розділяється на дві частини по 28 бітів у кожній. Незалежно одна від одної, кожна з них підлягає лівому циклічному зсуву на певну кількість бітів, визначену в наступній таблиці:
Раунд | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
Кількість | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 |
Таблиця
2.12. Кількість лівих циклічних зсувів
для генерування підключа раунду.
Після цього обидві частини об’єднуються, знову створюю таким чином блок в 56 біт. Після застосування останнього зсуву необхідно вибрати із 56-ти 48 бітів, що будуть складені із розширеною правою частиною. Оскільки при цьому не лише вибирається підмножина бітів, але і змінюється їх порядок, ця операція називається перестановкою із стисканням.
14 | 17 | 11 | 24 | 01 | 05 | 03 | 28 |
15 | 06 | 21 | 10 | 23 | 19 | 12 | 04 |
26 | 08 | 16 | 07 | 27 | 20 | 13 | 02 |
41 | 52 | 31 | 37 | 47 | 55 | 30 | 40 |
51 | 45 | 33 | 48 | 44 | 49 | 39 | 56 |
34 | 53 | 46 | 42 | 50 | 36 | 29 | 32 |
Таблиця
2.13. Перестановка із стисканням в функції
генерування підключів раунду.
Застосування
лівих циклічних зсувів для генерування
кожного підключа гарантує використання
відмінної від інших підмножини бітів
ключа. Кожен біт приблизно використовується
в 14 з 16 підключів, але не в точності однакове
число раз.
1.6
Зв'язок між шифрування
та дешифруванням
Компоненти були підібрані так, щоб виконувалася корисна властивість: для шифрування і дешифрування використовується один і той же алгоритм. Єдина відмінність полягає в тому, що підключі раундів повинні використовуватися в зворотному порядку. Тобто, якщо на етапах шифрування використовувалися , то підключами для дешифрування будуть .
І до прийняття в якості федерального стандарту і після піддавався детальному аналізу. Були проведені випробовування, в ході яких досліджені деякі важливі критерії блочного шифр і виявлено нові. Перш за все відмітимо, що відповідає двом найважливішим критеріям блочного шифру: «лавинному ефекту» та повноти.
2.1
«Лавинний ефект»
«Лавинний ефект» – поняття в криптографії, зазвичай застосовне до блочних шифрів і криптографічним хеш-функціям. Поняття означає, що невеликі зміни в вихідному тексті (чи ключі) можуть визвати значні зміни в зашифрованому тексті. Таким чином, «лавинний ефект» проявляється в залежності всіх вихідних бітів від кожного вхідного біту і кожного біту ключа. Термін був введений Фейстелем, хоча концептуальне поняття використовувалось ще Шенноном.
Перевіримо «лавинний ефект» на прикладі. Зашифруємо два екземпляри відкритого тексту, що відрізняються лише одним бітом за допомогою одного і того ж ключа й визначимо різницю в числі біт відповідних шифротекстів.
Відкритий текст | Шифротекст |
Таблиця
2.14. «Лавинний ефект», коли два відкриті
тексти відрізняються одним бітом.
Хоча
вхідній блоки відрізняються
всього лише одним бітом – останнім,
але зашифровані повідомлення відрізняються
28 бітами. Таким чином робимо висновок,
що відсоткова відмінність вихідного
тексту спричиняє зміну приблизно відсотків
шифротексту.
2.2
Ефект повноти
Він
полягає в тому, що кожен біт
зашифрованого тексту має залежати
від багатьох бітів відкритого. Розсіювання
та змішування, спричинене блоками
перестановок та підстановок в ,
вказують на дуже сильний ефект повноти.
2.3
Критерії проектування
Структура блоків забезпечує перемішування та розсіювання від кожного раунду до наступного. Згідно з цим твердженням і деякому аналізу, можна виокремити декілька властивостей блоків:
2.4
Блоки перестановок
Поміж двома рядами блоків (в двох послідовних раундах) присутній один прямий блок (32 на 32) та один блок, що реалізовує перестановку з розширенням (32 на 48). Разом вони забезпечують розсіювання бітів. В структурі цих блоків були реалізовані наступні критерії:
Информация о работе Актуальність проблеми захисту інформаційних систем