You are on page 1of 21

Зміст

Вступ..........................................................................................................................................3
1.Опис завдання........................................................................................................................5
2.Теоретична частина...............................................................................................................6
3.Практична реалізація..........................................................................................................10
ВИСНОВКИ............................................................................................................................15
Список використаних джерел...............................................................................................16
2

Вступ
«По-справжньому безпечною можна вважати лише систему, яка вимкнена,
замурована в бетонний корпус, замкнена в приміщенні зі свинцевими стінами і
охороняється озброєним караулом, - але і в цьому випадку сумніви не залишають
мене» Юджин Х. Спаффорд. І якщо раніше можна було досить легко сховати
інформацію через погану комунікабельність, то з появою більш розвинених систем
зв'язку, з появою та розвитком Інтернету, з перетворенням світу на інформаційне
співтовариство, не можна бути впевненим у безпеці кожного біта інформації. Тому
простого приховування інформації недостатньо.
Тепер потрібно, щоб навіть якщо інформацію буде втрачено або вкрадено,
вона все одно залишалася б недоступною для тих, кому вона не призначалася. Тому
найширший розвиток отримала наука криптографії, що дозволяє шляхом деяких
маніпуляцій перетворити будь-яку інформацію на повну нісенітницю, яку зможе
розшифрувати лише той, для кого ця інформація і призначалася. Зазвичай для цього
використовується ключ, який задіяний у процесі шифрування, і допомагає
розшифрувати зашифровану ним інформацію.
Але зі зростанням обчислювальних потужностей комп'ютерів з'явилася нова
проблема - можливість методом перебору все одно розшифрувати інформацію без
знання ключа лише витративши на це достатній обсяг часу. В обсязі часу і полягає
єдиний захист від такого злому. Отже, чим більше часу займе злом, тим більше
захищена інформація.
Адже якщо комусь буде потрібний тиждень на злом та дешифрування
інформації, цінність якої обчислюється годинами, злом буде безглуздим. На цьому й
зосередилися зусилля криптографії – створити з одного боку простий у
використанні, а з іншого – складний при зломі алгоритм шифрування. Це
перетворилося на свого роду змагання – одні люди надають розроблені ними
алгоритми, інші люди намагаються якнайшвидше їх зламати, показавши їхню
непридатність.
Криптографія, тобто мистецтво кодованого листа, з'явилася з виникненням
самої писемності. Хоча ще єгиптяни та жителі Месопотамії використовували методи
шифрування, першими, хто серйозно зайнявся криптографією, були древні греки і
римляни - ворогуючі культури, для яких таємне спілкування було ключовим
елементом воєнних успіхів. Така секретність призвела до появи нового типу
суперників – тих, хто називав себе хранителями таємниці, - криптографів, і тих, хто
сподівався розкрити її, -криптоаналітиків.
3

Мета курсової роботи: дізнатися, що таке та чим займається наука


криптографія; познайомитися з основними поняттями та термінами в галузі
шифрування; зробити аналіз криптоаналізу блокових симетричних шифрів.

Актуальність теми:
Тема "Аналіз методу криптоаналізу блокових симетричних шифрів" є дуже
актуальною в сучасному світі, де безпека інформації стає все більш важливою.
Захист конфіденційної інформації є важливою проблемою для бізнесу, урядів та
громадськості. Криптографія є ключовим інструментом для захисту даних від
несанкціонованого доступу, зловживання та крадіжки.
Метод криптоаналізу блокових симетричних шифрів дозволяє розкрити слабкі
місця в системі шифрування і виявити можливі вразливості. Аналіз цього методу є
важливим для розуміння того, як працює криптографічний алгоритм, і як його
можна зламати.
Важливість даної теми підтверджується численними випадками порушення
безпеки даних, де використані недостатньо стійкі алгоритми шифрування. Такі
випадки викликають велику загрозу для конфіденційної інформації і можуть
призвести до серйозних наслідків. Тому, розуміння методу криптоаналізу блокових
симетричних шифрів є критично важливим для захисту інформації в сучасному
світі.
4

