SlideShare a Scribd company logo
1 of 83
Download to read offline
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
МЕТОДИЧНІ ВКАЗІВКИ
ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ
з курсу “Захист інформації в комп’ютерних системах”
для студентів денної та заочної форм навчання
спеціальності 7.091501 “Комп'ютерні системи та мережі”
Затверджено
на засіданні кафедри
комп‘ютерних систем
протокол № 7 від 07.04.2010р.
та Методичною радою ЧДТУ,
протокол № 49 від 11.05.2010 р.
Черкаси 2010
Укладачі: Швидкий В.В., к.т.н., доцент
Фауре Е.В., к.т.н.
Лісіцина О.С.
Рецензент: Рудницький В.М., д.т.н., професор
Методичні вказівки до виконання лабораторних робіт з курсу “Захист
інформації в комп’ютерних системах” для студентів денної та заочної форм
навчання спеціальності 7.091501 “Комп'ютерні системи та мережі”
[Електронний ресурс] / Укл. В.В. Швидкий, Е.В. Фауре, О.С. Лісіцина М-во
освіти і науки України, Черкас. держ. технол. ун-т. – Черкаси : ЧДТУ, 2010.
– 83с.
Методичні вказівки призначені для користувачів, які хотіли б поповнити свої знання в
області захисту інформації в комп’ютерних системах та мережах. Видання містить матеріали
для самостійної підготовки студентів, які вивчають дисципліни, пов’язані з захистом
інформації, а також для підготовки та виконання курсових та лабораторних робіт.
Особлива увага приділяється опануванню базових операцій криптографічних
перетворень, формуванню для них ключів шифрування, визначенню статистичних
властивостей відкритого тексту та побудованого на його основі шифр-тексту.
Методичні вказівки призначені для студентів, які навчаються за спеціальністю
7.091501 “Комп'ютерні системи та мережі”.
Е л е к т р о н н е н а в ч а л ь н е в и д а н н я
МЕТОДИЧНІ ВКАЗІВКИ
ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ
з курсу “Захист інформації в комп’ютерних системах”
для студентів денної та заочної форм навчання
спеціальності 7.091501 “Комп'ютерні системи та мережі”
В авторській редакції
-------------------------------------------------------------------------------------------------------------
Гарн. Times New Roman. Обл.-вид. арк 2,28. Реєстраційний № 923.
-------------------------------------------------------------------------------------------------------------
Черкаський державний технологічний університет
Свідоцтво про державну реєстрацію ДК № 896 від 16.04.2002 р.
бульвар Шевченка, 460, м. Черкаси, 18006.
3
ЗМІСТ
ПЕРЕДМОВА........................................................................................................... 4
ЗАГАЛЬНІ ВИМОГИ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ.................... 5
ЛАБОРАТОРНА РОБОТА №1 БАЗОВІ ОПЕРАЦІЇ КРИПТОСИСТЕМ ТА
ШИФРИ НА ЇХНІЙ ОСНОВІ .................................................................................. 6
ЛАБОРАТОРНА РОБОТА №2 ШИФРИ ЦЕЗАРЯ, ВІЖЕНЕРА, ВЕРНАМА..... 14
ЛАБОРАТОРНА РОБОТА №3 ДОСЛІДЖЕННЯ СТАТИСТИЧНИХ
ВЛАСТИВОСТЕЙ БІГРАМНИХ ШИФРІВ.......................................................... 22
ЛАБОРАТОРНА РОБОТА №4 КРИПТОСИСТЕМА DES. РЕЖИМ ПРОСТОЇ
ЗАМІНИ.................................................................................................................. 27
ЛАБОРАТОРНА РОБОТА №5 КРИПТОСИСТЕМА DES. РЕЖИМ
ЗЧЕПЛЕННЯ БЛОКІВ ........................................................................................... 38
ЛАБОРАТОРНА РОБОТА №6 КРИПТОСИСТЕМА DES. РЕЖИМИ
ГАМУВАННЯ ........................................................................................................ 43
ЛАБОРАТОРНА РОБОТА №7 ВІДКРИТЕ ПОШИРЕННЯ КЛЮЧІВ В
МЕРЕЖАХ ПЕРЕДАВАННЯ ДАНИХ.................................................................. 48
ЛАБОРАТОРНА РОБОТА №8 КРИПТОСИСТЕМА RSA................................... 55
ЛАБОРАТОРНА РОБОТА №9 ОРГАНІЗАЦІЯ ЕЛЕКТРОННОГО
ЦИФРОВОГО ПІДПИСУ ...................................................................................... 61
ЛАБОРАТОРНА РОБОТА №10 КРИПТОСИСТЕМА ЕЛЬ-ГАМАЛЯ ............... 69
ЛАБОРАТОРНА РОБОТА №11 БЛОКУВАННЯ КАНАЛУ ВИТОКУ
НЕБЕЗПЕЧНОГО СИГНАЛУ У ВІДКРИТИЙ РАДІОПРОСТІР......................... 76
ДОДАТОК А .......................................................................................................... 81
СПИСОК ВИКОРИСТАНОЇ ТА РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ .............. 82
4
ПЕРЕДМОВА
Дисципліна «Захист інформації в комп’ютерних системах» займає
важливе місце у підготовці студентів спеціальності 7.091501 «Комп’ютерні
системи та мережі». Вона спирається на основні поняття з теорії інформації та
розглядає методи та засоби захисту інформації в комп’ютерних системах, які
застосовувало людство від появи письменства до сьогодення.
Метою викладання дисципліни є засвоєння основних принципів захисту
інформації під час збереження, обробки і передавання даних в комп’ютерних
системах і мережах; засвоєння методів і алгоритмів протидії доступу до
інформації з метою її несанкціонованого читання або модифікації.
Мета лабораторних робіт полягає в набутті навичок практичної роботи з
криптографічними перетвореннями інформації, оцінки якості алгоритму
шифрування на основі аналізу статистичних властивостей відкритих та
зашифрованих повідомлень, визначення параметрів технічних засобів
блокування каналу витоку небезпечного сигналу у відкритий радіопростір.
5
ЗАГАЛЬНІ ВИМОГИ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ
Лабораторні роботи виконують підгрупи з 2-3 студентів протягом 4 годин
з оформленням і поданням звіту про виконання роботи.
До лабораторної роботи допускаються студенти, які:
- пройшли контроль викладачем ступеня підготовленості до виконання
поточної лабораторної роботи;
- захистили усі попередні виконані лабораторні роботи.
Лабораторні роботи захищаються в індивідуальному порядку.
Кожна підгрупа оформлює звіт про виконану лабораторну роботу на
аркушах формату А4 (210x297), що має відповідати вимогам ЄСКД, ЄСПД та
ISO 11801.
Виконання лабораторних робіт складається з таких етапів:
1. Проведення попереднього контролю підготовленості студентів до
виконання лабораторної роботи.
2. Захист попередніх робіт.
3. Виконання поточної роботи і отримання практичних результатів.
4. Оформлення звіту.
5. Оцінювання результатів роботи студента викладачем у процесі захисту
поточної лабораторної роботи.
6
Лабораторна робота №1
БАЗОВІ ОПЕРАЦІЇ КРИПТОСИСТЕМ ТА ШИФРИ НА ЇХНІЙ ОСНОВІ
Мета роботи:
– вивчення найпростіших операцій шифрування;
– набуття навиків створення ключів на основі таблиць підстановок і
перестановок;
– вивчення процесу зміни ентропії при криптографічних перетвореннях.
СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Сучасні алгоритми криптографічного захисту інформації базуються на
декількох найпростіших операціях, апробованих століттями розвитку
тайнопису.
Таких операцій дві:
– перестановки;
– підстановки (заміни).
Шифри, побудовані на основі цих операцій, відповідно, називаються
шифрами перестановки та шифрами замін, а шифри, що їх поєднують,
називають композиційними.
Перестановочні шифри будуються на основі:
1) перестановки біт (бітові перестановки);
2) перестановки символів тексту (байтові перестановки);
3) перестановки випадкових за розміром груп символів. Цей метод також
називають методом «тасування карт».
У перестановочних шифрах криптограма утворюється шляхом
перестановки біт, символів або груп символів за визначеним правилом, яке
задається таблицею перестановок.
Таблиця перестановок є ключем шифру.
7
Перестановочні шифри на основі перестановки біт будуються
наступним чином:
– біти символів відкритого тексту нумеруються в порядку їхнього
розташування в тексті (0,1,2……К);
– створюється таблиця перестановок (таблиця чисел 0…К,
розташованих у випадковому порядку). Ця таблиця є ключ шифрування.
Порядок біт у шифрограмі визначається ключовою таблицею.
Окремим випадком перестановки біт є їхній циклічний зсув.
Приклад.
Нехай алфавіт містить символи {A, B, C, D}, які закодовані рівномірним кодом
наступним чином:
Символ A B C D
Код 00 01 10 11
Послідовність біт при передаванні повідомлення DAC має такий вигляд: 110010.
Позиція символу в тексті 1 2 3 4 5 6
Відкритий текст 1 1 0 0 1 0
Ключ шифрування сформуємо за допомоги послідовності елементів кільця лишків у
кільці цілих чисел за формулою i
i M
β α= , де iβ – i-й елемент кільця лишків, α –
примітивний елемент, M – модуль. У якості модуля оберемо 7M = , а 3α = .
Послідовність елементів кільця лишків:
Номер елементу кільця 0 1 2 3 4 5
iβ 1 3 2 6 4 5
Таблиця перестановок біт:
Початкова позиція символу 1 2 3 4 5 6
Позиція після перетворення 1 3 2 6 4 5
Результат перетворення:
Позиція символу шифртексту 1 2 3 4 5 6
Шифртекст 1 0 1 1 0 0
Символьне представлення B D A
8
Перестановочні шифри на основі перестановки символів тексту
будуються наступним чином:
– символи відкритого тексту нумеруються в порядку їхнього
розташування в тексті (0,1,2……К);
– створюється таблиця перестановок (таблиця чисел 0…К,
розташованих у випадковому порядку). Ця таблиця є ключем шифрування.
Символи шифрограми розташовуються в порядку, визначеному ключем.
Приклад.
Позиція символу в тексті 1 2 3 4 5 6 7 8 9 10 11 12
Відкритий текст к р и п т о з а х и с т
За аналогією з попереднім прикладом ключ шифрування сформуємо за допомоги
послідовності елементів кільця лишків у кільці цілих чисел. У якості модуля оберемо
13M = , а 7α = .
У цьому випадку послідовність елементів кільця лишків приймає вигляд:
Номер елементу кільця 0 1 2 3 4 5 6 7 8 9 10 11
iβ 1 7 10 5 9 11 12 6 3 8 4 2
Сформуємо таблицю перестановок:
Початкова позиція символу 1 2 3 4 5 6 7 8 9 10 11 12
Позиція після перестановки 1 7 10 5 9 11 12 6 3 8 4 2
На основі відкритого тексту й таблиці перестановок маємо:
Позиція символу шифртексту 1 2 3 4 5 6 7 8 9 10 11 12
Шифртекст к т х с п а р и т и о з
Перестановочні шифри на основі «тасування карт» будуються
наступним чином:
– символи відкритого тексту нумеруються у порядку їхнього
розташування в тексті (0,1,2……К);
– відрізок з (0,1,2……К) символів розділяється на сегменти випадкової
довжини, для чого створюється таблиця 1 довжин сегментів сумарної довжини,
рівної довжині відкритого тексту;
9
– створюється таблиця 2 перестановок сегментів.
Сегменти шифрограми розташовуються в порядку, визначеному таблицею
2 перестановок сегментів.
Таблиця 1 довжин сегментів и таблиця 2 перестановок сегментів
тримаються в секреті и є елементами ключа шифру. Для підвищення стійкості
«тасування карт» проводиться багаторазово, при цьому кількість циклів
«тасування» (раундів шифрування) тримається в секреті и є елементом ключа.
Таким чином, ключ складається з 3 елементів:
– таблиця 1 довжин сегментів;
– таблиця 2 перестановок сегментів;
– число циклів «тасування».
Приклад.
Позиція символу тексту 1 2 3 4 5 6 7 8 9 10 11 12
Відкритий текст к р и п т о з а х и с т
Довжини сегментів не слід брати занадто великими. Для запропонованого прикладу
максимальну довжину сегменту оберемо, рівною 4. Таблиця 1 довжин сегментів сформуємо
за допомоги кільця лишків з параметрами 13M = и 7α = .
Таблиця 1 довжин сегментів:
Номер елементу кільця 0 1 2 3 4 5 6 7 8 9 10 11
4
1iβ + 2 4 3 2 2 4 1 3 4 1 1 3
Номер сегменту 1 2 3 4 5 - - - - - - -
Довжина сегменту 2 4 3 2 1 - - - - - - -
Таблицю 2 перестановок сегментів також сформуємо за допомоги кільця лишків з
параметрами 13M = и 7α = .
Таблиця 2 перестановок сегментів:
Номер елементу кільця 0 1 2 3 4 5 6 7 8 9 10 11
5
1iβ + 2 3 1 1 5 2 3 2 4 4 5 3
Початкова позиція сегменту 1 2 3 - 4 - - - 5 - - -
Позиція після перестановки 2 3 1 - 5 - - - 4 - - -
10
Виконаємо два раунди шифрування.
1-й раунд:
Номер сегменту 1 2 3 4 5
Відкритий текст кр ипто зах ис т
Шифртекст зах кр ипто т ис
2-й раунд:
Номер сегменту 1 2 3 4 5
Шифртекст після 1 раунду за хкри пто ти с
Шифртекст пто за хкри с ти
Таким чином, отримаємо зашифроване методом тасування карт повідомлення:
птозахкристи.
Шифри замін будуються наступним чином:
– створюється відкритий алфавіт, символи алфавіту нумеруються
числами (0,1,2……К);
– створюється таблиця підстановок (таблиця чисел 0…К, розташованих у
випадковому порядку).
У шифрограмі символи відкритого тексту замінюються символами з
таблиці замін.
Термін «підстановка» (заміна) означає, що криптограма утворюється
шляхом заміни символів відкритого тексту на символи цього ж алфавіту з
таблиці замін. Таблиця замін є ключем шифрування.
Приклад.
Нехай відкритий алфавіт заданий наступним чином:
Приклад алфавіту джерела для символів української мови
1 А 9 І 17 С 25 Щ
2 Б 10 К 18 Т 26 Ю
3 В 11 Л 19 У 27 Я
4 Г 12 М 20 Ф 28 Є
5 Д 13 Н 21 Х 29 Ь
6 Е 14 О 22 Ц 30 И
7 Ж 15 П 23 Ч 31 пробіл
8 З 16 Р 24 Ш 32 .
11
Відкритий текст к р и п т о з а х и с т
Номер символу в алфавіті 10 16 30 15 18 14 8 1 21 30 17 18
Для формування таблиці підстановок скористаємось конгруентною послідовністю,
породженою конгруенц-генератором з параметрами 13K = , 3C = , 37M = . Беручи до
уваги розмірність алфавіту, рівну 32, числа більше 32 видалені з конгруентної послідовності.
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
j 1 4 6 32 28 22 18 3 30 11 23 31 24 7 8 21
i 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
j 5 19 16 14 25 20 29 2 17 27 9 26 13 12 15 10
Замінимо символи відкритого тексту на символи з таблиці замін:
Відкритий текст к р и п т о з а х и с т
Номер символу в алфавіті 10 16 30 15 18 14 8 1 21 30 17 18
Номер символу в табл. замін 11 21 12 8 19 7 3 1 25 12 5 19
Шифртекст л х м з у ж в а щ м д у
Відзначимо, що процедури підстановок і перестановок не руйнують
статистику повідомлення і тому не міняють його ентропію, що суттєво знижує
їхню стійкість. Тому базові операції підстановок і перестановок у реальних
застосуваннях доповнюються операцією рандомізації – операцією вирівнювання
статистики. Операція рандомізації приводить статистику шифрповідомлення до
рівномірної та максимізує ентропію.
ПОРЯДОК ВИКОНАННЯ РОБОТИ
1. Вивчити теоретичні відомості. Визначити базові операції криптоалгоритмів.
2. Пройти попереднє опитування, яке стосується базових операцій
криптоалгоритмів, полів Галуа й операцій у них.
3. Група студентів ділиться на підгрупи по 2-3 особи в кожній.
4. Кожна підгрупа:
− формує відкрите повідомлення (будь-який смисловий текст);
12
− обчислює ентропію відкритого тексту.
4. Кожна підгрупа:
− розробляє алгоритм перестановочного шифру на основі бітових (символи
кодуються рівномірним кодом), байтових перестановок, а також методу
«тасування карт»;
− створює свої ключі та шифрує повідомлення перестановочним шифром;
− обчислює ентропію ключа;
− обчислює ентропію шифртексту.
Примітка. У якості ключової послідовності використовувати кільце лишків у
кільці цілих чисел.
5. Кожна підгрупа:
− розробляє алгоритм шифру замін;
− створює свої ключі та шифрує повідомлення шифром замін;
− обчислює ентропію ключа;
− обчислює ентропію шифртексту.
Примітка. У якості генератора ключової послідовності використовувати
конгруенц-генератор.
Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з
текстом і ключами інших підгруп.
6. Виконати аналіз отриманих результатів.
7. Оформити звіт. Зробити висновки про результати виконаної роботи.
ЗМІСТ ЗВІТУ
1. Тема та мета роботи.
2. Алгоритми шифрування (у вигляді блок-схем).
3. Відкритий текст.
13
4. Шифртексти повідомлення, отримані в результаті криптографічних
перетворень за вказаними алгоритмами.
5. Статистика й ентропія відкритого тексту та шифртекстів.
6. Висновки.
Примітка. У висновках дається оцінка виконаної роботи (що вона Вам
показала), даються відповіді на наведені нижче питання, виявляються недоліки
базових криптоалгоритмів.
КОНТРОЛЬНІ ПИТАННЯ
1. Яка повинна бути мінімальна довжина ключа для підстановочного та
перестановочного шифрування, щоб забезпечити гарантовану стійкість
шифру?
2. Чи змінюють розглянуті криптографічні алгоритми статистику й ентропію
повідомлення? Чому?
3. Визначити методику злому підстановочного й перестановочного шифрів.
4. Сутність методу частотного аналізу.
5. Порівняти складність алгоритмів дешифрування підстановочного й
перестановочного шифрів.
6. Визначити особливості реалізації підстановочного й перестановочного
шифру на ЕОМ.
7. Порівняти складність реалізації шифрів, що базуються на перестановці
символів та методі «тасування карт».
14
Лабораторна робота №2
ШИФРИ ЦЕЗАРЯ, ВІЖЕНЕРА, ВЕРНАМА
Мета роботи:
– вивчення шифрів Цезаря, Віженера, Вернама та їхніх властивостей;
– набуття навиків формування ключів для цих шифрів і виконання
процедури шифрування;
– вивчення характеру зміни ентропії після виконання криптографічних
перетворень.
СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Криптографія виникла разом з писемністю. У історичних документах
древніх цивілізацій Індії, Єгипту, Месопотамії маються відомості про системи та
способи складання шифрованого листа. Так, у древньоіндійських рукописах
міститься виклад 64-х способів перетворення тексту. Серед них написання
знаків не за порядком, а врозкид за деяким правилом. Багато з наведених
способів слід розглядати як криптографічні, тобто які забезпечують
прихованість перепису. Наведена система заміни літер. Згадується, що тайнопис
є одним з 64-х мистецтв, яким слід володіти як чоловікам, так і жінкам.
З цим періодом пов’язані такі імена, як полководець Лісандр, полководець
Еней, Полібій, Юлій Цезар та інші.
Шифр Цезаря
За свідоцтвами древньоримського історика Гай Юлій Цезар (102 або 100-
44 до н.е.) використовував його для тайного перепису. У шифрі Цезаря кожна
буква початкового повідомлення зсувається в алфавіті на фіксоване число
позицій уперед, за необхідністю переходячи циклічно на початок алфавіту. Сам
Цезар використовував зсув на три позиції.
15
Якщо алфавіт зобразити у вигляді графа, то перетворення відкритого
(початкового) тексту в шифрограму виконується поворотом графа алфавіту на
деякий фіксований кут, який є ключем шифрування. у сучасній класифікації
вказаний шифр може бути віднесений до шифрів заміни. Ключем шифрування є
таблиця замін, яка містить циклічно зсунутий початковий алфавіт.
Рис.2.1 Граф алфавіту
Перетворення початкового тексту повідомлення в шифрограму і навпаки
відбувається відповідно до наступної математичної моделі:
Bi = | Ai + K |N – рівняння шифрування;
Аi = | Вi – K |N – рівняння розшифрування,
де Ai – символ відкритого тексту,
Bi – символ шифртексту,
K – ключ шифрування,
i – номер символу в тексті ( ∞≤≤i0 ),
N – об’єм алфавіту.
Приклад.
Необхідно зашифрувати слово «студент» шифром Цезаря.
Для початку створимо алфавіт з 32 символів української мови. Пронумеруємо їх
числами 0…31. Символи української мови розташуємо в алфавіті в довільному порядку, як,
наприклад, у таблиці 2.1.
Шифрування виконується наступним чином:
Початковий текст: С Т У Д Е Н Т
Номер символу: 01 04 06 02 22 08 04
Ключ: 20 20 20 20 20 20 20
Новий код: 21 24 26 22 10 28 24
а
б
вю
я
…
16
Шифртекст: Ф З Р Е Ч Ж З
Таблиця 2.1
Конструкція алфавіту
Номер
символу
Символ
Номер
символу
Символ
Номер
символу
Символ
Номер
символу
Символ
0 б 8 н 16 точка 24 з
1 с 9 ш 17 ю 25 м
2 д 10 ч 18 в 26 р
3 о 11 л 19 ц 27 х
4 т 12 п 20 і 28 ж
5 к 13 г 21 ф 29 ш
6 у 14 є 22 е 30 и
7 я 15 а 23 пробіл 31 ь
Відзначимо, що шифр Цезаря утворюється заміною символів відкритого
тексту на символи циклічно зсунутого алфавіту, де ключ шифру визначається
величиною зсуву алфавіту. Оскільки число різних зсувів на одиницю менше
числа символів алфавіту, розкриття шифру Цезаря не вимагає особливих зусиль.
Достатньо перебрати всі можливі величини зсуву – від 1 до 31 у випадку
українського алфавіту (табл. 2.1). Повідомлення буде розшифровано, як тільки
утвориться усвідомлюваний текст.
Суперпозиція двох операцій шифрування на ключах k1 и k2 є шифрування
на ключі k1+k2. У загальному випадку множина шифрувальних перетворень
шифру Цезаря утворює абелеву групу.
Природнім розвитком шифру Цезаря став шифр Віженера.
Шифр Віженера
Людству знадобилося не одна сотня років для того, щоб зрозуміти, що
стійкість шифру буде вище, якщо ключ буде складатися не з одного символу, а
з групи різних символів.
Вперше цей метод описав Джовані-Баттіста Беллазо у книзі у 1553 році,
проте у XIX столітті отримав ім’я Блеза Віженера.
17
У якості ключа використовується не одна літера, як у шифрі Цезаря, а
слово. Таким чином, шифр Віженера складається з послідовності декількох
шифрів Цезаря з різними значеннями зсуву.
Математична модель шифрування-розшифрування для шифру Віженера
приймає вигляд:
Bi = | Ai + Kj |N – рівняння шифрування;
Аi = | Вi – Kj |N – рівняння розшифрування;
де Ai – символ відкритого тексту,
Bi – символ шифртексту,
Kj – символ ключової послідовності,
i – номер символу в тексті ( ∞≤≤i0 ),
j – номер символу ключа, при цьому j=| i |L, де: L – довжина ключа,
N – об’єм алфавіту.
Приклад.
Нехай шифром Віженера необхідно зашифрувати слово «студент». У якості ключа
шифрування оберемо слово «Марія». Використаємо алфавіт, наведений у таблиці 2.1.
Початковий текст: С Т У Д Е Н Т
Номер символу: 01 04 06 02 22 08 04
Ключ: М А Р І Я М А
Сума за mod32: 26 19 0 22 29 01 19
Шифртекст: Р Ц Б Е Щ С Ц
Шифр Віженера заслужив свою репутацію за виняткову стійкість до
«ручного» злому. В XIX столітті Фрідріх Касіскі повністю зламав шифр, а деякі
досвідчені криптоаналітики іноді зламували шифр ще в XVI столітті. Гілберт
Вернам спробував поліпшити зламаний шифр, (він отримав назву «шифр
Вернама-Віженера» в 1918 році), але, незважаючи на те, що він зробив, шифр
так і залишився уразливим до криптоаналізу. Проте робота Вернама, зрештою,
привела до шифру, що дійсно важко зламується.
Шифр Вернама (англ. One-time pad — схема одноразових блокнотів).
У 1917 році американський інженер фірми АТТ висунув ідею, що кожний
біт відкритого тексту повинен шифруватися випадковим бітом ключа, довжина
18
ключа повинна бути рівною довжині відкритого тексту, а ключ повинен бути
одноразовим. Для шифру Вернама рівняння шифрування-розшифрування
приймає вигляд:
Bi = | Ai + Ki |N – рівняння шифрування;
Аi = | Вi – Ki |N – рівняння розшифрування;
де Ai – символ відкритого тексту,
Bi – символ шифртексту,
Ki – символ ключової послідовності,
i – номер символу ( ∞≤≤i0 ),
N – об’єм алфавіту,
Приклад.
Нехай шифром Вернама необхідно зашифрувати слово «студент». Алфавіт – з таблиці
2.1. У якості ключа будемо використовувати випадкову послідовність чисел.
Початковий текст: С Т У Д Е Н Т
Номер символу: 01 04 06 02 22 08 04
Ключ: 28 13 06 22 07 23 17
Сума за mod32: 29 17 12 24 29 0 21
Шифртекст: Щ Ю Л З Щ Б Ф
У 1949 році Клод Шеннон опублікував роботу, в якій довів абсолютну
стійкість шифру Вернама. При цьому ключ повинен володіти трьома критично
важливими властивостями:
1) бути істино випадковим;
2) за довжиною бути не менше довжини відкритого тексту;
3) використовуватися тільки один раз.
Шифр Вернама, побудований з використанням ключа, що задовольняє
переліченим умовам, володіє гарантованою стійкістю. Це означає, що для цього
шифру збільшення числа перехоплених шифрограм не додає знань ані про
відкритий текст, ані про ключ шифрування.
Умови, яким повинен відповідати ключ, настільки сильні, що практичне
застосування шифру Вернама становиться важко здійсненним і
19
використовується для передавання повідомлень найвищої секретності.
Складність реалізації умов гарантованої стійкості пояснюється наступним:
- складно отримати ключ нескінченної довжини (такий ключ неможливо
отримати, якщо генератор випадкових чисел – скінченний автомат, а
генератор випадкових чисел на основі хаотичного руху електронів
характеризується температурною та часовою нестабільністю);
- складно забезпечити контроль одноразового використання ключа або його
фрагментів (для цього необхідно мати нескінченну пом’ять).
ПОРЯДОК ВИКОНАННЯ РОБОТИ
1. Вивчити теоретичні відомості.
2. Група студентів ділиться на підгрупи по 2-3 особи в кожній.
3. Кожна підгрупа:
− формує відкрите повідомлення (будь-який смисловий текст, який містить
150-200 символів);
− обчислює ентропію відкритого тексту.
4. Кожна підгрупа:
− формує ключ и виконує шифрування відкритого тексту шифром Цезаря;
− обчислює ентропію отриманого шифртексту.
5. Кожна підгрупа:
− формує ключ и виконує шифрування відкритого тексту шифром
Виженера;
− обчислює ентропію отриманого шифртексту.
6. Кожна підгрупа:
−формує ключ и виконує шифрування відкритого тексту шифром Вернама;
−обчислює ентропію отриманого шифртексту.
Примітка. У якості генератора ключової послідовності використовувати
генератор кільця лишків у кільці цілих чисел.
20
Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з
текстом і ключами інших підгруп.
7. Виконати аналіз отриманих результатів.
8. Оформити звіт. Зробити висновки про результати виконаної роботи.
ЗМІСТ ЗВІТУ
1. Тема та мета роботи.
2. Алгоритми шифрування (у вигляді блок-схем).
3. Відкритий текст.
4. Шифртексти повідомлення, отримані в результаті криптографічних
перетворень за вказаними алгоритмами.
5. Статистика й ентропія відкритого тексту та шифртекстів.
6. Висновки.
Примітка. У висновках дається оцінка виконаної роботи (що вона Вам
показала), даються відповіді на наведені нижче питання, визначаються можливі
способи атак на досліджені алгоритми шифрування.
КОНТРОЛЬНІ ПИТАННЯ
1. У чому відмінність операцій шифрування і розшифрування для шифрів
Цезаря, Віженера, Вернама?
2. Чи змінюють розглянуті криптографічні алгоритми статистику й ентропію
повідомлень?
3. Довжина ключа для шифрів Цезаря, Віженера, Вернама.
4. Швидкість зміни ключів для шифрів Цезаря, Віженера, Вернама.
5. Шифр Вернама. Труднощі практичної реалізації.
6. Мінімальна довжина ключа для шифру Вернама, що забезпечує гарантовану
стійкість.
7. Чому шифр Вернама називають «схемою одноразових блокнотів»?.
8. Визначити можливу методику злому шифрів Цезаря, Віженера, Вернама.
21
22
Лабораторна робота №3
ДОСЛІДЖЕННЯ СТАТИСТИЧНИХ ВЛАСТИВОСТЕЙ БІГРАМНИХ
ШИФРІВ
Мета роботи:
− вивчення алгоритму біграмного шифрування;
– набуття навиків формування ключів для цих шифрів і виконання
процедури шифрування;
− дослідження статистичних властивостей відкритого тексту, ключової
послідовності, біграмного шифртексту;
− вивчення характеру зміни кількості інформації та ентропії для різних
ключів. Вибір на цій основі ключа шифрування.
СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Біграмне шифрування – це криптографічний алгоритм, призначений для
шифрування груп із двох символів (біграм).
Засновник біграмних шифрів — німецький абат Іоганн Трисемус, який у
1508 році в своїй роботі з криптології «Поліграфія» вперше відмітив можливість
шифрування біграмами, тобто двосимвольними поєднаннями.
Біграмний «Шифр Плейфера» використовувався Великобританією в роки
Першої світової війни.
Шифр Плейфера або квадрат Плейфера – ручна симетрична техніка
шифрування, в якій вперше використана заміна біграм. Шифр передбачає
шифрування пар символів (біграм) замість окремих символів, як у шифрі
підстановки и в більш складних системах шифрування Віженера. Таким чином,
шифр Плейфера більш стійкий до злому у порівнянні з шифром простої заміни
через труднощі з частотним аналізом. Він може бути проведений, але не для 26
можливих символів (латинський алфавіт), а для 26х26=676 можливих біграм.
23
Аналіз частоти біграм можливий, але є значно більш важким і вимагає набагато
більшого об’єму зашифрованого тексту.
Біграмний шифр «Подвійний квадрат» був винайдений англійцем
Чарльзом Уітстоном у 1854 році. Шифр Уітстона відкрив новий етап у історії
розвитку криптографії. Шифр "подвійний квадрат" використовує відразу дві
таблиці, розміщені по одній горизонталі, а шифрування йде біграмами, як у
шифрі Плейфера. Ці не дуже складні модифікації привели до появи на світ
якісно нової криптографічної системи ручного шифрування. Шифр "подвійний
квадрат" виявився дуже надійним і зручним та використовувався Німеччиною
навіть у роки Другої світової війни.
Пояснимо процедуру шифрування цим шифром на прикладі.
Нехай алфавіт обраний таким чином:
Таблиця 3.1
Алфавіт джерела
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
а б в г д е ж з і к л м н о п р
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
с т у ф х ц ч ш щ ю я є ь и прб .
Ключ шифрування зводиться до створення двох таблиць розмірності 8*4
(8 стовпців и 4 рядки), наприклад, наведеного нижче виду, тобто послідовності
символів алфавіту в довільному порядку.
Таблиця 3.2
Ключ шифрування
а 1
б 2
в 3
г 4
д 5
е 6
ж 7
з 8
. я ш ф р м з г
і к л м н о п р прб ю ч у п л н в
с т у ф х ц ч ш и є ц т о к е б
щ ю я є ь и прб . 32
ь щ х с ж і д а
Ліва табл. Права табл.
Перед шифруванням початкове повідомлення розбивають на біграми.
Кожна біграма шифрується окремо. Перший символ біграми знаходять у лівій
таблиці, а другий символ – у правій таблиці. Потім подумки будують
24
прямокутник таким чином, щоб символи біграми лежали в його протилежних
вершинах. Інші дві вершини цього прямокутника дають символи біграми
шифртексту.
Якщо символи початкового повідомлення лежать у одному рядку, то і
символи шифртексту беруться з того ж рядка в наступному порядку:
- для першого символу біграми визначаємо номер стовпця з цим
символом у лівій таблиці (наприклад, 5 стовпець);
- у правій таблиці в цьому рядку в 5 стовпці знаходимо символ
шифртексту;
- для другого символу біграми у правій таблиці знаходимо стовпець, що
містить цей символ (наприклад, 7);
- символ зашифрованого тексту визначається за 7 стовпцем лівої таблиці.
Припустимо, що шифрується наступне повідомлення:
Виконую роботу. Люба.
Після розбиття повідомлення на біграми:
Ви ко ну ю_ ро бо ту ._ Лю ба ._
Шифрується біграма початкового тексту Ви. Буква В знаходиться в
стовпці 3 и рядку 1 лівої таблиці. Буква и знаходиться в стовпці 1 и рядку 3
правої таблиці. Це означає, що прямокутник утворюється рядками 1 и 3, а також
стовпцями 3 лівої таблиці и 1 правої таблиці. Отже, в біграму шифртексту
входять символ «.», розташований у стовпці 1 и рядку 1 правої таблиці, и буква
у, розташована в стовпці 3 и рядку 3 лівої таблиці, тобто отримуємо біграму
шифртексту .у.
Якщо обидва символи біграми повідомлення лежать у одному рядку, то і
символи шифртексту беруть з того ж рядка. При шифруванні біграми ну першу
букву біграми шифртекста беруть з правої таблиці в стовпці, що відповідає
першій букві біграми повідомлення – символ з 5 стовпця п. Друга буква біграми
шифртексту береться з лівої таблиці в стовпці, що відповідає другій букві
25
біграми повідомлення – символ з 4 стовпця м. Тому біграма повідомлення ну
перетворюється в біграму шифртексту пм.
Аналогічним чином шифруються усі біграми повідомлення:
Повідомлення ви ко ну ю_ ро бо ту ._ лю ба ._
Шифртекст .у пт пм ьк пш рт тк ьз чк гю ьз
ПОРЯДОК ВИКОНАННЯ РОБОТИ
1. Вивчити теоретичні відомості.
2. Група студентів ділиться на підгрупи по 2-3 особи в кожній.
3. Кожна підгрупа формує алфавіт (на основі української, російської,
англійської мов) з 32 символів (включаючи пробіл – прб.).
4. Кожна підгрупа формує відкрите повідомлення довільного змісту розміром
не меншим 150-200 символів алфавіту.
5. Кожна підгрупа формує 3 ключі (3 таблиці шифрування):
− довільної послідовності символів алфавіту;
− конгруентних чисел;
− генерацією на ЕОМ випадкових чисел.
У кожній підгрупі ключі різні.
6. За правилами біграмного шифрування сформувати 3 шифртексти.
7. Виконати статистичний аналіз:
− відкритого тексту;
− ключових послідовностей;
− шифртекстів.
8. Визначити ключ, за якого досягається максимум невизначеності
шифртексту.
9. Виконати аналіз отриманих результатів.
10. Оформити звіт. Зробити висновки про результати виконаної роботи.
26
ЗМІСТ ЗВІТУ
1. Тема та мета роботи.
2. Алгоритм шифрування (у вигляді блок-схеми).
3. Алфавіт повідомлення, відкрите повідомлення.
4. 3 таблиці шифрування.
5. 3 шифртексти.
6. Результати статистичного аналізу, вибір ключа.
7. Висновки.
Примітка. У висновках дається оцінка виконаної роботи (що вона Вам
показала), даються відповіді на наведені нижче питання.
КОНТРОЛЬНІ ПИТАННЯ
1. Алгоритм біграмного шифрування.
2. Властивості біграмного шифрування.
3. Ключ біграмного шифрування.
4. Чи змінює біграмне шифрування статистику повідомлення та його
ентропію? Чому?
5. Який вплив ключів шифрування на зміну статистики повідомлення?
6. Як визначити частоту зміни ключів для біграмного шифрування?
7. Особливості реалізації алгоритму біграмного шифрування на ЕОМ.
8. Визначити можливу методику злому біграмних шифрів. Ефективність
частотного аналізу.
27
Лабораторна робота №4
КРИПТОСИСТЕМА DES. РЕЖИМ ПРОСТОЇ ЗАМІНИ
Мета роботи:
– вивчення алгоритму криптографічного перетворення DES;
– набуття навиків шифрування за стандартом DES у режимі простої заміни;
– дослідження процесу зміни ентропії після виконання криптографічних
перетворень.
СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ
DES (Data Encryption Standard) – симетричний алгоритм блокового
шифрування. DES розроблений фірмою IBM і затверджений урядом США у
1977 році як офіційний стандарт (FIPS 46-3).
Для DES рекомендовано декілька режимів:
• режим електронної кодової книги ECB (режим простої заміни),
• режим зчеплення блоків СВС,
• режим зворотного зв’язку по виходу OFB (режим простого гамування),
• режим зворотного зв’язку по шифртексту CFB (режим посиленого
гамування).
У цій лабораторній роботі розглянемо перший з перерахованих режимів
роботи DES – режим простої заміни.
Алгоритм DES розроблений для криптографічного перетворення даних
розрядністю 64 біти на основі 64-бітового ключа. Розшифровування
виконується за допомоги того ж ключа, що і шифрування, але цей процес є
інверсним по відношенню до процесу шифрування даних.
Процес шифрування даних пояснюється рис. 4.1.
28
Рис. 4.1. Блок-схема алгоритму DES
Спочатку 64 біти вхідної послідовності переставляються у відповідності
до таблиці. 4.1. Таким чином, 58-й біт вхідної послідовності стає 1-м бітом, біт
50 – бітом 2 і т.д.
Таблиця 4.1
Початкова перестановка
58
60
62
64
57
59
61
63
50
52
54
56
49
51
53
55
42
44
46
48
41
43
45
47
34
36
38
40
33
35
37
39
26
28
30
32
25
27
29
31
18
20
22
24
17
19
21
23
10
12
14
16
9
11
13
15
2
4
6
8
1
3
5
7
Отримана послідовність біт розділяється на дві послідовності: L(0) і R(0),
кожна з яких містить 32 біти. Після цього виконується ітеративний процес
29
шифрування, який описується наступними формулами (f – функція
шифрування):
L (i) = R (i-1) i = 1, 2, ..., 16;
R (i) = L (i -1) + f (R (i -1), K (i)) i = 1, 2, ..., 16.
Аргументами функції шифрування є послідовність R, отримана на
попередньому кроці ітерації, і 48-бітовий ключ K(i), який є результатом функції
перетворення 64-бітового ключа шифрування. Детально функція шифрування і
алгоритм отримання ключів K(i) описані нижче.
На останньому кроці ітерації будуть отримані послідовності L(16) і R(16),
які конкатенуються в 64-бітову послідовність L(16) і R(16). Після цього
отримана 64-бітова послідовність переставляється у відповідності до таблиці
4.2.
Таблиця 4.2
Кінцева перестановка
40
39
38
37
36
35
34
33
8
7
6
5
4
3
2
1
48
47
46
45
44
43
42
41
16
15
14
13
12
11
10
9
56
55
54
53
52
51
50
49
24
23
22
21
20
19
18
17
64
63
62
61
60
59
58
57
32
31
30
29
28
27
26
25
Отримана послідовність з 64 біт і буде зашифрованою вхідною
послідовністю.
Процес розшифровування даних є інверсним по відношенню до процесу
шифрування. Усі дії мають бути виконані в зворотному порядку. Це означає, що
дані, що підлягають розшифруванню, спочатку переставляються у відповідності
до таблиці 4.2, а потім над послідовністю біт L(16) R(16) виконуються ті ж дії,
що і в процесі шифрування, але в зворотному порядку. Ітеративний процес
розшифровування може бути описаний наступними формулами:
R(i-1)= L(i) i = 16, 15, ..., 1;
L(i-1)= R(i)+ f (L(i),K(i)) i = 16, 15, ..., 1.
30
На останньому кроці ітерації будуть отримані послідовності L(0) і R(0), які
конкатенуються в 64-бітову послідовність L(0) R(0). У отриманій послідовності
64 біта переставляються у відповідності до таблиці 4.1. Результат такого
перетворення – вихідна послідовність біт (розшифроване 64-бітове значення).
Функція шифрування f(R,K) схематично показана на рис. 4.2.
Для обчислення значень функції f використовується функція розширення
E (з 32 біт до 48), функції S(1), S(2) ..., S(8) (перетворення 6-бітового числа в 4-
бітове) і функція Р (перестановка біт у 32-бітовій послідовності). Наведемо
визначення цих функцій. Аргументами функції шифрування є R (32 біта) і K (48
біт). Результат виконання функції E(R) є 48-бітове число, яке складається за
модулем 2 з числом К.
Рис 4.2. Блок-схема функції шифрування f
Таким чином, отримується 48-бітова послідовність, яка розглядається, як
конкатенація 8 рядків завдовжки по 6 біт, тобто (В(1) В(2) В(3) В(4) В(5) В(6)
В(7) В(8)). Результат функції S(i)(B(i)) – 4-бітова послідовність, яку
позначатимемо L(i). У результаті конкатенації всіх 8 отриманих послідовностей
L(i) маємо 32-бітову послідовність L = L(1) L(2) L(3) L(4) L(5) L(6) L(7) L(8).
Нарешті, для отримання результату функції шифрування треба переставити біти
послідовності L. Для цього застосовується функція перестановок P(L).
31
Функція розширення Е, що виконує розширення 32 біт до 48,
визначається табл. 4.3. У відповідності до цієї таблиці перші три біта Е(R) – це
біти 32, 1, 2, а останні – 31, 32, 1.
Таблиця 4.3
Функція розширення Е
32
4
8
12
16
20
24
28
1
5
9
13
17
21
25
29
2
6
10
14
18
22
26
30
3
7
11
15
19
23
27
31
4
8
12
16
20
24
28
32
5
9
13
17
21
25
29
1
Функція S(i), яка перетворює 6-бітові числа в 4-бітові, визначається табл. 4.4.
Таблиця 4.4
Функція перетворення S(i)
S1
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
S2
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
S3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
S4
7 13 4 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
S5
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
S6
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
Продовження табл. 4.4
S7
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
32
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
S8
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Для табл. 4.4 потрібні додаткові пояснення. Кожна з функцій S(i)
перетворює 6-бітовий вхід у 4-бітовий вихід за наступним алгоритмом:
• перший і останній біти вхідної послідовності визначають номер рядка k;
• другий, третій, четвертий і п'ятий біти вхідної послідовності задають
номер колонки q;
• результат перетворення обирається як двійковий запис числа, що
знаходиться на перетині рядку k і колонки q.
Функція перестановки біт P(L), що також використовується для
визначення функції шифрування, задається значеннями, наведеними в табл. 4.5.
У послідовності L 32 біти переставляються так, щоб біт 16 став першим бітом,
біт 7 – другим і т.д.
Таблиця 4.5
Функція перестановки P
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
Для завершення опису алгоритму шифрування даних залишилося навести
алгоритм отримання ключів К(i), i = 1,2,...,16, розмірністю в 48 біт. Ключі К(i)
визначаються з 64-бітового ключа шифрування, як це показано на рис. 4.3.
33
Рис. 4.3. Блок-схема алгоритму формування ключів
Спочатку над ключем шифру виконується операція В, яка зводиться до
вибору певних біт і їхньої перестановки, як це показано в табл. 4.6. Причому,
перші 4 рядки визначають, як обираються біти послідовності С(0) (першим
бітом послідовності С(0) буде біт 57 ключа шифру, потім біт 49 і т.д., а
останніми – біти 44 і 36 ключа), а наступні чотири рядки – як обираються біти
послідовності D(0) (тобто послідовність D(0) складатиметься з бітів 63, 55, ...,
12, 4 ключа шифру).
Таблиця 4.6
Функція перестановки і вибору послідовності В
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 45 35 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
Як видно з табл. 4.6, для генерації послідовностей С(0) і D(0) не
використовуються біти 8, 16, 24, 32, 40,48, 56 і 64 ключа шифру. Ці біти не
впливають на шифрування і можуть бути використані для інших цілей
(наприклад, для контролю парності). Таким чином, насправді ключ шифрування
є 56-бітовим.
34
Після визначення С(0) і D(0) рекурсивно визначаються C(i) і D(i), i = 1, 2,
..., 16. Для цього застосовуються операції зсуву вліво на один або два біти
залежно від номера кроку, як це показано в табл. 4.7.
Таблиця 4.7
Функція зсуву S(i)
Номер
ітерації
Кількість
зсувів
Номер
ітерації
Кількість
зсувів
1 1 9 1
2 1 10 2
3 2 11 2
4 2 12 2
5 2 13 2
6 2 14 2
7 2 15 2
8 2 16 1
Операції зсуву виконуються для послідовностей С(i) і D(i) незалежно.
Наприклад, послідовність С(3) отримується шляхом зсуву вліво на дві позиції
послідовності С(2), а послідовність D(3) – шляхом зсуву вліво на дві позиції
послідовності D(2). Слід мати на увазі, що виконується циклічний зсув уліво.
Ключ K(i), що визначається на кожному кроці ітерації, є результатом
вибору певних біт з 56-бітової послідовності C(i) D(i) та їхньої перестановки.
Іншими словами: K(i)=K(C(i) D(i)), де функція K визначається даними,
наведеними в табл. 4.8.
Таблиця 4.8
Функція перестановки і вибору K
14 17 11 24 1 5
3 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
Як випливає з табл. 4.8, перший біт K(i) – це 14-й біт послідовності
C(i) D(i), другий – біт 17-й, останній – біт 32-й.
35
Визначимо стійкість криптоалгоритму до впливу помилок каналу зв'язку.
Відзначимо, що DES – блоковий шифр, де кожен блок даних шифрується
незалежно від попередніх і наступних блоків, унаслідок чого трек помилки не
може перевищувати одного блоку. Принцип шифрування – розсіювання,
перемішування, підстановки і перестановки символів відкритого тексту,
унаслідок чого будь-яка помилка каналу даних призводить до поширення
впливу одного помилкового біта даний на всі символи блоку, включаючи (як
наслідок виконання замін) розмноження помилок до такої міри, що в межах
блоку ймовірність помилки стає рівною 0,5. Таким чином, одна помилка у
шифрблоці робить неможливим читання усього шифрблоку.
ПОРЯДОК ВИКОНАННЯ РОБОТИ
1. Вивчити теоретичні відомості.
2. Група студентів ділиться на підгрупи по 2-3 особи в кожній.
3. Кожна підгрупа:
− формує відкрите повідомлення (будь-який смисловий текст, що
складається з 24 символів);
− кодує символи відкритого тексту кодами ASCII. Розширена таблиця
ASCII наведена в додатку А;
− обчислює ентропію відкритого тексту;
− формує ключ шифрування, що складається з 64 біт (8 символів в коді
ASCII).
8. Кожна підгрупа:
− виконує шифрування відкритого тексту за алгоритмом DES у режимі
простої заміни. Кількість ітерацій при перетворенні кожного блоку
допускається не менше 3;
− обчислює ентропію шифртексту;
36
− перетворює шифртекст з двійкового в символьний вигляд за допомогою
таблиці ASCII кодів.
Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з
текстом і ключами інших підгруп.
9. Виконати аналіз отриманих результатів.
10. Оформити звіт. Зробити висновки про результати виконаної роботи.
ЗМІСТ ЗВІТУ
1. Тема і мета роботи.
2. Алгоритм шифрування (у вигляді блок-схеми).
3. Відкритий текст. Ключ шифрування з зазначенням процедури його
отримання.
4. Проміжні результати декількох раундів шифрування.
5. Шифртекст повідомлення.
6. Статистика й ентропія відкритого тексту та шифртексту.
7. Висновки.
Примітка. У висновках дається оцінка виконаної роботи (що вона Вам
показала), даються відповіді на наведені нижче питання.
КОНТРОЛЬНІ ПИТАННЯ
1. Блокове і потокове шифрування. Сфери застосування. Переваги та недоліки.
2. Переваги та недоліки алгоритму шифрування DES.
3. Режими роботи DES. Їхні властивості та відмінності. Сфери застосування.
4. Трудомісткість операцій шифрування і розшифрування для алгоритму DES у
режимі простої заміни.
5. Чи зміниться шифртекст, якщо всі біти відкритого тексту і ключа будуть
нульовими?
6. Основна функція шифрування DES (функція Фейстеля).
37
7. Слабкі та частково слабкі ключі DES.
8. Криптоаналіз шифру DES за допомогою словника.
38
Лабораторна робота №5
КРИПТОСИСТЕМА DES. РЕЖИМ ЗЧЕПЛЕННЯ БЛОКІВ
Мета роботи:
– вивчення алгоритму криптографічного перетворення DES;
– набуття навиків шифрування за стандартом DES у режимі зчеплення
блоків;
– вивчення процесу зміни ентропії після виконання криптографічних
перетворень.
СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Нагадаємо, що DES (Data Encryption Standard) – симетричний алгоритм
блокового шифрування, розроблений фірмою IBM і затверджений урядом США
в 1977 році як офіційний стандарт (FIPS 46-3).
Для DES рекомендовано 4 режими, перераховані в попередній
лабораторній роботі. У даній роботі розглядається режим зчеплення блоків.
Недоліком блокових шифрів, що працюють в режимі простої заміни, є те,
що однакові блоки відкритого тексту дають однакові блоки шифртексту. Для
усунення цього недоліку використовують зчеплення блоків перед
шифруванням, тобто складання за модулем два наступні блоки відкритого
тексту з попереднім блоком шифртексту.
Така процедура дозволяє домогтися сильного ефекту розсіювання –
поширення впливу одного біту відкритого тексту на весь подальший
шифртекст. Наслідком зчеплення та розсіювання біт у блоці є істотне
підвищенні криптостійкості цього режиму шифрування. Іншим наслідком
зчеплення та розсіювання біт є те, що при передаванні шифртексту каналом
зв'язку одна помилка в каналі передавання шифрповідомлення призводить до
повного спотворення всього подальшого потоку даних. Великий трек помилки
39
унеможливлює передавання даних без захисту від помилок навіть
інформаційних потоків з великою природною надмірністю. З іншого боку, у
зв'язку з тим, що не існує кодів, що гарантують 100% виявлення помилок (не
кажучи про їх виправлення), у каналах передавання даних важко визначити
необхідне значення міри підвищення достовірності, тобто ступінь кодового
поліному (величину надмірності, що вноситься, або допустиме значення втрати
швидкості). Тому використання режиму зчеплення блоків у реальних мережах
передавання даних вельми проблематично.
У той же час, режим зчеплення блоків дуже ефективний для вироблення
імітовставки.
Блок-схема алгоритму шифрування DES у режимі зчеплення блоків
наведена на рис. 5.1.
Рис. 5.1. Блок-схема алгоритму шифрування DES у режимі зчеплення блоків
На рис. 5.1 введені наступні позначення: ВТ – відкритий текст; ШП –
шифрперетворення; ШТ – шифртекст; С0 – 64-бітовий початковий вектор.
Поблокова схема шифрування представлена на рис. 5.2.
40
ВБ1
+
ШП
ШБ1
С0
ВБ2
+
ШП
ШБ2
...
Рис. 5.2. Блок-схема алгоритму шифрування DES у режимі зчеплення блоків
На рис. 5.2 позначені блоки перших двох ітерацій: ВБ1, ВБ2 – перший і
другий блоки відкритого тексту відповідно; ШБ1, ШБ2 – перший і другий блоки
шифртексту відповідно; вектор С0 тримається в таємниці.
Криптографічні перетворення над відкритим текстом виконуються за
алгоритмом, аналогічним алгоритму для режиму простої заміни.
ПОРЯДОК ВИКОНАННЯ РОБОТИ
1. Вивчити теоретичні відомості.
2. Група студентів ділиться на підгрупи по 2-3 особи в кожній.
3. Кожна підгрупа:
− використовує відкрите повідомлення, сформоване для реалізації режиму
простої заміни (будь-який смисловий текст, що складається з 24
символів);
− кодує символи відкритого тексту кодами ASCII (таблиця ASCII наведена в
додатку А);
− обчислює ентропію відкритого тексту;
− формує 64-бітовий початковий вектор С0 (8 символів у коді ASCII);
− формує 64-бітовий ключ шифрування (8 символів у коді ASCII).
4. Кожна підгрупа:
41
− виконує шифрування відкритого тексту за алгоритмом DES у режимі
зчеплення блоків. Кількість ітерацій при перетворенні кожного блоку
допускається не менше 3;
− обчислює ентропію шифртексту;
− перетворює шифртекст з двійкового в символьний вигляд за допомогою
таблиці ASCII кодів.
Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з
текстом і ключами інших підгруп.
5. Виконати аналіз отриманих результатів.
6. Оформити звіт. Зробити висновки про результати виконаної роботи.
ЗМІСТ ЗВІТУ
1. Тема і мета роботи.
2. Алгоритм шифрування (у вигляді блок-схеми).
3. Відкритий текст. Початковий вектор. Ключ шифрування.
4. Проміжні результати декількох раундів шифрування.
5. Шифртекст повідомлення.
6. Статистика й ентропія відкритого тексту і шифртексту.
7. Висновки.
Примітка. У висновках дається оцінка виконаної роботи (що вона Вам
показала), даються відповіді на наведені нижче питання.
КОНТРОЛЬНІ ПИТАННЯ
1. Блокове і потокове шифрування. Сфери застосування. Переваги та недоліки.
2. Переваги та недоліки алгоритму шифрування DES.
3. Режими роботи DES. Їхні властивості та відмінності. Сфери застосування.
4. Доцільність використання режиму зчеплення блоків.
5. Трудомісткість операцій шифрування і розшифрування для алгоритму DES у
режимі зчеплення блоків.
42
6. Прикладні застосування режиму зчеплення блоків DES.
7. Вимоги до каналу зв’язку при передаванні даних, зашифрованих за
алгоритмом DES у режимі зчеплення блоків.
8. Трек помилки для різних режимів роботи DES.
43
Лабораторна робота №6
КРИПТОСИСТЕМА DES. РЕЖИМИ ГАМУВАННЯ
Мета роботи:
– вивчення алгоритму криптографічного перетворення DES;
– набуття навиків шифрування за стандартом DES у режимах простого та
посиленого гамування;
– вивчення процесу зміни ентропії після виконання криптографічних
перетворень.
СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Гамування – метод шифрування, побудований на «накладенні»
псевдовипадкової послідовності (ПВП) – гами – на відкритий текст. Звичайно це
підсумовування в якомусь кінцевому полі (наприклад, у полі GF(2)), тоді
рівняння шифрування має вигляд:
Y X γ= ⊕ , (6.1)
де Y – шифртекст (ШТ);
Х – відкритий текст (ВТ);
γ – гама шифру (ключ шифрування).
Для розшифровки гама шифру накладається на шифртекст, унаслідок
чого рівняння розшифрування має вигляд:
Y X Xγ γ γ⊕ = ⊕ ⊕ = . (6.2)
Під час реалізації шифрування методом гамування виникає проблема
синхронізації гам на передавальній і приймальній сторонах. Організація
частотного ділення каналу на канал даних і канал синхронізації веде до великих
втрат при виділенні каналів, а також до втрат пропускної спроможності каналу.
Часове ділення каналів даних і синхронізації призводить до необхідності
44
організації мультиплексування, що в свою чергу також веде до істотних втрат
пропускної спроможності.
Схема криптосистеми, що виконує шифрування простим гамуванням,
представлена на рис. 6.1.
а) б)
Рис. 6.1. Схема шифрування у режимі простого гамування:
а – у передавачі; б – у приймачі.
Режим гамування криптосистеми DES є режимом зворотного зв'язку по
виходу (OFB — Output Feed Back).
Блок-схема алгоритму шифрування DES у режимі простого гамування
наведена на рис. 6.2.
Рис. 6.2. Блок-схема алгоритму шифрування DES у режимі простого гамування
Вектор початкового завантаження (ВПЗ на рис. 6.2) визначає гаму і
тримається в таємниці. Криптографічні перетворення в блоках
шифрперетворення (ШП) виконуються за алгоритмом, аналогічним алгоритму
для режиму простої заміни.
Поблокова схема шифрування DES у режимі простого гамування
представлена на рис. 6.3.
45
Рис. 6.3. Блок-схема алгоритму шифрування DES в режимі простого гаммирования
У режимі посиленого гамування криптосистеми DES присутній зворотний
зв'язок по шифртексту (CFB — Cipher Feed Back).
Блок-схема алгоритму шифрування DES у режимі посиленого гамування
наведена на рис. 6.4.
Рис. 6.4. Блок-схема алгоритму шифрування DES у режимі посиленого гамування
Поблокова схема шифрування DES у режимі посиленого гамування
представлена на рис. 6.5.
Рис. 6.5. Блок-схема алгоритму шифрування DES у режимі посиленого гамування
У режимі простого гамування одна помилка в каналі передавання
шифртексту призводить до спотворення одного біту у відкритому тексті. У
46
режимі посиленого гамування одна помилка в каналі призводить до повного
спотворення всього подальшого потоку даних.
ПОРЯДОК ВИКОНАННЯ РОБОТИ
1. Вивчити теоретичні відомості.
2. Група студентів ділиться на підгрупи по 2-3 особи в кожній.
3. Кожна підгрупа:
− використовує відкрите повідомлення, сформоване для реалізації режиму
простої заміни (будь-який смисловий текст, що складається з 24
символів);
− кодує символи відкритого тексту кодами ASCII (таблиця ASCII наведена в
додатку А);
− обчислює ентропію відкритого тексту;
− формує 64-бітовий вектор початкового завантаження ВПЗ для генерації
гами (8 символів у коді ASCII);
− формує 64-бітовий ключ шифрування (8 символів у коді ASCII).
4. Кожна підгрупа:
− виконує шифрування відкритого тексту за алгоритмом DES у режимі
простого гамування. Кількість ітерацій при формуванні кожного блоку
гами допускається не менше 3;
− обчислює ентропію гами та шифртексту;
− перетворює шифртекст з двійкового в символьний вигляд за допомогою
таблиці ASCII кодів.
5. Кожна підгрупа:
− виконує шифрування відкритого тексту за алгоритмом DES у режимі
посиленого гамування. Кількість ітерацій при формуванні кожного блоку
гами допускається не менше 3;
− обчислює ентропію гами та шифртексту;
47
− перетворює шифртекст з двійкового в символьний вигляд за допомогою
таблиці ASCII кодів.
Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з
текстом і ключами інших підгруп.
6. Виконати аналіз отриманих результатів.
7. Оформити звіт. Зробити висновки про результати виконаної роботи.
ЗМІСТ ЗВІТУ
1. Тема і мета роботи.
8. Алгоритм шифрування (у вигляді блок-схеми).
2. Відкритий текст. Вектор початкового завантаження. Ключ шифрування.
3. Проміжні результати шифрування.
4. Шифртекст повідомлення.
5. Статистика і ентропія відкритого тексту, ключа і шифртексту.
6. Висновки.
Примітка. У висновках дається оцінка виконаної роботи (що вона Вам
показала), даються відповіді на наведені нижче питання.
КОНТРОЛЬНІ ПИТАННЯ
1. Блокове і потокове шифрування. Сфери застосування. Переваги та недоліки.
2. Переваги та недоліки алгоритму шифрування DES.
3. Режими роботи DES. Їхні властивості та відмінності. Сфери застосування.
4. Трудомісткість операцій шифрування і розшифрування для алгоритму DES у
режимах гамування.
5. Трек помилки для різних режимів роботи DES.
6. Вимоги до каналу зв’язку при передаванні даних, зашифрованих за
алгоритмом DES у режимах простого та посиленого гамування.
48
Лабораторна робота №7
ВІДКРИТЕ ПОШИРЕННЯ КЛЮЧІВ У МЕРЕЖАХ ПЕРЕДАВАННЯ
ДАНИХ
Мета роботи: опанувати методику організації розсилки секретних
ключів відкритими каналами.
СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Відкрите поширення ключів у мережах передавання даних є можливим
завдяки алгоритму Діффі – Хеллмана.
Алгоритм Діффі – Хеллмана – це алгоритм, що дозволяє двом сторонам
отримати загальний секретний ключ, використовуючи незахищений від
прослухування, але захищений від підміни канал зв'язку. Процедура отримання
ключа за алгоритмом Діффі–Хеллмана передує сеансу обміну секретними
даними відкритим (від несанкціонованого читання даних) каналом зв'язку.
Отриманий ключ використовується в криптосистемах з симетричним сеансним
ключем.
Алгоритм був уперше опублікований Уітфілдом Діффі та Мартіном
Хеллманом у 1976 році.
Для забезпечення конфіденційного обміну в мережах з відкритими
каналами зв'язку використовують так звану односторонню функцію, тобто таку
функцію f(x), що для будь-якого “х” з області визначення f(x) легко
обчислюється, тоді як зворотну до неї функцію
1
( )x f y−
= обчислити
неможливо або, принаймні, дуже важко.
До таких функцій належить функція дискретного піднесення до ступеня в
кільці цілих чисел або в кільці лишків по модулю незвідного багаточлена.
Одностороння функція в кільці цілих чисел має вигляд :
49
( ) X
M
f x α= , (7.1)
де M
X
α – лишок числа αх
по модулю М.
Пряме обчислення цієї функції для будь-якого цілого Х не є складним.
Приклад.
Для α=7 і М=967 необхідно обчислити f(х) для х=753.
Спочатку представимо 753=1·29
+0·28
+1·27
+1·26
+1·25
+1·24
+0·2 3
+0·22
+0·21
+1·20
.
Тоді ( ) 753 512 128 64 32 16
967 967
753 7 7 7 7 7 7 7f = = ⋅ ⋅ ⋅ ⋅ ⋅
Тепер обчислимо квадратичні лишки:
1
967
7 7=
2
967
7 49=
4 2
967 967
7 49 467= =
8 2
967 967
7 467 514= =
16 2
967 967
7 514 205= =
32 2
967 967
7 205 444= =
64 2
967 967
7 444 835= =
128 2
967 967
7 835 18= =
256 2
967 967
7 18 324= =
512 2
967 967
7 324 540= = .
Знайдемо
f(753)=
967
1163264128512
967
753
7777777 ⋅⋅⋅⋅⋅= =│540·18·835·444·205·7│967=243.
Таким чином, пряме обчислення функції f(753) не є складним і вимагає не більше 14
множень, зворотне обчислення (знаходження числа Х за відомим примітивним елементом,
модулем і β=243) обчислювально складно або просто неможливе.
У формулі (7.1) α є примітивним елементом кільця лишків по модулю М в
кільці цілих чисел. Нагадаємо, що кільце – це алгебраїчна система, в якій
визначено три операції:
- додавання;
- віднімання;
- множення.
Множина цілих чисел утворює кільце.
Елементи кільця можуть бути обчислені за формулами (7.2) або (7.3):
50
j
j M
α α= , (7.2)
1j j M
α α α−= ⋅ . (7.3)
Максимальне число елементів у кільці дорівнює М-1. Це означає, що
період кільця лишків у кільці цілих чисел, утвореному примітивним елементом,
рівний Т=М–1.
Приклад
Для М=13 і α =7 отримаємо:
α0=|70
|13=1 α7=|77
|13=6
α1=|71
|13= 7 α8=|78
|13=3
α2=|72
|13=10 α9=|79
|13=8
α3=|73
|13= 5 α10=|710
|13=4
α4=|74
|13= 9 α11=|711
|13=2
α5=|75
|13=11 α12=|712
|13=1
α6=|76
|13=12 α 13=|713
|13=7
Оскільки при α=7 період Т=М-1=12, це означає, що число 7 є примітивним елементом
кільця лишків по модулю 13.
У цьому кільці існують прямі ( jα ) і зворотні елементи ( 1
jα−
) такі, що
1
1j jα α−
⋅ = .
Обчислення зворотних елементів проводиться за процедурами,
заснованими на алгоритмі Евкліда з використанням розкладання числа
j
M
α
у
ланцюговий дріб.
Сутність цього алгоритму зводиться до того, що передостанній
наближений дріб
1
1
−
−
n
n
Q
P
визначає зворотні елементи, при цьому 1
1j nPα−
−= , якщо
ланцюговий дріб непарного порядку, і 1
1j nM Pα−
−= − , якщо ланцюговий дріб
парного порядку.
Приклад.
Обчислимо α2
-1
.
3
1
3
1
1
10
3
1
10
13
2 +
+=+==
α
M
; 1
1
1 4
1
3 3
n
n
P
Q
−
−
= + = ;
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс
мв лр зівкс