1.Опис завдання
Курсова робота з криптології на тему "Аналіз методу криптоаналізу блокових
симетричних шифрів" передбачає проведення детального дослідження методів
криптоаналізу блокових симетричних шифрів та їх ефективності в різних умовах.
У роботі потрібно розглянути наступні питання:
1. Огляд існуючих блокових симетричних шифрів та їх особливості.
2. Огляд основного методу криптоаналізу блокових симетричних шифрів,
такого як лінійний криптоаналіз.
3. Детальний аналіз лінійного криптоаналізу, зокрема його переваг та
недоліків.
У результаті курсової роботи потрібно дати висновки щодо ефективності
різних методів криптоаналізу блокових симетричних шифрів та їх застосування у
реальних системах захисту інформації. Крім того, робота може включати аналіз
відомих атак на конкретні блокові симетричні шифри та їхні можливості у
забезпеченні стійкості даних.
5

2.Теоретична частина
Про те, наскільки важлива безпека інформації, було відомо ще в найдавніші
часи. Разом із зародженням писемності з'явилася і потреба в тому, щоб захистити
прочитання важливої інформації від тих, для кого вона не призначена.
Існує три способи, що дають змогу убезпечити інформацію від
несанкціонованого доступу. Перший, і найпростіший - це фізичний захист.
Найлегший спосіб, що полягає в охороні інформації фізичними особами, або,
наприклад, у передачі важливої інформації зі спеціальним кур'єром. Наскільки
простий спосіб захисту, настільки ж простий і спосіб його "злому" - тими ж
силовими методами. Однак, незважаючи на простоту і доступність для "злому", цей
метод все одно широко використовується і донині для захисту інформації та
предметів, цінність яких полягає в них самих.
Наступний метод має назву "стеганографія", отриману поєднанням грецьких і
латинських слів, і перекладається як "тайнопис". Цей метод передбачає
приховування самого факту існування інформації. У минулих століттях дуже
поширеним використанням цього методу було симпатичне чорнило, яке
проявлялося тільки під час певних маніпуляцій. Так само досить цікавий приклад
"стеганографії" наводить давньогрецький історик Геродот у своїх записах. Він
описує процес, коли голову раба голили налисо і наносили на неї текст листа. Після
закінчення деякого часу, коли волосся відростало заново, раба посилали до адресата,
який знову голив голову раба і в такий спосіб міг прочитати лист. Очевидно, що
реалізації цього методу обмежені лише уявою, і водночас мають величезні проблеми
із захищеністю від безлічі факторів. Таким чином у наш час ці методи здебільшого
залишилися лише у вигляді розваг, хоча завжди знайдуться люди, які
використовують цей метод і для чогось важливого.
І, нарешті, третім методом захисту інформації і є "криптографія" - тобто
спосіб шляхом деяких маніпуляцій перетворити інформацію на хаотичний набір
символів. Дешифрування даних можливе лише за умови використання ключа до
побудови шифру. "Криптографія" - суто грецьке слово, що так само означає
"тайнопис", і за твердженнями низки фахівців ця наука є ровесницею єгипетських
пірамід. У документах багатьох стародавніх цивілізацій - Індії, Єгипту, Месопотамії
- є згадки й описи різних криптографічних систем. Однак майже немає жодних
даних про використання методів шифрування в Стародавньому Китаї, що, мабуть,
характеризується складністю ієрогліфічного письма.
Один із найстаріших відомих способів шифрування був знайдений у
Месопотамії. Це був рецепт виготовлення глазурі для глиняних виробів, і в системі
6

шифрування використовували рідковживані знаки клинопису, ігнорували деякі


голосні й приголосні літери та замість імен вживали цифри.
Найчастіше в давнину для шифрів використовувалися методи заміни та
перестановки. Одним із найвідоміших методів заміни є шифр Цезаря. Це був
власний винахід Цезаря, і він використовував цей шифр для своїх листувань.
Алгоритм шифрування полягав у зсуві алфавіту на 3 літери вліво. Розглянемо його
на прикладі російського алфавіту. Спочатку записується звичайний алфавіт, потім
під ним записувався цей самий алфавіт, зсунутий на три символи ліворуч.

Рисунок 2.1 - Таблиця зсуву алфавіту на 3 символи вліво

Відповідно при шифруванні буква А замінювалася на Г, Б на Д, і т д.


Наприклад зашифроване таким чином слово

виглядатиме як

Клод Шеннон, засновник сучасної криптографії, довів, що для стійкого до


розкриття шифру необхідно мати ключ довжиною не менше, ніж вихідний текст.
Однак такий підхід, який називається "одноразовий блокнот", є дуже трудомістким і
дорогим у більшості випадків.
Визначення необхідного рівня захисту та засобів його забезпечення є
важливою задачею і повинно враховувати такі параметри, як рівень секретності
інформації, її цінність, тривалість зберігання в таємниці та інші.
За оцінками, щорічні економічні втрати від зловмисних атак на банківські
системи по всьому світу перевищують 130 мільярдів доларів.
Не всі криптографічні засоби на ринку забезпечують відповідний рівень
захисту. Оцінка ефективності системи захисту з використанням криптографічних
методів може бути складнішою, ніж розробка самої системи захисту. Часто аналіз
нового шифру є науковою або інженерною задачею.
Сучасна криптологія - це змагання методів шифрування і криптоаналізу.
Криптоаналіз - це наука про розкриття вихідного тексту зашифрованого
7

повідомлення без доступу до ключа. Успішний криптоаналіз може розкрити


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

Основні принципи криптоаналізу


1.Згідно з принципом Керкхоффа, тільки противник може оцінювати стійкість
криптосистеми.
2.Згідно з принципом Керкхоффа-Шеннона, противник знає про використану
систему до ключової інформації.
3.Принцип Жеверже показує, що поверхневі ускладнення системи можуть
створювати ілюзію стійкості.
4.При оцінці криптостійкості необхідно враховувати можливі криптографічні
помилки та порушення безпеки.

Криптограф Ларс Кнудсен запропонував класифікацію успішного


криптоаналізу блочних шифрів, залежно від обсягу та якості отриманої секретної
інформації. Ця класифікація включає:
 Повний злом - коли криптоаналітик знаходить ключ.
 Глобальна дедукція - коли криптоаналітик розробляє функціональний
еквівалент алгоритму, що дозволяє зашифрувати та розшифрувати інформацію
без знання ключа.
 Часткова дедукція - коли криптоаналітику вдається розшифрувати деякі
повідомлення.
 Інформаційна дедукція - коли криптоаналітик отримує деяку інформацію про
відкритий текст чи ключ.
 Зазвичай криптоаналіз розпочинається зі спроб злому спрощеної версії
алгоритму, а результати потім використовуються для атак на повну версію.

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

Симетричні шифри, такі як AES, DES та 3DES, є дуже швидкими і


ефективними для шифрування великих обсягів даних.
2) Асиметричне шифрування - це метод шифрування, в якому використовується
два ключі - публічний та приватний. Публічний ключ може бути відкритий для
всіх, хто хоче відправити повідомлення, тоді як приватний ключ залишається
при власнику. Шифрування відбувається з використанням публічного ключа, а
дешифрування здійснюється за допомогою приватного ключа. RSA та ECC є
прикладами асиметричних шифрів.
3) Хешування - це метод шифрування, який не може бути розшифрований. Він
використовується для створення унікальної цифрової підписи повідомлення з
фіксованою довжиною. Найпоширенішими алгоритмами хешування є MD5,
SHA-1, SHA-256 та SHA-512.
4) Секретне діління - це метод шифрування, який використовується для розподілу
секретного ключа між двома або більше користувачами. Кожен з учасників
отримує фрагмент ключа, і тільки коли всі фрагменти

Симетричне шифрування та його особливості


Розглянемо формальне визначення криптосистеми. Криптографічна система
повинна складатися з наступних компонентів:
Простір вихідних повідомлень, тобто множина рядків над деяким алфавітом;
Простір зашифрованих текстів, тобто множина всіх можливих отриманих
шифрів;
Простір ключів зашифрування та простір ключів розшифрування, тобто
множина всіх можливих ключів зашифрування та розшифрування;
Ефективний алгоритм генерації ключів;
Ефективний алгоритм шифрування;
Ефективний алгоритм розшифрування;