More Related Content

What's hot

Практичні роботи в Excel
Практичні роботи в ExcelПрактичні роботи в Excel
Практичні роботи в Exceloksana oksana
 
Схеми та діаграми
Схеми та діаграмиСхеми та діаграми
Схеми та діаграмиOlga Barna
 
Урок 20. Практична робота №7. Розміщення аудіо- та відеоматеріалів в Інтернеті
Урок 20. Практична робота №7. Розміщення аудіо- та відеоматеріалів в ІнтернетіУрок 20. Практична робота №7. Розміщення аудіо- та відеоматеріалів в Інтернеті
Урок 20. Практична робота №7. Розміщення аудіо- та відеоматеріалів в ІнтернетіВасиль Тереховський
 
Розв’язування компетентнісних задач
Розв’язування компетентнісних задачРозв’язування компетентнісних задач
Розв’язування компетентнісних задачМарина Конколович
 
8 Алгоритми з розгалуженнями для опрацювання величин
8 Алгоритми з розгалуженнями для опрацювання величин8 Алгоритми з розгалуженнями для опрацювання величин
8 Алгоритми з розгалуженнями для опрацювання величинСергій Каляфіцький
 
куля і сфера переріз кулі площиною. дотична площина до сфери
 куля і сфера переріз кулі площиною. дотична площина до сфери куля і сфера переріз кулі площиною. дотична площина до сфери