Симетричні криптосистеми належать до систем із секретним ключем, тобто


зашифрування і розшифрування відбуваються за допомогою однакового ключа. А
отже, відправник повинен разом із зашифрованим повідомленням передати
одержувачу і ключ.
Недоліки симетричного шифрування
Хоча симетричне шифрування є одним з найбільш широко використовуваних
методів захисту інформації, воно має кілька недоліків, зокрема:
9

1) Розповсюдження ключів: Для того, щоб забезпечити безпеку комунікації, ключі


потрібно передавати між сторонами. Це може бути проблематичним, оскільки
ключі повинні бути досить довгими та складними, щоб унеможливити їх
зламання. Також, передача ключів може бути підвергнута атакам, що може
призвести до компрометації безпеки.
2) Кількість ключів: Кількість ключів, які потрібно зберігати, залежить від
кількості користувачів, які беруть участь у комунікації. Якщо кількість
користувачів значно зростає, це може призвести до збільшення кількості ключів,
які потрібно зберігати.
3) Оновлення ключів: Ключі потрібно оновлювати регулярно, оскільки з часом
вони можуть стати вразливими до атак. Оновлення ключів може бути
проблематичним, оскільки це потребує співпраці між сторонами і може займати
час.
4) Вразливість до атаки "чоловік-в-середині" (MITM): Коли хтось, хто не має
повної доступності до ключів, втручається в процес комунікації, це може
призвести до складності забезпечення безпеки. Хоча існують методи для
запобігання атак MITM, вони можуть бути складними та недосконалими.
5) Відсутність аутентифікації: Симетричне шифрування не надає механізмів для
перевірки автентичності відправника або одержувача повідомлення. Це може
призвести до можливості атак на інформацію, коли зловмисники можуть
підробити повідомлення або здійснити атаку "людина посередині". Для рішення
цієї проблеми можуть використовуватися додаткові механізми, такі як цифровий
підпис або аутентифікація на рівні протоколу.
6) Вразливість до атак на блоки повторення: Якщо один і той же ключ
використовується для шифрування більш ніж одного повідомлення, і ці
повідомлення використовують однаковий блок, то це може призвести до
вразливості на атаку на блоки повторення. Зловмисники можуть
використовувати цю вразливість для визначення ключа та розшифрування
повідомлень.
7) Вразливість до атаки на вектор ініціалізації: Якщо використовується режим
шифрування з вектором ініціалізації (IV), то його використання може призвести
до вразливості на атаку на вектор ініціалізації. Зловмисники можуть
використовувати цю вразливість для визначення ключа та розшифрування
повідомлень.
8) Відсутність захисту від підслуховування між двома засобами зв'язку: Якщо
зловмисник може підслуховувати мережевий трафік між двома засобами зв'язку,
10

то він може зламати ключ та отримати доступ до передаваної інформації. Для


захисту від цього виду атак потрібно використовувати додаткові методи захисту,
такі як шифрування каналу зв'язку за допомогою протоколів SSL / TLS або VPN.

Симетричні криптосистеми ґрунтуються на кількох базових класах, основним


з яких є Блокові шифри:
Цей метод полягає в оборотних перетвореннях блоків тексту фіксованої
довжини, що по суті є системою підстановки на алфавіті блоків. Даний метод в
даний час є одним з найбільш поширених.
Блокові шифри - це тип симетричного шифрування, в якому відкритий текст
розбивається на фіксовані блоки даних фіксованої довжини, кожен з яких
шифрується окремо. Ключ використовується для шифрування і розшифрування
кожного блоку.
Крім того, блокові шифри можуть бути реалізовані за допомогою різних
алгоритмів, таких як DES, AES, Blowfish та інших. Кожен алгоритм має свої
особливості, які дозволяють забезпечити високий рівень захисту від злому.
Блокові шифри широко застосовуються в різних областях, включаючи захист
інформації, електронну комерцію, фінансові транзакції, зберігання даних та інші.

Розглянемо алгоритм симетричного шифрування. Із них безумовно є алгоритм


DES, що розшифровується Data Encryption Standard. Цей алгоритм був першим
схваленим міжнародним співтовариством, і він та його модифікації були
стандартами для шифрування відкритих даних (тобто не державної секретної
інформації, що має відношення до національної безпеки) аж до 2002 року, коли на
зміну йому прийшов AES.
Алгоритм DES є блоковим шифром. У цьому алгоритмі простір вихідних
текстів збігається з простором зашифрованих текстів. Зокрема, алгоритм
шифрування отримує на вхід 64-бітний текст і 56-бітний ключ, а на виході виходить
64-бітний зашифрований текст. Алгоритм дешифрування працює так само, тільки
зашифрований і звичайний текст міняються місцями.
Розглянемо роботу цього алгоритму. Її можна розділити на три кроки:
1) До блоку, що шифрується, застосовується перестановка, яка змінює 32-бітну ліву
частину блоку з 32-бітною правою. Ця перестановка є фіксованою і не несе
криптографічного значення, вона потрібна для ускладнення алгоритму в цілому.
2) Потім виконується 16 раундів шифрування, кожен зі своїм ключем. У кожному
раунді відбувається перестановка правої і лівої частин блоку (лівий блок, що
11

надходить на вхід чергового раунду, є правим блоком на виході попереднього


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

Рисунок 2.2 - Загальна схема перестановок блоків під час раундів шифрування (де Li
і Ri - ліва і права частини блоку відповідно)

3) Далі, з результатом 16 раунду проводиться ще одна перестановка, що є


зворотною до перестановки, проведеної на першому кроці.
Ці три кроки виконуються як під час зашифрування, так і під час
розшифрування. Єдиною відмінністю є порядок використання ключів, під час
дешифрування використовуються ключі шифрування у зворотному порядку.
Як ми бачимо, сутність алгоритму DES полягає у функції, що застосовується
до блоків у кожному раунді другого кроку.

Основні види криптоаналізу блокових шифрів


Диференційний, лінійний та алгебраїчне вторгнення є основними методами
криптоаналізу блокових шифрів.
1) Диференційний криптоаналіз полягає в аналізі різниць між парою вхідних
текстів та відповідних їм вихідних текстів, що можуть бути використані для
вивчення структури шифрувального алгоритму. Застосування диференційного
аналізу передбачає пошук проміжних значень, які відбуваються в процесі
шифрування, та встановлення взаємозв'язків між цими значеннями, щоб знайти
властивості шифрувального алгоритму.
2) Лінійний криптоаналіз використовує лінійні залежності між вхідними бітами,
вихідними бітами та ключем шифрування. Цей метод базується на тому, що
функція зв'язку між вхідними та вихідними бітами може бути описана лінійним
12

рівнянням, що містить коефіцієнти ключа. Лінійний криптоаналіз використовує


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

Лінійний криптоаналіз
Лінійного криптоаналізу є метод, винайдений Міцуру Мацуї, дослідник
Mitsubishi Electric. Він датується 1993 роком і спочатку був розроблений для злому
алгоритму симетричного шифрування DES . Цей тип криптоаналізу ґрунтується на
концепції, що існувала до відкриття Мацуї: лінійні ймовірнісні вирази. Їх вивчали
Анрі Гілберт і Енн Тарді-Корфдір у контексті атаки на FEAL .
Лінійний криптоаналіз ефективніший за диференціальний криптоаналіз, але
менш практичний із тієї простої причини, що припускають, що в зловмисника немає
чорної скриньки, яка символізує алгоритм шифрування, і що він не може надсилати
свої власні тексти. У разі DES для цієї атаки спочатку були потрібні пари (всі
зашифровані одним і тим самим ключем), які зловмисник зміг відновити тим чи
іншим способом. Згодом Мацуї поліпшив свій алгоритм 1994 року і запропонував
рішення з парами. Однак складність за хорошої реалізації нижча і порядку операцій
DES.
Лінійний криптоаналіз полягає в лінійній апроксимації алгоритму
шифрування шляхом його спрощення. Завдяки збільшенню кількості доступних пар
точність наближення підвищується, і ключ можна витягти. Усі нові алгоритми
шифрування мають бути обережними, щоб бути стійкими до атак цього типу. DES
не був розроблений для запобігання такого роду методів, таблиці підстановки (S-
блоки) дійсно мають певні лінійні властивості, тоді як вони були призначені саме
для додавання нелінійності до DES.