куля і сфера переріз кулі площиною. дотична площина до сфериyahnoluida
 
презентація 8 березня
презентація 8 березняпрезентація 8 березня
презентація 8 березняfilay_nastay
 
новітні технології навчання учнів на уроках української мови та літератури
новітні технології навчання учнів на уроках української мови та літературиновітні технології навчання учнів на уроках української мови та літератури
новітні технології навчання учнів на уроках української мови та літературиltymnevaLA
 
інформатика. 5 клас. мій конспект. 2018
інформатика. 5 клас. мій конспект. 2018інформатика. 5 клас. мій конспект. 2018
інформатика. 5 клас. мій конспект. 2018ssuserb2b046
 
комп’ютерна презентація
комп’ютерна презентаціякомп’ютерна презентація
комп’ютерна презентаціяNVK4
 
Формування ключових компетентностей учнів на уроках математики
Формування ключових компетентностей учнів на уроках математикиФормування ключових компетентностей учнів на уроках математики
Формування ключових компетентностей учнів на уроках математикиКнижковиий Світ П'ятої Школи
 
редагування даних таблиці 7 клас
редагування даних таблиці 7 класредагування даних таблиці 7 клас
редагування даних таблиці 7 класaniadania
 
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІКПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІКИППО
 
Алгоритми з повторенням
Алгоритми з повтореннямАлгоритми з повторенням
Алгоритми з повтореннямal12309
 