Захист від лінійного криптоаналізу


Для атаки на блочний шифр за допомогою лінійного криптоаналізу достатньо,
як було описано вище, отримати лінійне співвідношення, суттєво зміщене по
ймовірності від 1/2. Відповідно, перша мета під час проєктування шифру, стійкого
13

до атаки, — мінімізувати ймовірні зміщення, впевнитися, що подібне


співвідношення не буде існувати. Іншими словами, необхідно зробити так, щоб
блочний шифр задовольняв (строгому лавиновому критерію) (СЛК). Вважають, що
блочний шифр задовольняє СЛК, якщо при будь-якому зміненні тексту чи ключа в
отриманому шифротексті рівно половина бітів змінює своє значення на протилежне,
причому кожній біт змінюється з ймовірністю 1/2. Зазвичай це досягається шляхом
вибору високо нелінійних S-блоків з посиленням дифузії.
Даний підхід забезпечує добрі обґрунтування стійкості шифру, але, щоб
напевно доказати захищеність від лінійного криптоаналізу, розробникам шифрів
необхідно враховувати складніше явище — ефект лінійних оболонок (англ. linear
hull effect). Слід зауважити, що шифри, які оптимальні проти певного вузького класу
атак, зазвичай слабкіші проти інших типів атак. Наприклад, відомо розташування S-
блоків в DES, при якому значно підвищується стійкість до лінійного криптоаналізу,
але погіршується стійкість до диференційного криптоаналізу.
14

3.Практична реалізація

Приклад лінійного криптоаналізу


Розглянемо алгоритм шифрування, який приймає 3 біти на вході та надає 3
зашифровані біти на виході.

Рисунок 3.1 – Алгоритм шифрування

Тобто дані в чистому вигляді з 3 біт, кінцевий результат і зашифрований на 3


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

XOR - це логічний оператор "виключне або" (англ. "exclusive or"), який


приймає два бінарних значення (0 або 1) і повертає 1, якщо один зі значень 1, а
другий - 0, інакше повертає 0. Наприклад, 1 XOR 0 = 1, 0 XOR 1 = 1, 1 XOR 1 = 0, 0
XOR 0 = 0.
У криптографії, XOR використовується як операція шифрування, де дві
бінарні послідовності бітів (наприклад, ключ і повідомлення) комбінуються за
допомогою XOR, щоб отримати зашифровану послідовність бітів. Для
розшифрування повідомлення, використовують такий самий ключ і проводять
операцію XOR з зашифрованим текстом.

Шифрування

Процедура шифрування виконується таким чином:

Таким чином, ми застосовуємо XOR із проміжним ключем, щоразу замінюємо


іншою таблицею і починаємо заново.

Створення лінійного наближення


Тепер розглянемо два наступні лінійні наближення для перших двох таблиць
підстановки. :

У цьому прикладі ми згодні з тим, що перша таблиця має ймовірність 3/4, а


друга - ймовірність 2/7. Ці лінійні рівняння тепер можуть бути включені в
процедуру шифрування.

Перший крок шифрування


Спочатку у нас є
16

З наближенням за першою підстановкою S1 можна записати

Або еквівалентно , тому замінюємо :

Другий крок шифрування


Наступним кроком у шифруванні є XOR між B1 і ключем K2 . Ми напряму
інтегруємо цей результат з останнім рівнянням, отриманим на попередньому кроці:

Третій крок шифрування


На даний момент у нас є таке лінійне рівняння:

Тепер застосуємо заміну 2^e :

Підставивши:

Четвертий крок шифрування


Вихід із попереднього кроку тепер шифруються ключем так , це включає в
себе це рівняння:

У кінцевому підсумку це дає:

Складемо це рівняння, щоб згрупувати терміни:


17

У більш стислій формі:

Тепер у нас є лінійне наближення, яке залежить від:


 частина трьох проміжних ключів
 простий текст
 частина запису з останньої таблиці підстановки

Застосовуючи лему Мацуї про Piling-Up і задавши їй значення 0 або 1, ми


можемо визначити ймовірність того, що це рівняння правильне. У нас є два
наближення, для яких ми знаємо ймовірності (завдяки аналізу ящиків підстановки).
З двома наближеннями n = 2:

Наше наближення має шанс бути правильним приблизно 3 з 5. Намагаючись


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

Вирішальним кроком у лінійному криптоаналізі є відновлення останнього


ключа, який виконує цикл шифрування після останньої підстановки.

Відновлення ключа
18

Рисунок 3.2 - Відновлення ключа з кінця і порівняння результатів з лінійною оцінкою

У нас є приблизне значення перших 3 раундів нашого алгоритму шифрування,


але в нашому випадку відсутній ключ останнього раунду. Ось тут-то і стануть у
пригоді доступні нам зашифровані повідомлення. Беремо повідомлення і
намагаємося його розшифрувати, перевіряючи всі можливі ключі. Нас більше
цікавлять результати наприкінці шифрування. Зокрема, ми беремо зашифроване
повідомлення і виконуємо операцію XOR з останнім ключем :

Це відповідає вихідним даним останньої таблиці підстановки. Тепер


проводять протилежний варіант.
Однак це значення фактично відповідає лівій частині нашого лінійного
рівняння. Ми маємо:

Таким чином, ми можемо оцінити достовірність перевірених ключів,


порівнявши точне значення, що повертається зворотною заміною, і нашу лінійну
апроксимацію для всіх або частини бітів. За великої кількості пар повідомлень
оцінки можна зробити більш точними. Щоб виявити інші проміжні ключі, ми
атакуємо алгоритм, поступово піднімаючись вежами, поки не досягнемо першого
ключа.
У складніших шифрах, таких як DES, нас цікавить тільки частина підключів,
щоб знизити складність атаки. Подальше вивчення дає нам змогу визначити, які біти
останнього підключа дійсно впливають на лінійне наближення. У своєму прикладі з
DES із 8 витків Мацуї вказує, що, незважаючи на наявність останнього ключа (із 48
біт) у рівнянні, тільки 6 бітів цього останнього ключа впливають на член, у якому
він з'являється.

Приклад шифрування за допомогою DES

Шифрування
Відкритий текст: 123456ABCD 132536
Ключ: AABB09182736CCDD
Після початкової перестановки: 14A7D67818CA18D
Після розбиття: L0 = 14A7D678; R0 = 18CA18D
Раунд Лівий Правий Підключ
19

напівблок напівблок раунду


Раунд 1 18CA18AD 5A78E394 194CD072DE8C
Раунд 2 5A78E394 4A1210F6 4568581ABCCE
Раунд 3 4A1210F6 B8089591 06EDA4ACF5B5
Раунд 4 B8089591 236779C2 DA2D032B6EE3
Раунд 5 236779C2 A15A4B87 69A629FEC913
Раунд 6 A15A4B87 2E8F9C65 C1948E87475E
Раунд 7 2E8F9C65 A9FC20A3 708AD2DDB3C0
Раунд 8 A9FC20A3 308BEE97 34F822F0C66D
Раунд 9 308BEE97 10AF9D37 84BB4473DCCC
Раунд 10 10AF9D37 6CA6CB20 02765708B5BF
Раунд 11 6CA6CB20 FF3C485F 6D5560AF7CA5
Раунд 12 FF3C485F 22A5963B C2C1E96A4BF3
Раунд 13 22A5963B 387CCDAA 99C31397C91F
Раунд 14 387CCDAA BD2DD2AB 251B8BC717D0
Раунд 15 BD2DD2AB CF26B472 3330C5D9A36D
Раунд 16 CF26B472 19BA9212 181C5D75C66D
Після об'єднання: 19BA9212 CF26B472
Зашифрований текст: C0B7A8D05D05F3A829C
(після кінцевої перестановки)
Таблиця 1 – Шифрування DES