Інформатика та інформаційне суспільство
Інформатика та інформаційне суспільствоІнформатика та інформаційне суспільство
Інформатика та інформаційне суспільствоOlga Barna
 
презентація текстовий документ та його об’єкти
презентація   текстовий документ та його об’єктипрезентація   текстовий документ та його об’єкти
презентація текстовий документ та його об’єктиOlga Sokolik
 
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...Ihor Tkachenko
 
УКРАЇНА ПОЧИНАЄТЬСЯ З ТЕБЕ! (квест для учнів 10-11 класів)
УКРАЇНА ПОЧИНАЄТЬСЯ З ТЕБЕ! (квест для учнів 10-11 класів)УКРАЇНА ПОЧИНАЄТЬСЯ З ТЕБЕ! (квест для учнів 10-11 класів)
УКРАЇНА ПОЧИНАЄТЬСЯ З ТЕБЕ! (квест для учнів 10-11 класів)ErudytNet
 

What's hot (20)

Практичні роботи в Excel
Практичні роботи в ExcelПрактичні роботи в Excel
Практичні роботи в Excel
 
Схеми та діаграми
Схеми та діаграмиСхеми та діаграми
Схеми та діаграми
 
Урок 20. Практична робота №7. Розміщення аудіо- та відеоматеріалів в Інтернеті
Урок 20. Практична робота №7. Розміщення аудіо- та відеоматеріалів в ІнтернетіУрок 20. Практична робота №7. Розміщення аудіо- та відеоматеріалів в Інтернеті
Урок 20. Практична робота №7. Розміщення аудіо- та відеоматеріалів в Інтернеті
 
Розв’язування компетентнісних задач
Розв’язування компетентнісних задачРозв’язування компетентнісних задач
Розв’язування компетентнісних задач
 
8 Алгоритми з розгалуженнями для опрацювання величин
8 Алгоритми з розгалуженнями для опрацювання величин8 Алгоритми з розгалуженнями для опрацювання величин
8 Алгоритми з розгалуженнями для опрацювання величин
 
види орнаментів
види орнаментіввиди орнаментів
види орнаментів
 
куля і сфера переріз кулі площиною. дотична площина до сфери
 куля і сфера переріз кулі площиною. дотична площина до сфери куля і сфера переріз кулі площиною. дотична площина до сфери
куля і сфера переріз кулі площиною. дотична площина до сфери
 
презентація 8 березня
презентація 8 березняпрезентація 8 березня
презентація 8 березня
 
новітні технології навчання учнів на уроках української мови та літератури
новітні технології навчання учнів на уроках української мови та літературиновітні технології навчання учнів на уроках української мови та літератури
новітні технології навчання учнів на уроках української мови та літератури
 
інформатика. 5 клас. мій конспект. 2018
інформатика. 5 клас. мій конспект. 2018інформатика. 5 клас. мій конспект. 2018
інформатика. 5 клас. мій конспект. 2018
 
комп’ютерна презентація
комп’ютерна презентаціякомп’ютерна презентація
комп’ютерна презентація
 
5 клас урок 8
5 клас урок 85 клас урок 8
5 клас урок 8
 
Формування ключових компетентностей учнів на уроках математики
Формування ключових компетентностей учнів на уроках математикиФормування ключових компетентностей учнів на уроках математики
Формування ключових компетентностей учнів на уроках математики
 
редагування даних таблиці 7 клас
редагування даних таблиці 7 класредагування даних таблиці 7 клас
редагування даних таблиці 7 клас
 
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІКПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
ПІДРУЧНИК "ІНФОРМАТИКА 9 КЛАС" О.О. БОНДАРЕНКО ТА ІН. 2017 РІК
 
Алгоритми з повторенням
Алгоритми з повтореннямАлгоритми з повторенням
Алгоритми з повторенням
 
Інформатика та інформаційне суспільство
Інформатика та інформаційне суспільствоІнформатика та інформаційне суспільство
Інформатика та інформаційне суспільство
 
презентація текстовий документ та його об’єкти
презентація   текстовий документ та його об’єктипрезентація   текстовий документ та його об’єкти
презентація текстовий документ та його об’єкти
 
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
Урок 3. Апаратна і програмна складові інформаційної системи. Комп'ютер як при...
 
УКРАЇНА ПОЧИНАЄТЬСЯ З ТЕБЕ! (квест для учнів 10-11 класів)
УКРАЇНА ПОЧИНАЄТЬСЯ З ТЕБЕ! (квест для учнів 10-11 класів)УКРАЇНА ПОЧИНАЄТЬСЯ З ТЕБЕ! (квест для учнів 10-11 класів)
УКРАЇНА ПОЧИНАЄТЬСЯ З ТЕБЕ! (квест для учнів 10-11 класів)
 

Viewers also liked

En la vida diez y en la escuela cero
En la vida diez y en la escuela ceroEn la vida diez y en la escuela cero
En la vida diez y en la escuela ceroEfrain Morales
 
LA ESCUELA MERCANTILISTA
LA ESCUELA MERCANTILISTALA ESCUELA MERCANTILISTA
LA ESCUELA MERCANTILISTAUTPL UTPL
 
13 panduan model pengembangan diri
13 panduan model pengembangan diri13 panduan model pengembangan diri
13 panduan model pengembangan diriKary Adi
 
Presentacióndiapositiva
PresentacióndiapositivaPresentacióndiapositiva
Presentacióndiapositivanancypena
 
Actividad semana 3 salud ocupacional
Actividad semana 3 salud ocupacional Actividad semana 3 salud ocupacional
Actividad semana 3 salud ocupacional Andersson Peñaranda
 
Nubia marcela gantiva sánchez actividad1_mapa_c
Nubia marcela gantiva sánchez actividad1_mapa_cNubia marcela gantiva sánchez actividad1_mapa_c
Nubia marcela gantiva sánchez actividad1_mapa_cNubia Sánchez
 
635730212567936502
635730212567936502635730212567936502
635730212567936502Jimi Stock
 

Viewers also liked (11)

En la vida diez y en la escuela cero
En la vida diez y en la escuela ceroEn la vida diez y en la escuela cero
En la vida diez y en la escuela cero
 
LA ESCUELA MERCANTILISTA
LA ESCUELA MERCANTILISTALA ESCUELA MERCANTILISTA
LA ESCUELA MERCANTILISTA
 
Datos personales
Datos personalesDatos personales
Datos personales
 
Gerencia de proyectos 1
Gerencia de proyectos 1Gerencia de proyectos 1
Gerencia de proyectos 1
 
13 panduan model pengembangan diri
13 panduan model pengembangan diri13 panduan model pengembangan diri
13 panduan model pengembangan diri
 
Presentacióndiapositiva
PresentacióndiapositivaPresentacióndiapositiva
Presentacióndiapositiva
 
Actividad semana 3 salud ocupacional
Actividad semana 3 salud ocupacional Actividad semana 3 salud ocupacional
Actividad semana 3 salud ocupacional
 
FISIOCRACIA
FISIOCRACIAFISIOCRACIA
FISIOCRACIA
 
Nubia marcela gantiva sánchez actividad1_mapa_c
Nubia marcela gantiva sánchez actividad1_mapa_cNubia marcela gantiva sánchez actividad1_mapa_c
Nubia marcela gantiva sánchez actividad1_mapa_c
 
Blackjack
BlackjackBlackjack
Blackjack
 
635730212567936502
635730212567936502635730212567936502
635730212567936502
 

Similar to мв лр зівкс

Kiyanchuk r
Kiyanchuk rKiyanchuk r
Kiyanchuk rgarasym
 
Гаврилюк К.docx
Гаврилюк К.docxГаврилюк К.docx
Гаврилюк К.docxssuser2a9622
 
Shapovalov g
Shapovalov gShapovalov g
Shapovalov ggarasym
 
КР_СМОДР.pdf
КР_СМОДР.pdfКР_СМОДР.pdf
КР_СМОДР.pdfssuser6b7473
 
Інформатика - підручник для 8 класу авт. Ривкінд Й.Я.
Інформатика - підручник для 8 класу авт. Ривкінд Й.Я.Інформатика - підручник для 8 класу авт. Ривкінд Й.Я.
Інформатика - підручник для 8 класу авт. Ривкінд Й.Я.VsimPPT
 
Весняна школа-2016: лекція Олексія Дибача та Маргарити Франкової (ДНТЦ ЯРБ)
Весняна школа-2016: лекція Олексія Дибача та Маргарити Франкової (ДНТЦ ЯРБ)Весняна школа-2016: лекція Олексія Дибача та Маргарити Франкової (ДНТЦ ЯРБ)
Весняна школа-2016: лекція Олексія Дибача та Маргарити Франкової (ДНТЦ ЯРБ)НАЕК «Енергоатом»
 
розрахунок показників надійності матричними методами
розрахунок показників надійності матричними методамирозрахунок показників надійності матричними методами
розрахунок показників надійності матричними методамиОля Щенявская
 
Практичні з Опору матеріалів
Практичні з Опору матеріалівПрактичні з Опору матеріалів
Практичні з Опору матеріалівDenis Stupak
 
Лекція 2. Методи розміщення інформації у пам’яті комп’ютерів
Лекція 2. Методи розміщення інформації у пам’яті комп’ютерівЛекція 2. Методи розміщення інформації у пам’яті комп’ютерів
Лекція 2. Методи розміщення інформації у пам’яті комп’ютерівAlex Slobodyanyuk
 
методичка пр2 1
методичка пр2 1методичка пр2 1
методичка пр2 1shymanska
 

Similar to мв лр зівкс (20)

Kiyanchuk r
Kiyanchuk rKiyanchuk r
Kiyanchuk r
 
Гаврилюк К.docx
Гаврилюк К.docxГаврилюк К.docx
Гаврилюк К.docx
 
пIм метод лаб2112
пIм метод лаб2112пIм метод лаб2112
пIм метод лаб2112
 
Shapovalov g
Shapovalov gShapovalov g
Shapovalov g
 
2014
20142014
2014
 
011
011011
011
 
КР_СМОДР.pdf
КР_СМОДР.pdfКР_СМОДР.pdf
КР_СМОДР.pdf
 
Інформатика - підручник для 8 класу авт. Ривкінд Й.Я.
Інформатика - підручник для 8 класу авт. Ривкінд Й.Я.Інформатика - підручник для 8 класу авт. Ривкінд Й.Я.
Інформатика - підручник для 8 класу авт. Ривкінд Й.Я.
 
Весняна школа-2016: лекція Олексія Дибача та Маргарити Франкової (ДНТЦ ЯРБ)
Весняна школа-2016: лекція Олексія Дибача та Маргарити Франкової (ДНТЦ ЯРБ)Весняна школа-2016: лекція Олексія Дибача та Маргарити Франкової (ДНТЦ ЯРБ)
Весняна школа-2016: лекція Олексія Дибача та Маргарити Франкової (ДНТЦ ЯРБ)
 
розрахунок показників надійності матричними методами
розрахунок показників надійності матричними методамирозрахунок показників надійності матричними методами
розрахунок показників надійності матричними методами
 
Практичні з Опору матеріалів
Практичні з Опору матеріалівПрактичні з Опору матеріалів
Практичні з Опору матеріалів
 
лр4 основи modbus
лр4 основи modbusлр4 основи modbus
лр4 основи modbus
 
відгук кравченко еременко
відгук кравченко еременковідгук кравченко еременко
відгук кравченко еременко
 
Aref kravchenko 1
Aref kravchenko 1Aref kravchenko 1
Aref kravchenko 1
 
міценко відгук співак
міценко відгук співакміценко відгук співак
міценко відгук співак
 
сп
спсп
сп
 
Autoreferat lukashenko
Autoreferat lukashenkoAutoreferat lukashenko
Autoreferat lukashenko
 
Лекція 2. Методи розміщення інформації у пам’яті комп’ютерів
Лекція 2. Методи розміщення інформації у пам’яті комп’ютерівЛекція 2. Методи розміщення інформації у пам’яті комп’ютерів
Лекція 2. Методи розміщення інформації у пам’яті комп’ютерів
 
методичка пр2 1
методичка пр2 1методичка пр2 1
методичка пр2 1
 
Prez lek21(pmz)
Prez lek21(pmz)Prez lek21(pmz)
Prez lek21(pmz)
 