Дешифрування
Ключ 1-го раунду розшифрування - такий самий як ключ 16-го раунду
зашифрування.
Зашифрований текст: C0B7A8D05D05F3A829C
Після початкової перестановки: 19BA9212 CF26B472
Після розбиття: L0 = 19BA9212 R0 = CF26B472
Раунд Лівий Правий Підключ
напівблок напівблок раунду
Раунд 1 CF26B472 BD2DD2AB 181C5D75C66D
Раунд 2 BD2DD2AB 387CCDAA 3330C5D9A36D
……. ……. ……. …….
Раунд 15 5A78E394 18CA182AD 4568581ABCCE
Раунд 16 19BA9212 18CA18AD 194CD072DE8C
20

Після об'єднання: 14A7D67818CA18D


Вихідний текст: 123456ABCD 132536 (після кінцевої перестановки)
Таблиця 2 – Дешифрування DES
ВИСНОВКИ
В даній курсовій роботі був проведений аналіз методу криптоаналізу блокових
симетричних шифрів. Досліджено основні принципи симетричного шифрування,
криптоаналізу, лінійного криптоаналізу, необхідність врахування криптографічних
помилок та порушень безпеки при оцінці криптостійкості.
Дослідження показали, що криптоаналіз є важливою складовою
криптографічних систем і вимагає ретельного аналізу, оцінки і вдосконалення
методів захисту. Відповідний рівень захисту інформації потрібно вибирати з
урахуванням рівня секретності, ціни і тривалості зберігання інформації в таємниці.
Узагальнюючи отримані результати, можна стверджувати, що детальний
аналіз методу криптоаналізу блокових симетричних шифрів допомагає виявляти
потенційні вразливості і розробляти ефективні заходи для забезпечення стійкості
криптографічних систем.
21

Список використаних джерел


1. Баришев Ю. В., В. А. Лужецький Методи та засоби швидкого
багатоканального гешування даних в комп’ютерних системах : монографія за заг.
ред. В. А. Лужецького. Вінниця, ВНТУ, 2016. 144 с.
2. О.Н. Жданов, В. В. Золотарев. Методы и средств криптографической
защиты інформації.]. URL: http://window.edu.ru/catalog/pdf2txt/755/66755/39526?
p_page=1 (дата звернення: 23.02.2021).
3. Баришев Ю. В., В. А. Лужецький Методи та засоби швидкого
багатоканального гешування даних в комп’ютерних системах : монографія за заг.
ред. В. А. Лужецького. Вінниця, ВНТУ, 2016. 11 с.
4. Горбенко І. Д. Прикладна криптологія: Монографія / Горбенко І. Д.,
Горбенко Ю.І. видання 2-ге. – Харків : Форт, 2012. – 868 с.
5. Даємен, Й., та Реймен, В. (2002). Дизайн Рейнделя: AES - Advanced
Encryption Standard. Springer.
6. Фергюсон, Н., Шнайер, Б., та Коно, Т. (2010). Криптографічна інженерія:
принципи дизайну та практичні застосування. Wiley.
7. Каліскі, Б. С. (2000). Режими роботи блокових шифрів. NIST Special
Publication 800-38A.
8. Келсі, Дж., та Шнайер, Б. (1996). Криптоаналітичні атаки на
псевдовипадкові генератори чисел. Springer.
9. Кнудсен, Л. Р. (1994). Криптоаналіз блокових шифрів. Springer.
10. Мацуї, М. (1993). Лінійний метод криптоаналізу шифру DES. Advances in
Cryptology - EUROCRYPT 1993, 386-397.
11. Шнайер, Б. (1996). Прикладна криптографія: протоколи, алгоритми та
вихідний код на С. Wiley.
12. Шнайер, Б. (2007). Криптографічна інженерія: принципи дизайну та
практичні застосування. Wiley.
13. Стінсон, Д. Р. (2005). Криптографія: теорія та практика. Chapman and
Hall/CRC.
14. Діффі, У., та Хеллман, М. Е. (1976). Нові напрямки в криптографії. IEEE
Transactions on Information Theory, 22(6), 644-654.
15. Національний інститут стандартів і технологій. (2001). Федеральний
стандарт обробки інформації 197: Advanced Encryption Standard (AES).

You might also like