мв лр зівкс

  • 1. МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ з курсу “Захист інформації в комп’ютерних системах” для студентів денної та заочної форм навчання спеціальності 7.091501 “Комп'ютерні системи та мережі” Затверджено на засіданні кафедри комп‘ютерних систем протокол № 7 від 07.04.2010р. та Методичною радою ЧДТУ, протокол № 49 від 11.05.2010 р. Черкаси 2010
  • 2. Укладачі: Швидкий В.В., к.т.н., доцент Фауре Е.В., к.т.н. Лісіцина О.С. Рецензент: Рудницький В.М., д.т.н., професор Методичні вказівки до виконання лабораторних робіт з курсу “Захист інформації в комп’ютерних системах” для студентів денної та заочної форм навчання спеціальності 7.091501 “Комп'ютерні системи та мережі” [Електронний ресурс] / Укл. В.В. Швидкий, Е.В. Фауре, О.С. Лісіцина М-во освіти і науки України, Черкас. держ. технол. ун-т. – Черкаси : ЧДТУ, 2010. – 83с. Методичні вказівки призначені для користувачів, які хотіли б поповнити свої знання в області захисту інформації в комп’ютерних системах та мережах. Видання містить матеріали для самостійної підготовки студентів, які вивчають дисципліни, пов’язані з захистом інформації, а також для підготовки та виконання курсових та лабораторних робіт. Особлива увага приділяється опануванню базових операцій криптографічних перетворень, формуванню для них ключів шифрування, визначенню статистичних властивостей відкритого тексту та побудованого на його основі шифр-тексту. Методичні вказівки призначені для студентів, які навчаються за спеціальністю 7.091501 “Комп'ютерні системи та мережі”. Е л е к т р о н н е н а в ч а л ь н е в и д а н н я МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ з курсу “Захист інформації в комп’ютерних системах” для студентів денної та заочної форм навчання спеціальності 7.091501 “Комп'ютерні системи та мережі” В авторській редакції ------------------------------------------------------------------------------------------------------------- Гарн. Times New Roman. Обл.-вид. арк 2,28. Реєстраційний № 923. ------------------------------------------------------------------------------------------------------------- Черкаський державний технологічний університет Свідоцтво про державну реєстрацію ДК № 896 від 16.04.2002 р. бульвар Шевченка, 460, м. Черкаси, 18006.
  • 3. 3 ЗМІСТ ПЕРЕДМОВА........................................................................................................... 4 ЗАГАЛЬНІ ВИМОГИ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ.................... 5 ЛАБОРАТОРНА РОБОТА №1 БАЗОВІ ОПЕРАЦІЇ КРИПТОСИСТЕМ ТА ШИФРИ НА ЇХНІЙ ОСНОВІ .................................................................................. 6 ЛАБОРАТОРНА РОБОТА №2 ШИФРИ ЦЕЗАРЯ, ВІЖЕНЕРА, ВЕРНАМА..... 14 ЛАБОРАТОРНА РОБОТА №3 ДОСЛІДЖЕННЯ СТАТИСТИЧНИХ ВЛАСТИВОСТЕЙ БІГРАМНИХ ШИФРІВ.......................................................... 22 ЛАБОРАТОРНА РОБОТА №4 КРИПТОСИСТЕМА DES. РЕЖИМ ПРОСТОЇ ЗАМІНИ.................................................................................................................. 27 ЛАБОРАТОРНА РОБОТА №5 КРИПТОСИСТЕМА DES. РЕЖИМ ЗЧЕПЛЕННЯ БЛОКІВ ........................................................................................... 38 ЛАБОРАТОРНА РОБОТА №6 КРИПТОСИСТЕМА DES. РЕЖИМИ ГАМУВАННЯ ........................................................................................................ 43 ЛАБОРАТОРНА РОБОТА №7 ВІДКРИТЕ ПОШИРЕННЯ КЛЮЧІВ В МЕРЕЖАХ ПЕРЕДАВАННЯ ДАНИХ.................................................................. 48 ЛАБОРАТОРНА РОБОТА №8 КРИПТОСИСТЕМА RSA................................... 55 ЛАБОРАТОРНА РОБОТА №9 ОРГАНІЗАЦІЯ ЕЛЕКТРОННОГО ЦИФРОВОГО ПІДПИСУ ...................................................................................... 61 ЛАБОРАТОРНА РОБОТА №10 КРИПТОСИСТЕМА ЕЛЬ-ГАМАЛЯ ............... 69 ЛАБОРАТОРНА РОБОТА №11 БЛОКУВАННЯ КАНАЛУ ВИТОКУ НЕБЕЗПЕЧНОГО СИГНАЛУ У ВІДКРИТИЙ РАДІОПРОСТІР......................... 76 ДОДАТОК А .......................................................................................................... 81 СПИСОК ВИКОРИСТАНОЇ ТА РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ .............. 82
  • 4. 4 ПЕРЕДМОВА Дисципліна «Захист інформації в комп’ютерних системах» займає важливе місце у підготовці студентів спеціальності 7.091501 «Комп’ютерні системи та мережі». Вона спирається на основні поняття з теорії інформації та розглядає методи та засоби захисту інформації в комп’ютерних системах, які застосовувало людство від появи письменства до сьогодення. Метою викладання дисципліни є засвоєння основних принципів захисту інформації під час збереження, обробки і передавання даних в комп’ютерних системах і мережах; засвоєння методів і алгоритмів протидії доступу до інформації з метою її несанкціонованого читання або модифікації. Мета лабораторних робіт полягає в набутті навичок практичної роботи з криптографічними перетвореннями інформації, оцінки якості алгоритму шифрування на основі аналізу статистичних властивостей відкритих та зашифрованих повідомлень, визначення параметрів технічних засобів блокування каналу витоку небезпечного сигналу у відкритий радіопростір.
  • 5. 5 ЗАГАЛЬНІ ВИМОГИ ДО ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ Лабораторні роботи виконують підгрупи з 2-3 студентів протягом 4 годин з оформленням і поданням звіту про виконання роботи. До лабораторної роботи допускаються студенти, які: - пройшли контроль викладачем ступеня підготовленості до виконання поточної лабораторної роботи; - захистили усі попередні виконані лабораторні роботи. Лабораторні роботи захищаються в індивідуальному порядку. Кожна підгрупа оформлює звіт про виконану лабораторну роботу на аркушах формату А4 (210x297), що має відповідати вимогам ЄСКД, ЄСПД та ISO 11801. Виконання лабораторних робіт складається з таких етапів: 1. Проведення попереднього контролю підготовленості студентів до виконання лабораторної роботи. 2. Захист попередніх робіт. 3. Виконання поточної роботи і отримання практичних результатів. 4. Оформлення звіту. 5. Оцінювання результатів роботи студента викладачем у процесі захисту поточної лабораторної роботи.
  • 6. 6 Лабораторна робота №1 БАЗОВІ ОПЕРАЦІЇ КРИПТОСИСТЕМ ТА ШИФРИ НА ЇХНІЙ ОСНОВІ Мета роботи: – вивчення найпростіших операцій шифрування; – набуття навиків створення ключів на основі таблиць підстановок і перестановок; – вивчення процесу зміни ентропії при криптографічних перетвореннях. СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ Сучасні алгоритми криптографічного захисту інформації базуються на декількох найпростіших операціях, апробованих століттями розвитку тайнопису. Таких операцій дві: – перестановки; – підстановки (заміни). Шифри, побудовані на основі цих операцій, відповідно, називаються шифрами перестановки та шифрами замін, а шифри, що їх поєднують, називають композиційними. Перестановочні шифри будуються на основі: 1) перестановки біт (бітові перестановки); 2) перестановки символів тексту (байтові перестановки); 3) перестановки випадкових за розміром груп символів. Цей метод також називають методом «тасування карт». У перестановочних шифрах криптограма утворюється шляхом перестановки біт, символів або груп символів за визначеним правилом, яке задається таблицею перестановок. Таблиця перестановок є ключем шифру.
  • 7. 7 Перестановочні шифри на основі перестановки біт будуються наступним чином: – біти символів відкритого тексту нумеруються в порядку їхнього розташування в тексті (0,1,2……К); – створюється таблиця перестановок (таблиця чисел 0…К, розташованих у випадковому порядку). Ця таблиця є ключ шифрування. Порядок біт у шифрограмі визначається ключовою таблицею. Окремим випадком перестановки біт є їхній циклічний зсув. Приклад. Нехай алфавіт містить символи {A, B, C, D}, які закодовані рівномірним кодом наступним чином: Символ A B C D Код 00 01 10 11 Послідовність біт при передаванні повідомлення DAC має такий вигляд: 110010. Позиція символу в тексті 1 2 3 4 5 6 Відкритий текст 1 1 0 0 1 0 Ключ шифрування сформуємо за допомоги послідовності елементів кільця лишків у кільці цілих чисел за формулою i i M β α= , де iβ – i-й елемент кільця лишків, α – примітивний елемент, M – модуль. У якості модуля оберемо 7M = , а 3α = . Послідовність елементів кільця лишків: Номер елементу кільця 0 1 2 3 4 5 iβ 1 3 2 6 4 5 Таблиця перестановок біт: Початкова позиція символу 1 2 3 4 5 6 Позиція після перетворення 1 3 2 6 4 5 Результат перетворення: Позиція символу шифртексту 1 2 3 4 5 6 Шифртекст 1 0 1 1 0 0 Символьне представлення B D A
  • 8. 8 Перестановочні шифри на основі перестановки символів тексту будуються наступним чином: – символи відкритого тексту нумеруються в порядку їхнього розташування в тексті (0,1,2……К); – створюється таблиця перестановок (таблиця чисел 0…К, розташованих у випадковому порядку). Ця таблиця є ключем шифрування. Символи шифрограми розташовуються в порядку, визначеному ключем. Приклад. Позиція символу в тексті 1 2 3 4 5 6 7 8 9 10 11 12 Відкритий текст к р и п т о з а х и с т За аналогією з попереднім прикладом ключ шифрування сформуємо за допомоги послідовності елементів кільця лишків у кільці цілих чисел. У якості модуля оберемо 13M = , а 7α = . У цьому випадку послідовність елементів кільця лишків приймає вигляд: Номер елементу кільця 0 1 2 3 4 5 6 7 8 9 10 11 iβ 1 7 10 5 9 11 12 6 3 8 4 2 Сформуємо таблицю перестановок: Початкова позиція символу 1 2 3 4 5 6 7 8 9 10 11 12 Позиція після перестановки 1 7 10 5 9 11 12 6 3 8 4 2 На основі відкритого тексту й таблиці перестановок маємо: Позиція символу шифртексту 1 2 3 4 5 6 7 8 9 10 11 12 Шифртекст к т х с п а р и т и о з Перестановочні шифри на основі «тасування карт» будуються наступним чином: – символи відкритого тексту нумеруються у порядку їхнього розташування в тексті (0,1,2……К); – відрізок з (0,1,2……К) символів розділяється на сегменти випадкової довжини, для чого створюється таблиця 1 довжин сегментів сумарної довжини, рівної довжині відкритого тексту;
  • 9. 9 – створюється таблиця 2 перестановок сегментів. Сегменти шифрограми розташовуються в порядку, визначеному таблицею 2 перестановок сегментів. Таблиця 1 довжин сегментів и таблиця 2 перестановок сегментів тримаються в секреті и є елементами ключа шифру. Для підвищення стійкості «тасування карт» проводиться багаторазово, при цьому кількість циклів «тасування» (раундів шифрування) тримається в секреті и є елементом ключа. Таким чином, ключ складається з 3 елементів: – таблиця 1 довжин сегментів; – таблиця 2 перестановок сегментів; – число циклів «тасування». Приклад. Позиція символу тексту 1 2 3 4 5 6 7 8 9 10 11 12 Відкритий текст к р и п т о з а х и с т Довжини сегментів не слід брати занадто великими. Для запропонованого прикладу максимальну довжину сегменту оберемо, рівною 4. Таблиця 1 довжин сегментів сформуємо за допомоги кільця лишків з параметрами 13M = и 7α = . Таблиця 1 довжин сегментів: Номер елементу кільця 0 1 2 3 4 5 6 7 8 9 10 11 4 1iβ + 2 4 3 2 2 4 1 3 4 1 1 3 Номер сегменту 1 2 3 4 5 - - - - - - - Довжина сегменту 2 4 3 2 1 - - - - - - - Таблицю 2 перестановок сегментів також сформуємо за допомоги кільця лишків з параметрами 13M = и 7α = . Таблиця 2 перестановок сегментів: Номер елементу кільця 0 1 2 3 4 5 6 7 8 9 10 11 5 1iβ + 2 3 1 1 5 2 3 2 4 4 5 3 Початкова позиція сегменту 1 2 3 - 4 - - - 5 - - - Позиція після перестановки 2 3 1 - 5 - - - 4 - - -
  • 10. 10 Виконаємо два раунди шифрування. 1-й раунд: Номер сегменту 1 2 3 4 5 Відкритий текст кр ипто зах ис т Шифртекст зах кр ипто т ис 2-й раунд: Номер сегменту 1 2 3 4 5 Шифртекст після 1 раунду за хкри пто ти с Шифртекст пто за хкри с ти Таким чином, отримаємо зашифроване методом тасування карт повідомлення: птозахкристи. Шифри замін будуються наступним чином: – створюється відкритий алфавіт, символи алфавіту нумеруються числами (0,1,2……К); – створюється таблиця підстановок (таблиця чисел 0…К, розташованих у випадковому порядку). У шифрограмі символи відкритого тексту замінюються символами з таблиці замін. Термін «підстановка» (заміна) означає, що криптограма утворюється шляхом заміни символів відкритого тексту на символи цього ж алфавіту з таблиці замін. Таблиця замін є ключем шифрування. Приклад. Нехай відкритий алфавіт заданий наступним чином: Приклад алфавіту джерела для символів української мови 1 А 9 І 17 С 25 Щ 2 Б 10 К 18 Т 26 Ю 3 В 11 Л 19 У 27 Я 4 Г 12 М 20 Ф 28 Є 5 Д 13 Н 21 Х 29 Ь 6 Е 14 О 22 Ц 30 И 7 Ж 15 П 23 Ч 31 пробіл 8 З 16 Р 24 Ш 32 .
  • 11. 11 Відкритий текст к р и п т о з а х и с т Номер символу в алфавіті 10 16 30 15 18 14 8 1 21 30 17 18 Для формування таблиці підстановок скористаємось конгруентною послідовністю, породженою конгруенц-генератором з параметрами 13K = , 3C = , 37M = . Беручи до уваги розмірність алфавіту, рівну 32, числа більше 32 видалені з конгруентної послідовності. i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 j 1 4 6 32 28 22 18 3 30 11 23 31 24 7 8 21 i 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 j 5 19 16 14 25 20 29 2 17 27 9 26 13 12 15 10 Замінимо символи відкритого тексту на символи з таблиці замін: Відкритий текст к р и п т о з а х и с т Номер символу в алфавіті 10 16 30 15 18 14 8 1 21 30 17 18 Номер символу в табл. замін 11 21 12 8 19 7 3 1 25 12 5 19 Шифртекст л х м з у ж в а щ м д у Відзначимо, що процедури підстановок і перестановок не руйнують статистику повідомлення і тому не міняють його ентропію, що суттєво знижує їхню стійкість. Тому базові операції підстановок і перестановок у реальних застосуваннях доповнюються операцією рандомізації – операцією вирівнювання статистики. Операція рандомізації приводить статистику шифрповідомлення до рівномірної та максимізує ентропію. ПОРЯДОК ВИКОНАННЯ РОБОТИ 1. Вивчити теоретичні відомості. Визначити базові операції криптоалгоритмів. 2. Пройти попереднє опитування, яке стосується базових операцій криптоалгоритмів, полів Галуа й операцій у них. 3. Група студентів ділиться на підгрупи по 2-3 особи в кожній. 4. Кожна підгрупа: − формує відкрите повідомлення (будь-який смисловий текст);
  • 12. 12 − обчислює ентропію відкритого тексту. 4. Кожна підгрупа: − розробляє алгоритм перестановочного шифру на основі бітових (символи кодуються рівномірним кодом), байтових перестановок, а також методу «тасування карт»; − створює свої ключі та шифрує повідомлення перестановочним шифром; − обчислює ентропію ключа; − обчислює ентропію шифртексту. Примітка. У якості ключової послідовності використовувати кільце лишків у кільці цілих чисел. 5. Кожна підгрупа: − розробляє алгоритм шифру замін; − створює свої ключі та шифрує повідомлення шифром замін; − обчислює ентропію ключа; − обчислює ентропію шифртексту. Примітка. У якості генератора ключової послідовності використовувати конгруенц-генератор. Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з текстом і ключами інших підгруп. 6. Виконати аналіз отриманих результатів. 7. Оформити звіт. Зробити висновки про результати виконаної роботи. ЗМІСТ ЗВІТУ 1. Тема та мета роботи. 2. Алгоритми шифрування (у вигляді блок-схем). 3. Відкритий текст.
  • 13. 13 4. Шифртексти повідомлення, отримані в результаті криптографічних перетворень за вказаними алгоритмами. 5. Статистика й ентропія відкритого тексту та шифртекстів. 6. Висновки. Примітка. У висновках дається оцінка виконаної роботи (що вона Вам показала), даються відповіді на наведені нижче питання, виявляються недоліки базових криптоалгоритмів. КОНТРОЛЬНІ ПИТАННЯ 1. Яка повинна бути мінімальна довжина ключа для підстановочного та перестановочного шифрування, щоб забезпечити гарантовану стійкість шифру? 2. Чи змінюють розглянуті криптографічні алгоритми статистику й ентропію повідомлення? Чому? 3. Визначити методику злому підстановочного й перестановочного шифрів. 4. Сутність методу частотного аналізу. 5. Порівняти складність алгоритмів дешифрування підстановочного й перестановочного шифрів. 6. Визначити особливості реалізації підстановочного й перестановочного шифру на ЕОМ. 7. Порівняти складність реалізації шифрів, що базуються на перестановці символів та методі «тасування карт».
  • 14. 14 Лабораторна робота №2 ШИФРИ ЦЕЗАРЯ, ВІЖЕНЕРА, ВЕРНАМА Мета роботи: – вивчення шифрів Цезаря, Віженера, Вернама та їхніх властивостей; – набуття навиків формування ключів для цих шифрів і виконання процедури шифрування; – вивчення характеру зміни ентропії після виконання криптографічних перетворень. СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ Криптографія виникла разом з писемністю. У історичних документах древніх цивілізацій Індії, Єгипту, Месопотамії маються відомості про системи та способи складання шифрованого листа. Так, у древньоіндійських рукописах міститься виклад 64-х способів перетворення тексту. Серед них написання знаків не за порядком, а врозкид за деяким правилом. Багато з наведених способів слід розглядати як криптографічні, тобто які забезпечують прихованість перепису. Наведена система заміни літер. Згадується, що тайнопис є одним з 64-х мистецтв, яким слід володіти як чоловікам, так і жінкам. З цим періодом пов’язані такі імена, як полководець Лісандр, полководець Еней, Полібій, Юлій Цезар та інші. Шифр Цезаря За свідоцтвами древньоримського історика Гай Юлій Цезар (102 або 100- 44 до н.е.) використовував його для тайного перепису. У шифрі Цезаря кожна буква початкового повідомлення зсувається в алфавіті на фіксоване число позицій уперед, за необхідністю переходячи циклічно на початок алфавіту. Сам Цезар використовував зсув на три позиції.
  • 15. 15 Якщо алфавіт зобразити у вигляді графа, то перетворення відкритого (початкового) тексту в шифрограму виконується поворотом графа алфавіту на деякий фіксований кут, який є ключем шифрування. у сучасній класифікації вказаний шифр може бути віднесений до шифрів заміни. Ключем шифрування є таблиця замін, яка містить циклічно зсунутий початковий алфавіт. Рис.2.1 Граф алфавіту Перетворення початкового тексту повідомлення в шифрограму і навпаки відбувається відповідно до наступної математичної моделі: Bi = | Ai + K |N – рівняння шифрування; Аi = | Вi – K |N – рівняння розшифрування, де Ai – символ відкритого тексту, Bi – символ шифртексту, K – ключ шифрування, i – номер символу в тексті ( ∞≤≤i0 ), N – об’єм алфавіту. Приклад. Необхідно зашифрувати слово «студент» шифром Цезаря. Для початку створимо алфавіт з 32 символів української мови. Пронумеруємо їх числами 0…31. Символи української мови розташуємо в алфавіті в довільному порядку, як, наприклад, у таблиці 2.1. Шифрування виконується наступним чином: Початковий текст: С Т У Д Е Н Т Номер символу: 01 04 06 02 22 08 04 Ключ: 20 20 20 20 20 20 20 Новий код: 21 24 26 22 10 28 24 а б вю я …
  • 16. 16 Шифртекст: Ф З Р Е Ч Ж З Таблиця 2.1 Конструкція алфавіту Номер символу Символ Номер символу Символ Номер символу Символ Номер символу Символ 0 б 8 н 16 точка 24 з 1 с 9 ш 17 ю 25 м 2 д 10 ч 18 в 26 р 3 о 11 л 19 ц 27 х 4 т 12 п 20 і 28 ж 5 к 13 г 21 ф 29 ш 6 у 14 є 22 е 30 и 7 я 15 а 23 пробіл 31 ь Відзначимо, що шифр Цезаря утворюється заміною символів відкритого тексту на символи циклічно зсунутого алфавіту, де ключ шифру визначається величиною зсуву алфавіту. Оскільки число різних зсувів на одиницю менше числа символів алфавіту, розкриття шифру Цезаря не вимагає особливих зусиль. Достатньо перебрати всі можливі величини зсуву – від 1 до 31 у випадку українського алфавіту (табл. 2.1). Повідомлення буде розшифровано, як тільки утвориться усвідомлюваний текст. Суперпозиція двох операцій шифрування на ключах k1 и k2 є шифрування на ключі k1+k2. У загальному випадку множина шифрувальних перетворень шифру Цезаря утворює абелеву групу. Природнім розвитком шифру Цезаря став шифр Віженера. Шифр Віженера Людству знадобилося не одна сотня років для того, щоб зрозуміти, що стійкість шифру буде вище, якщо ключ буде складатися не з одного символу, а з групи різних символів. Вперше цей метод описав Джовані-Баттіста Беллазо у книзі у 1553 році, проте у XIX столітті отримав ім’я Блеза Віженера.
  • 17. 17 У якості ключа використовується не одна літера, як у шифрі Цезаря, а слово. Таким чином, шифр Віженера складається з послідовності декількох шифрів Цезаря з різними значеннями зсуву. Математична модель шифрування-розшифрування для шифру Віженера приймає вигляд: Bi = | Ai + Kj |N – рівняння шифрування; Аi = | Вi – Kj |N – рівняння розшифрування; де Ai – символ відкритого тексту, Bi – символ шифртексту, Kj – символ ключової послідовності, i – номер символу в тексті ( ∞≤≤i0 ), j – номер символу ключа, при цьому j=| i |L, де: L – довжина ключа, N – об’єм алфавіту. Приклад. Нехай шифром Віженера необхідно зашифрувати слово «студент». У якості ключа шифрування оберемо слово «Марія». Використаємо алфавіт, наведений у таблиці 2.1. Початковий текст: С Т У Д Е Н Т Номер символу: 01 04 06 02 22 08 04 Ключ: М А Р І Я М А Сума за mod32: 26 19 0 22 29 01 19 Шифртекст: Р Ц Б Е Щ С Ц Шифр Віженера заслужив свою репутацію за виняткову стійкість до «ручного» злому. В XIX столітті Фрідріх Касіскі повністю зламав шифр, а деякі досвідчені криптоаналітики іноді зламували шифр ще в XVI столітті. Гілберт Вернам спробував поліпшити зламаний шифр, (він отримав назву «шифр Вернама-Віженера» в 1918 році), але, незважаючи на те, що він зробив, шифр так і залишився уразливим до криптоаналізу. Проте робота Вернама, зрештою, привела до шифру, що дійсно важко зламується. Шифр Вернама (англ. One-time pad — схема одноразових блокнотів). У 1917 році американський інженер фірми АТТ висунув ідею, що кожний біт відкритого тексту повинен шифруватися випадковим бітом ключа, довжина
  • 18. 18 ключа повинна бути рівною довжині відкритого тексту, а ключ повинен бути одноразовим. Для шифру Вернама рівняння шифрування-розшифрування приймає вигляд: Bi = | Ai + Ki |N – рівняння шифрування; Аi = | Вi – Ki |N – рівняння розшифрування; де Ai – символ відкритого тексту, Bi – символ шифртексту, Ki – символ ключової послідовності, i – номер символу ( ∞≤≤i0 ), N – об’єм алфавіту, Приклад. Нехай шифром Вернама необхідно зашифрувати слово «студент». Алфавіт – з таблиці 2.1. У якості ключа будемо використовувати випадкову послідовність чисел. Початковий текст: С Т У Д Е Н Т Номер символу: 01 04 06 02 22 08 04 Ключ: 28 13 06 22 07 23 17 Сума за mod32: 29 17 12 24 29 0 21 Шифртекст: Щ Ю Л З Щ Б Ф У 1949 році Клод Шеннон опублікував роботу, в якій довів абсолютну стійкість шифру Вернама. При цьому ключ повинен володіти трьома критично важливими властивостями: 1) бути істино випадковим; 2) за довжиною бути не менше довжини відкритого тексту; 3) використовуватися тільки один раз. Шифр Вернама, побудований з використанням ключа, що задовольняє переліченим умовам, володіє гарантованою стійкістю. Це означає, що для цього шифру збільшення числа перехоплених шифрограм не додає знань ані про відкритий текст, ані про ключ шифрування. Умови, яким повинен відповідати ключ, настільки сильні, що практичне застосування шифру Вернама становиться важко здійсненним і
  • 19. 19 використовується для передавання повідомлень найвищої секретності. Складність реалізації умов гарантованої стійкості пояснюється наступним: - складно отримати ключ нескінченної довжини (такий ключ неможливо отримати, якщо генератор випадкових чисел – скінченний автомат, а генератор випадкових чисел на основі хаотичного руху електронів характеризується температурною та часовою нестабільністю); - складно забезпечити контроль одноразового використання ключа або його фрагментів (для цього необхідно мати нескінченну пом’ять). ПОРЯДОК ВИКОНАННЯ РОБОТИ 1. Вивчити теоретичні відомості. 2. Група студентів ділиться на підгрупи по 2-3 особи в кожній. 3. Кожна підгрупа: − формує відкрите повідомлення (будь-який смисловий текст, який містить 150-200 символів); − обчислює ентропію відкритого тексту. 4. Кожна підгрупа: − формує ключ и виконує шифрування відкритого тексту шифром Цезаря; − обчислює ентропію отриманого шифртексту. 5. Кожна підгрупа: − формує ключ и виконує шифрування відкритого тексту шифром Виженера; − обчислює ентропію отриманого шифртексту. 6. Кожна підгрупа: −формує ключ и виконує шифрування відкритого тексту шифром Вернама; −обчислює ентропію отриманого шифртексту. Примітка. У якості генератора ключової послідовності використовувати генератор кільця лишків у кільці цілих чисел.
  • 20. 20 Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з текстом і ключами інших підгруп. 7. Виконати аналіз отриманих результатів. 8. Оформити звіт. Зробити висновки про результати виконаної роботи. ЗМІСТ ЗВІТУ 1. Тема та мета роботи. 2. Алгоритми шифрування (у вигляді блок-схем). 3. Відкритий текст. 4. Шифртексти повідомлення, отримані в результаті криптографічних перетворень за вказаними алгоритмами. 5. Статистика й ентропія відкритого тексту та шифртекстів. 6. Висновки. Примітка. У висновках дається оцінка виконаної роботи (що вона Вам показала), даються відповіді на наведені нижче питання, визначаються можливі способи атак на досліджені алгоритми шифрування. КОНТРОЛЬНІ ПИТАННЯ 1. У чому відмінність операцій шифрування і розшифрування для шифрів Цезаря, Віженера, Вернама? 2. Чи змінюють розглянуті криптографічні алгоритми статистику й ентропію повідомлень? 3. Довжина ключа для шифрів Цезаря, Віженера, Вернама. 4. Швидкість зміни ключів для шифрів Цезаря, Віженера, Вернама. 5. Шифр Вернама. Труднощі практичної реалізації. 6. Мінімальна довжина ключа для шифру Вернама, що забезпечує гарантовану стійкість. 7. Чому шифр Вернама називають «схемою одноразових блокнотів»?. 8. Визначити можливу методику злому шифрів Цезаря, Віженера, Вернама.
  • 21. 21
  • 22. 22 Лабораторна робота №3 ДОСЛІДЖЕННЯ СТАТИСТИЧНИХ ВЛАСТИВОСТЕЙ БІГРАМНИХ ШИФРІВ Мета роботи: − вивчення алгоритму біграмного шифрування; – набуття навиків формування ключів для цих шифрів і виконання процедури шифрування; − дослідження статистичних властивостей відкритого тексту, ключової послідовності, біграмного шифртексту; − вивчення характеру зміни кількості інформації та ентропії для різних ключів. Вибір на цій основі ключа шифрування. СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ Біграмне шифрування – це криптографічний алгоритм, призначений для шифрування груп із двох символів (біграм). Засновник біграмних шифрів — німецький абат Іоганн Трисемус, який у 1508 році в своїй роботі з криптології «Поліграфія» вперше відмітив можливість шифрування біграмами, тобто двосимвольними поєднаннями. Біграмний «Шифр Плейфера» використовувався Великобританією в роки Першої світової війни. Шифр Плейфера або квадрат Плейфера – ручна симетрична техніка шифрування, в якій вперше використана заміна біграм. Шифр передбачає шифрування пар символів (біграм) замість окремих символів, як у шифрі підстановки и в більш складних системах шифрування Віженера. Таким чином, шифр Плейфера більш стійкий до злому у порівнянні з шифром простої заміни через труднощі з частотним аналізом. Він може бути проведений, але не для 26 можливих символів (латинський алфавіт), а для 26х26=676 можливих біграм.
  • 23. 23 Аналіз частоти біграм можливий, але є значно більш важким і вимагає набагато більшого об’єму зашифрованого тексту. Біграмний шифр «Подвійний квадрат» був винайдений англійцем Чарльзом Уітстоном у 1854 році. Шифр Уітстона відкрив новий етап у історії розвитку криптографії. Шифр "подвійний квадрат" використовує відразу дві таблиці, розміщені по одній горизонталі, а шифрування йде біграмами, як у шифрі Плейфера. Ці не дуже складні модифікації привели до появи на світ якісно нової криптографічної системи ручного шифрування. Шифр "подвійний квадрат" виявився дуже надійним і зручним та використовувався Німеччиною навіть у роки Другої світової війни. Пояснимо процедуру шифрування цим шифром на прикладі. Нехай алфавіт обраний таким чином: Таблиця 3.1 Алфавіт джерела 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 а б в г д е ж з і к л м н о п р 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 с т у ф х ц ч ш щ ю я є ь и прб . Ключ шифрування зводиться до створення двох таблиць розмірності 8*4 (8 стовпців и 4 рядки), наприклад, наведеного нижче виду, тобто послідовності символів алфавіту в довільному порядку. Таблиця 3.2 Ключ шифрування а 1 б 2 в 3 г 4 д 5 е 6 ж 7 з 8 . я ш ф р м з г і к л м н о п р прб ю ч у п л н в с т у ф х ц ч ш и є ц т о к е б щ ю я є ь и прб . 32 ь щ х с ж і д а Ліва табл. Права табл. Перед шифруванням початкове повідомлення розбивають на біграми. Кожна біграма шифрується окремо. Перший символ біграми знаходять у лівій таблиці, а другий символ – у правій таблиці. Потім подумки будують
  • 24. 24 прямокутник таким чином, щоб символи біграми лежали в його протилежних вершинах. Інші дві вершини цього прямокутника дають символи біграми шифртексту. Якщо символи початкового повідомлення лежать у одному рядку, то і символи шифртексту беруться з того ж рядка в наступному порядку: - для першого символу біграми визначаємо номер стовпця з цим символом у лівій таблиці (наприклад, 5 стовпець); - у правій таблиці в цьому рядку в 5 стовпці знаходимо символ шифртексту; - для другого символу біграми у правій таблиці знаходимо стовпець, що містить цей символ (наприклад, 7); - символ зашифрованого тексту визначається за 7 стовпцем лівої таблиці. Припустимо, що шифрується наступне повідомлення: Виконую роботу. Люба. Після розбиття повідомлення на біграми: Ви ко ну ю_ ро бо ту ._ Лю ба ._ Шифрується біграма початкового тексту Ви. Буква В знаходиться в стовпці 3 и рядку 1 лівої таблиці. Буква и знаходиться в стовпці 1 и рядку 3 правої таблиці. Це означає, що прямокутник утворюється рядками 1 и 3, а також стовпцями 3 лівої таблиці и 1 правої таблиці. Отже, в біграму шифртексту входять символ «.», розташований у стовпці 1 и рядку 1 правої таблиці, и буква у, розташована в стовпці 3 и рядку 3 лівої таблиці, тобто отримуємо біграму шифртексту .у. Якщо обидва символи біграми повідомлення лежать у одному рядку, то і символи шифртексту беруть з того ж рядка. При шифруванні біграми ну першу букву біграми шифртекста беруть з правої таблиці в стовпці, що відповідає першій букві біграми повідомлення – символ з 5 стовпця п. Друга буква біграми шифртексту береться з лівої таблиці в стовпці, що відповідає другій букві
  • 25. 25 біграми повідомлення – символ з 4 стовпця м. Тому біграма повідомлення ну перетворюється в біграму шифртексту пм. Аналогічним чином шифруються усі біграми повідомлення: Повідомлення ви ко ну ю_ ро бо ту ._ лю ба ._ Шифртекст .у пт пм ьк пш рт тк ьз чк гю ьз ПОРЯДОК ВИКОНАННЯ РОБОТИ 1. Вивчити теоретичні відомості. 2. Група студентів ділиться на підгрупи по 2-3 особи в кожній. 3. Кожна підгрупа формує алфавіт (на основі української, російської, англійської мов) з 32 символів (включаючи пробіл – прб.). 4. Кожна підгрупа формує відкрите повідомлення довільного змісту розміром не меншим 150-200 символів алфавіту. 5. Кожна підгрупа формує 3 ключі (3 таблиці шифрування): − довільної послідовності символів алфавіту; − конгруентних чисел; − генерацією на ЕОМ випадкових чисел. У кожній підгрупі ключі різні. 6. За правилами біграмного шифрування сформувати 3 шифртексти. 7. Виконати статистичний аналіз: − відкритого тексту; − ключових послідовностей; − шифртекстів. 8. Визначити ключ, за якого досягається максимум невизначеності шифртексту. 9. Виконати аналіз отриманих результатів. 10. Оформити звіт. Зробити висновки про результати виконаної роботи.
  • 26. 26 ЗМІСТ ЗВІТУ 1. Тема та мета роботи. 2. Алгоритм шифрування (у вигляді блок-схеми). 3. Алфавіт повідомлення, відкрите повідомлення. 4. 3 таблиці шифрування. 5. 3 шифртексти. 6. Результати статистичного аналізу, вибір ключа. 7. Висновки. Примітка. У висновках дається оцінка виконаної роботи (що вона Вам показала), даються відповіді на наведені нижче питання. КОНТРОЛЬНІ ПИТАННЯ 1. Алгоритм біграмного шифрування. 2. Властивості біграмного шифрування. 3. Ключ біграмного шифрування. 4. Чи змінює біграмне шифрування статистику повідомлення та його ентропію? Чому? 5. Який вплив ключів шифрування на зміну статистики повідомлення? 6. Як визначити частоту зміни ключів для біграмного шифрування? 7. Особливості реалізації алгоритму біграмного шифрування на ЕОМ. 8. Визначити можливу методику злому біграмних шифрів. Ефективність частотного аналізу.
  • 27. 27 Лабораторна робота №4 КРИПТОСИСТЕМА DES. РЕЖИМ ПРОСТОЇ ЗАМІНИ Мета роботи: – вивчення алгоритму криптографічного перетворення DES; – набуття навиків шифрування за стандартом DES у режимі простої заміни; – дослідження процесу зміни ентропії після виконання криптографічних перетворень. СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ DES (Data Encryption Standard) – симетричний алгоритм блокового шифрування. DES розроблений фірмою IBM і затверджений урядом США у 1977 році як офіційний стандарт (FIPS 46-3). Для DES рекомендовано декілька режимів: • режим електронної кодової книги ECB (режим простої заміни), • режим зчеплення блоків СВС, • режим зворотного зв’язку по виходу OFB (режим простого гамування), • режим зворотного зв’язку по шифртексту CFB (режим посиленого гамування). У цій лабораторній роботі розглянемо перший з перерахованих режимів роботи DES – режим простої заміни. Алгоритм DES розроблений для криптографічного перетворення даних розрядністю 64 біти на основі 64-бітового ключа. Розшифровування виконується за допомоги того ж ключа, що і шифрування, але цей процес є інверсним по відношенню до процесу шифрування даних. Процес шифрування даних пояснюється рис. 4.1.
  • 28. 28 Рис. 4.1. Блок-схема алгоритму DES Спочатку 64 біти вхідної послідовності переставляються у відповідності до таблиці. 4.1. Таким чином, 58-й біт вхідної послідовності стає 1-м бітом, біт 50 – бітом 2 і т.д. Таблиця 4.1 Початкова перестановка 58 60 62 64 57 59 61 63 50 52 54 56 49 51 53 55 42 44 46 48 41 43 45 47 34 36 38 40 33 35 37 39 26 28 30 32 25 27 29 31 18 20 22 24 17 19 21 23 10 12 14 16 9 11 13 15 2 4 6 8 1 3 5 7 Отримана послідовність біт розділяється на дві послідовності: L(0) і R(0), кожна з яких містить 32 біти. Після цього виконується ітеративний процес
  • 29. 29 шифрування, який описується наступними формулами (f – функція шифрування): L (i) = R (i-1) i = 1, 2, ..., 16; R (i) = L (i -1) + f (R (i -1), K (i)) i = 1, 2, ..., 16. Аргументами функції шифрування є послідовність R, отримана на попередньому кроці ітерації, і 48-бітовий ключ K(i), який є результатом функції перетворення 64-бітового ключа шифрування. Детально функція шифрування і алгоритм отримання ключів K(i) описані нижче. На останньому кроці ітерації будуть отримані послідовності L(16) і R(16), які конкатенуються в 64-бітову послідовність L(16) і R(16). Після цього отримана 64-бітова послідовність переставляється у відповідності до таблиці 4.2. Таблиця 4.2 Кінцева перестановка 40 39 38 37 36 35 34 33 8 7 6 5 4 3 2 1 48 47 46 45 44 43 42 41 16 15 14 13 12 11 10 9 56 55 54 53 52 51 50 49 24 23 22 21 20 19 18 17 64 63 62 61 60 59 58 57 32 31 30 29 28 27 26 25 Отримана послідовність з 64 біт і буде зашифрованою вхідною послідовністю. Процес розшифровування даних є інверсним по відношенню до процесу шифрування. Усі дії мають бути виконані в зворотному порядку. Це означає, що дані, що підлягають розшифруванню, спочатку переставляються у відповідності до таблиці 4.2, а потім над послідовністю біт L(16) R(16) виконуються ті ж дії, що і в процесі шифрування, але в зворотному порядку. Ітеративний процес розшифровування може бути описаний наступними формулами: R(i-1)= L(i) i = 16, 15, ..., 1; L(i-1)= R(i)+ f (L(i),K(i)) i = 16, 15, ..., 1.
  • 30. 30 На останньому кроці ітерації будуть отримані послідовності L(0) і R(0), які конкатенуються в 64-бітову послідовність L(0) R(0). У отриманій послідовності 64 біта переставляються у відповідності до таблиці 4.1. Результат такого перетворення – вихідна послідовність біт (розшифроване 64-бітове значення). Функція шифрування f(R,K) схематично показана на рис. 4.2. Для обчислення значень функції f використовується функція розширення E (з 32 біт до 48), функції S(1), S(2) ..., S(8) (перетворення 6-бітового числа в 4- бітове) і функція Р (перестановка біт у 32-бітовій послідовності). Наведемо визначення цих функцій. Аргументами функції шифрування є R (32 біта) і K (48 біт). Результат виконання функції E(R) є 48-бітове число, яке складається за модулем 2 з числом К. Рис 4.2. Блок-схема функції шифрування f Таким чином, отримується 48-бітова послідовність, яка розглядається, як конкатенація 8 рядків завдовжки по 6 біт, тобто (В(1) В(2) В(3) В(4) В(5) В(6) В(7) В(8)). Результат функції S(i)(B(i)) – 4-бітова послідовність, яку позначатимемо L(i). У результаті конкатенації всіх 8 отриманих послідовностей L(i) маємо 32-бітову послідовність L = L(1) L(2) L(3) L(4) L(5) L(6) L(7) L(8). Нарешті, для отримання результату функції шифрування треба переставити біти послідовності L. Для цього застосовується функція перестановок P(L).
  • 31. 31 Функція розширення Е, що виконує розширення 32 біт до 48, визначається табл. 4.3. У відповідності до цієї таблиці перші три біта Е(R) – це біти 32, 1, 2, а останні – 31, 32, 1. Таблиця 4.3 Функція розширення Е 32 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 27 31 4 8 12 16 20 24 28 32 5 9 13 17 21 25 29 1 Функція S(i), яка перетворює 6-бітові числа в 4-бітові, визначається табл. 4.4. Таблиця 4.4 Функція перетворення S(i) S1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 S2 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 S3 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 S4 7 13 4 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 S5 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3 S6 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13 Продовження табл. 4.4 S7 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
  • 32. 32 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12 S8 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11 Для табл. 4.4 потрібні додаткові пояснення. Кожна з функцій S(i) перетворює 6-бітовий вхід у 4-бітовий вихід за наступним алгоритмом: • перший і останній біти вхідної послідовності визначають номер рядка k; • другий, третій, четвертий і п'ятий біти вхідної послідовності задають номер колонки q; • результат перетворення обирається як двійковий запис числа, що знаходиться на перетині рядку k і колонки q. Функція перестановки біт P(L), що також використовується для визначення функції шифрування, задається значеннями, наведеними в табл. 4.5. У послідовності L 32 біти переставляються так, щоб біт 16 став першим бітом, біт 7 – другим і т.д. Таблиця 4.5 Функція перестановки P 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 Для завершення опису алгоритму шифрування даних залишилося навести алгоритм отримання ключів К(i), i = 1,2,...,16, розмірністю в 48 біт. Ключі К(i) визначаються з 64-бітового ключа шифрування, як це показано на рис. 4.3.
  • 33. 33 Рис. 4.3. Блок-схема алгоритму формування ключів Спочатку над ключем шифру виконується операція В, яка зводиться до вибору певних біт і їхньої перестановки, як це показано в табл. 4.6. Причому, перші 4 рядки визначають, як обираються біти послідовності С(0) (першим бітом послідовності С(0) буде біт 57 ключа шифру, потім біт 49 і т.д., а останніми – біти 44 і 36 ключа), а наступні чотири рядки – як обираються біти послідовності D(0) (тобто послідовність D(0) складатиметься з бітів 63, 55, ..., 12, 4 ключа шифру). Таблиця 4.6 Функція перестановки і вибору послідовності В 57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 45 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 Як видно з табл. 4.6, для генерації послідовностей С(0) і D(0) не використовуються біти 8, 16, 24, 32, 40,48, 56 і 64 ключа шифру. Ці біти не впливають на шифрування і можуть бути використані для інших цілей (наприклад, для контролю парності). Таким чином, насправді ключ шифрування є 56-бітовим.
  • 34. 34 Після визначення С(0) і D(0) рекурсивно визначаються C(i) і D(i), i = 1, 2, ..., 16. Для цього застосовуються операції зсуву вліво на один або два біти залежно від номера кроку, як це показано в табл. 4.7. Таблиця 4.7 Функція зсуву S(i) Номер ітерації Кількість зсувів Номер ітерації Кількість зсувів 1 1 9 1 2 1 10 2 3 2 11 2 4 2 12 2 5 2 13 2 6 2 14 2 7 2 15 2 8 2 16 1 Операції зсуву виконуються для послідовностей С(i) і D(i) незалежно. Наприклад, послідовність С(3) отримується шляхом зсуву вліво на дві позиції послідовності С(2), а послідовність D(3) – шляхом зсуву вліво на дві позиції послідовності D(2). Слід мати на увазі, що виконується циклічний зсув уліво. Ключ K(i), що визначається на кожному кроці ітерації, є результатом вибору певних біт з 56-бітової послідовності C(i) D(i) та їхньої перестановки. Іншими словами: K(i)=K(C(i) D(i)), де функція K визначається даними, наведеними в табл. 4.8. Таблиця 4.8 Функція перестановки і вибору K 14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 Як випливає з табл. 4.8, перший біт K(i) – це 14-й біт послідовності C(i) D(i), другий – біт 17-й, останній – біт 32-й.
  • 35. 35 Визначимо стійкість криптоалгоритму до впливу помилок каналу зв'язку. Відзначимо, що DES – блоковий шифр, де кожен блок даних шифрується незалежно від попередніх і наступних блоків, унаслідок чого трек помилки не може перевищувати одного блоку. Принцип шифрування – розсіювання, перемішування, підстановки і перестановки символів відкритого тексту, унаслідок чого будь-яка помилка каналу даних призводить до поширення впливу одного помилкового біта даний на всі символи блоку, включаючи (як наслідок виконання замін) розмноження помилок до такої міри, що в межах блоку ймовірність помилки стає рівною 0,5. Таким чином, одна помилка у шифрблоці робить неможливим читання усього шифрблоку. ПОРЯДОК ВИКОНАННЯ РОБОТИ 1. Вивчити теоретичні відомості. 2. Група студентів ділиться на підгрупи по 2-3 особи в кожній. 3. Кожна підгрупа: − формує відкрите повідомлення (будь-який смисловий текст, що складається з 24 символів); − кодує символи відкритого тексту кодами ASCII. Розширена таблиця ASCII наведена в додатку А; − обчислює ентропію відкритого тексту; − формує ключ шифрування, що складається з 64 біт (8 символів в коді ASCII). 8. Кожна підгрупа: − виконує шифрування відкритого тексту за алгоритмом DES у режимі простої заміни. Кількість ітерацій при перетворенні кожного блоку допускається не менше 3; − обчислює ентропію шифртексту;
  • 36. 36 − перетворює шифртекст з двійкового в символьний вигляд за допомогою таблиці ASCII кодів. Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з текстом і ключами інших підгруп. 9. Виконати аналіз отриманих результатів. 10. Оформити звіт. Зробити висновки про результати виконаної роботи. ЗМІСТ ЗВІТУ 1. Тема і мета роботи. 2. Алгоритм шифрування (у вигляді блок-схеми). 3. Відкритий текст. Ключ шифрування з зазначенням процедури його отримання. 4. Проміжні результати декількох раундів шифрування. 5. Шифртекст повідомлення. 6. Статистика й ентропія відкритого тексту та шифртексту. 7. Висновки. Примітка. У висновках дається оцінка виконаної роботи (що вона Вам показала), даються відповіді на наведені нижче питання. КОНТРОЛЬНІ ПИТАННЯ 1. Блокове і потокове шифрування. Сфери застосування. Переваги та недоліки. 2. Переваги та недоліки алгоритму шифрування DES. 3. Режими роботи DES. Їхні властивості та відмінності. Сфери застосування. 4. Трудомісткість операцій шифрування і розшифрування для алгоритму DES у режимі простої заміни. 5. Чи зміниться шифртекст, якщо всі біти відкритого тексту і ключа будуть нульовими? 6. Основна функція шифрування DES (функція Фейстеля).
  • 37. 37 7. Слабкі та частково слабкі ключі DES. 8. Криптоаналіз шифру DES за допомогою словника.
  • 38. 38 Лабораторна робота №5 КРИПТОСИСТЕМА DES. РЕЖИМ ЗЧЕПЛЕННЯ БЛОКІВ Мета роботи: – вивчення алгоритму криптографічного перетворення DES; – набуття навиків шифрування за стандартом DES у режимі зчеплення блоків; – вивчення процесу зміни ентропії після виконання криптографічних перетворень. СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ Нагадаємо, що DES (Data Encryption Standard) – симетричний алгоритм блокового шифрування, розроблений фірмою IBM і затверджений урядом США в 1977 році як офіційний стандарт (FIPS 46-3). Для DES рекомендовано 4 режими, перераховані в попередній лабораторній роботі. У даній роботі розглядається режим зчеплення блоків. Недоліком блокових шифрів, що працюють в режимі простої заміни, є те, що однакові блоки відкритого тексту дають однакові блоки шифртексту. Для усунення цього недоліку використовують зчеплення блоків перед шифруванням, тобто складання за модулем два наступні блоки відкритого тексту з попереднім блоком шифртексту. Така процедура дозволяє домогтися сильного ефекту розсіювання – поширення впливу одного біту відкритого тексту на весь подальший шифртекст. Наслідком зчеплення та розсіювання біт у блоці є істотне підвищенні криптостійкості цього режиму шифрування. Іншим наслідком зчеплення та розсіювання біт є те, що при передаванні шифртексту каналом зв'язку одна помилка в каналі передавання шифрповідомлення призводить до повного спотворення всього подальшого потоку даних. Великий трек помилки
  • 39. 39 унеможливлює передавання даних без захисту від помилок навіть інформаційних потоків з великою природною надмірністю. З іншого боку, у зв'язку з тим, що не існує кодів, що гарантують 100% виявлення помилок (не кажучи про їх виправлення), у каналах передавання даних важко визначити необхідне значення міри підвищення достовірності, тобто ступінь кодового поліному (величину надмірності, що вноситься, або допустиме значення втрати швидкості). Тому використання режиму зчеплення блоків у реальних мережах передавання даних вельми проблематично. У той же час, режим зчеплення блоків дуже ефективний для вироблення імітовставки. Блок-схема алгоритму шифрування DES у режимі зчеплення блоків наведена на рис. 5.1. Рис. 5.1. Блок-схема алгоритму шифрування DES у режимі зчеплення блоків На рис. 5.1 введені наступні позначення: ВТ – відкритий текст; ШП – шифрперетворення; ШТ – шифртекст; С0 – 64-бітовий початковий вектор. Поблокова схема шифрування представлена на рис. 5.2.
  • 40. 40 ВБ1 + ШП ШБ1 С0 ВБ2 + ШП ШБ2 ... Рис. 5.2. Блок-схема алгоритму шифрування DES у режимі зчеплення блоків На рис. 5.2 позначені блоки перших двох ітерацій: ВБ1, ВБ2 – перший і другий блоки відкритого тексту відповідно; ШБ1, ШБ2 – перший і другий блоки шифртексту відповідно; вектор С0 тримається в таємниці. Криптографічні перетворення над відкритим текстом виконуються за алгоритмом, аналогічним алгоритму для режиму простої заміни. ПОРЯДОК ВИКОНАННЯ РОБОТИ 1. Вивчити теоретичні відомості. 2. Група студентів ділиться на підгрупи по 2-3 особи в кожній. 3. Кожна підгрупа: − використовує відкрите повідомлення, сформоване для реалізації режиму простої заміни (будь-який смисловий текст, що складається з 24 символів); − кодує символи відкритого тексту кодами ASCII (таблиця ASCII наведена в додатку А); − обчислює ентропію відкритого тексту; − формує 64-бітовий початковий вектор С0 (8 символів у коді ASCII); − формує 64-бітовий ключ шифрування (8 символів у коді ASCII). 4. Кожна підгрупа:
  • 41. 41 − виконує шифрування відкритого тексту за алгоритмом DES у режимі зчеплення блоків. Кількість ітерацій при перетворенні кожного блоку допускається не менше 3; − обчислює ентропію шифртексту; − перетворює шифртекст з двійкового в символьний вигляд за допомогою таблиці ASCII кодів. Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з текстом і ключами інших підгруп. 5. Виконати аналіз отриманих результатів. 6. Оформити звіт. Зробити висновки про результати виконаної роботи. ЗМІСТ ЗВІТУ 1. Тема і мета роботи. 2. Алгоритм шифрування (у вигляді блок-схеми). 3. Відкритий текст. Початковий вектор. Ключ шифрування. 4. Проміжні результати декількох раундів шифрування. 5. Шифртекст повідомлення. 6. Статистика й ентропія відкритого тексту і шифртексту. 7. Висновки. Примітка. У висновках дається оцінка виконаної роботи (що вона Вам показала), даються відповіді на наведені нижче питання. КОНТРОЛЬНІ ПИТАННЯ 1. Блокове і потокове шифрування. Сфери застосування. Переваги та недоліки. 2. Переваги та недоліки алгоритму шифрування DES. 3. Режими роботи DES. Їхні властивості та відмінності. Сфери застосування. 4. Доцільність використання режиму зчеплення блоків. 5. Трудомісткість операцій шифрування і розшифрування для алгоритму DES у режимі зчеплення блоків.
  • 42. 42 6. Прикладні застосування режиму зчеплення блоків DES. 7. Вимоги до каналу зв’язку при передаванні даних, зашифрованих за алгоритмом DES у режимі зчеплення блоків. 8. Трек помилки для різних режимів роботи DES.
  • 43. 43 Лабораторна робота №6 КРИПТОСИСТЕМА DES. РЕЖИМИ ГАМУВАННЯ Мета роботи: – вивчення алгоритму криптографічного перетворення DES; – набуття навиків шифрування за стандартом DES у режимах простого та посиленого гамування; – вивчення процесу зміни ентропії після виконання криптографічних перетворень. СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ Гамування – метод шифрування, побудований на «накладенні» псевдовипадкової послідовності (ПВП) – гами – на відкритий текст. Звичайно це підсумовування в якомусь кінцевому полі (наприклад, у полі GF(2)), тоді рівняння шифрування має вигляд: Y X γ= ⊕ , (6.1) де Y – шифртекст (ШТ); Х – відкритий текст (ВТ); γ – гама шифру (ключ шифрування). Для розшифровки гама шифру накладається на шифртекст, унаслідок чого рівняння розшифрування має вигляд: Y X Xγ γ γ⊕ = ⊕ ⊕ = . (6.2) Під час реалізації шифрування методом гамування виникає проблема синхронізації гам на передавальній і приймальній сторонах. Організація частотного ділення каналу на канал даних і канал синхронізації веде до великих втрат при виділенні каналів, а також до втрат пропускної спроможності каналу. Часове ділення каналів даних і синхронізації призводить до необхідності
  • 44. 44 організації мультиплексування, що в свою чергу також веде до істотних втрат пропускної спроможності. Схема криптосистеми, що виконує шифрування простим гамуванням, представлена на рис. 6.1. а) б) Рис. 6.1. Схема шифрування у режимі простого гамування: а – у передавачі; б – у приймачі. Режим гамування криптосистеми DES є режимом зворотного зв'язку по виходу (OFB — Output Feed Back). Блок-схема алгоритму шифрування DES у режимі простого гамування наведена на рис. 6.2. Рис. 6.2. Блок-схема алгоритму шифрування DES у режимі простого гамування Вектор початкового завантаження (ВПЗ на рис. 6.2) визначає гаму і тримається в таємниці. Криптографічні перетворення в блоках шифрперетворення (ШП) виконуються за алгоритмом, аналогічним алгоритму для режиму простої заміни. Поблокова схема шифрування DES у режимі простого гамування представлена на рис. 6.3.
  • 45. 45 Рис. 6.3. Блок-схема алгоритму шифрування DES в режимі простого гаммирования У режимі посиленого гамування криптосистеми DES присутній зворотний зв'язок по шифртексту (CFB — Cipher Feed Back). Блок-схема алгоритму шифрування DES у режимі посиленого гамування наведена на рис. 6.4. Рис. 6.4. Блок-схема алгоритму шифрування DES у режимі посиленого гамування Поблокова схема шифрування DES у режимі посиленого гамування представлена на рис. 6.5. Рис. 6.5. Блок-схема алгоритму шифрування DES у режимі посиленого гамування У режимі простого гамування одна помилка в каналі передавання шифртексту призводить до спотворення одного біту у відкритому тексті. У
  • 46. 46 режимі посиленого гамування одна помилка в каналі призводить до повного спотворення всього подальшого потоку даних. ПОРЯДОК ВИКОНАННЯ РОБОТИ 1. Вивчити теоретичні відомості. 2. Група студентів ділиться на підгрупи по 2-3 особи в кожній. 3. Кожна підгрупа: − використовує відкрите повідомлення, сформоване для реалізації режиму простої заміни (будь-який смисловий текст, що складається з 24 символів); − кодує символи відкритого тексту кодами ASCII (таблиця ASCII наведена в додатку А); − обчислює ентропію відкритого тексту; − формує 64-бітовий вектор початкового завантаження ВПЗ для генерації гами (8 символів у коді ASCII); − формує 64-бітовий ключ шифрування (8 символів у коді ASCII). 4. Кожна підгрупа: − виконує шифрування відкритого тексту за алгоритмом DES у режимі простого гамування. Кількість ітерацій при формуванні кожного блоку гами допускається не менше 3; − обчислює ентропію гами та шифртексту; − перетворює шифртекст з двійкового в символьний вигляд за допомогою таблиці ASCII кодів. 5. Кожна підгрупа: − виконує шифрування відкритого тексту за алгоритмом DES у режимі посиленого гамування. Кількість ітерацій при формуванні кожного блоку гами допускається не менше 3; − обчислює ентропію гами та шифртексту;
  • 47. 47 − перетворює шифртекст з двійкового в символьний вигляд за допомогою таблиці ASCII кодів. Відкритий текст і ключі кожна підгрупа формує самостійно незбіжними з текстом і ключами інших підгруп. 6. Виконати аналіз отриманих результатів. 7. Оформити звіт. Зробити висновки про результати виконаної роботи. ЗМІСТ ЗВІТУ 1. Тема і мета роботи. 8. Алгоритм шифрування (у вигляді блок-схеми). 2. Відкритий текст. Вектор початкового завантаження. Ключ шифрування. 3. Проміжні результати шифрування. 4. Шифртекст повідомлення. 5. Статистика і ентропія відкритого тексту, ключа і шифртексту. 6. Висновки. Примітка. У висновках дається оцінка виконаної роботи (що вона Вам показала), даються відповіді на наведені нижче питання. КОНТРОЛЬНІ ПИТАННЯ 1. Блокове і потокове шифрування. Сфери застосування. Переваги та недоліки. 2. Переваги та недоліки алгоритму шифрування DES. 3. Режими роботи DES. Їхні властивості та відмінності. Сфери застосування. 4. Трудомісткість операцій шифрування і розшифрування для алгоритму DES у режимах гамування. 5. Трек помилки для різних режимів роботи DES. 6. Вимоги до каналу зв’язку при передаванні даних, зашифрованих за алгоритмом DES у режимах простого та посиленого гамування.
  • 48. 48 Лабораторна робота №7 ВІДКРИТЕ ПОШИРЕННЯ КЛЮЧІВ У МЕРЕЖАХ ПЕРЕДАВАННЯ ДАНИХ Мета роботи: опанувати методику організації розсилки секретних ключів відкритими каналами. СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ Відкрите поширення ключів у мережах передавання даних є можливим завдяки алгоритму Діффі – Хеллмана. Алгоритм Діффі – Хеллмана – це алгоритм, що дозволяє двом сторонам отримати загальний секретний ключ, використовуючи незахищений від прослухування, але захищений від підміни канал зв'язку. Процедура отримання ключа за алгоритмом Діффі–Хеллмана передує сеансу обміну секретними даними відкритим (від несанкціонованого читання даних) каналом зв'язку. Отриманий ключ використовується в криптосистемах з симетричним сеансним ключем. Алгоритм був уперше опублікований Уітфілдом Діффі та Мартіном Хеллманом у 1976 році. Для забезпечення конфіденційного обміну в мережах з відкритими каналами зв'язку використовують так звану односторонню функцію, тобто таку функцію f(x), що для будь-якого “х” з області визначення f(x) легко обчислюється, тоді як зворотну до неї функцію 1 ( )x f y− = обчислити неможливо або, принаймні, дуже важко. До таких функцій належить функція дискретного піднесення до ступеня в кільці цілих чисел або в кільці лишків по модулю незвідного багаточлена. Одностороння функція в кільці цілих чисел має вигляд :
  • 49. 49 ( ) X M f x α= , (7.1) де M X α – лишок числа αх по модулю М. Пряме обчислення цієї функції для будь-якого цілого Х не є складним. Приклад. Для α=7 і М=967 необхідно обчислити f(х) для х=753. Спочатку представимо 753=1·29 +0·28 +1·27 +1·26 +1·25 +1·24 +0·2 3 +0·22 +0·21 +1·20 . Тоді ( ) 753 512 128 64 32 16 967 967 753 7 7 7 7 7 7 7f = = ⋅ ⋅ ⋅ ⋅ ⋅ Тепер обчислимо квадратичні лишки: 1 967 7 7= 2 967 7 49= 4 2 967 967 7 49 467= = 8 2 967 967 7 467 514= = 16 2 967 967 7 514 205= = 32 2 967 967 7 205 444= = 64 2 967 967 7 444 835= = 128 2 967 967 7 835 18= = 256 2 967 967 7 18 324= = 512 2 967 967 7 324 540= = . Знайдемо f(753)= 967 1163264128512 967 753 7777777 ⋅⋅⋅⋅⋅= =│540·18·835·444·205·7│967=243. Таким чином, пряме обчислення функції f(753) не є складним і вимагає не більше 14 множень, зворотне обчислення (знаходження числа Х за відомим примітивним елементом, модулем і β=243) обчислювально складно або просто неможливе. У формулі (7.1) α є примітивним елементом кільця лишків по модулю М в кільці цілих чисел. Нагадаємо, що кільце – це алгебраїчна система, в якій визначено три операції: - додавання; - віднімання; - множення. Множина цілих чисел утворює кільце. Елементи кільця можуть бути обчислені за формулами (7.2) або (7.3):
  • 50. 50 j j M α α= , (7.2) 1j j M α α α−= ⋅ . (7.3) Максимальне число елементів у кільці дорівнює М-1. Це означає, що період кільця лишків у кільці цілих чисел, утвореному примітивним елементом, рівний Т=М–1. Приклад Для М=13 і α =7 отримаємо: α0=|70 |13=1 α7=|77 |13=6 α1=|71 |13= 7 α8=|78 |13=3 α2=|72 |13=10 α9=|79 |13=8 α3=|73 |13= 5 α10=|710 |13=4 α4=|74 |13= 9 α11=|711 |13=2 α5=|75 |13=11 α12=|712 |13=1 α6=|76 |13=12 α 13=|713 |13=7 Оскільки при α=7 період Т=М-1=12, це означає, що число 7 є примітивним елементом кільця лишків по модулю 13. У цьому кільці існують прямі ( jα ) і зворотні елементи ( 1 jα− ) такі, що 1 1j jα α− ⋅ = . Обчислення зворотних елементів проводиться за процедурами, заснованими на алгоритмі Евкліда з використанням розкладання числа j M α у ланцюговий дріб. Сутність цього алгоритму зводиться до того, що передостанній наближений дріб 1 1 − − n n Q P визначає зворотні елементи, при цьому 1 1j nPα− −= , якщо ланцюговий дріб непарного порядку, і 1 1j nM Pα− −= − , якщо ланцюговий дріб парного порядку. Приклад. Обчислимо α2 -1 . 3 1 3 1 1 10 3 1 10 13 2 + +=+== α M ; 1 1 1 4 1 3 3 n n P Q − − = + = ;