You are on page 1of 23

Міністерство освіти і науки України

Харківський національний університет радіоелектроніки

Кафедра безпеки інформаційних технологій

Звіт
з лабораторної роботи №2
з дисципліни «Криптосистеми і протоколи»

Виконали: Перевірив:
ст. гр. КБІКС-21-4 асистент кафедри БІТ
Кокін С. В. Кібірєв Д. О.
Пліщенко В. С.
Томченко О. Ю.

2023
2 РЕАЛІЗАЦІЯ ТА ТЕСТУВАННЯ СТАНДАРТИЗОВАНИХ
АЛГОРИТМІВ ПСШ. ДОСЛІДЖЕННЯ ВЛАСТИВОСТЕЙ ПОТОЧНИХ
ШИФРІВ

2.1 Мета роботи.


Вивчення основних вимог до потокових шифрів та можливостей їх
використання. Ознайомлення з методикою проведення досліджень та
дослідження основних властивостей потокових шифрів.

2.2 Теоретична частина.

2.2.1 Потокові шифри


Потоковий шифр - це симетричний шифр, у якому кожен символ
відкритого тексту перетворюється на символ шифрованого тексту залежно як
від використовуваного ключа, а й його розташування у потоці відкритого
тексту. Поточний шифр реалізує інший підхід до симетричного шифрування,
ніж блокові шифри, оскільки блочне шифрування навпаки розділяє вхідний
текст на фіксовані блоки, які обробляються окремо. Кожен блок
обробляється залежно від ключа, і величина блоку може варіюватися в
залежності від конкретного алгоритму. Такі шифри використовуються для
шифрування фіксованого обсягу даних і можуть використовуватися для
широкого спектру застосувань, включаючи захист інформації на різних
рівнях безпеки.
У основі таких шифрів є шифр XOR. З тією відмінністю, що гама для
шифру XOR формується за певним алгоритмом, який є криптостійким
генератором (з використанням ключа) псевдовипадкової послідовності
символів.
Велику популярність потоковим шифрів принесла робота Клода
Шеннона, опублікована в 1949 році, в якій Шеннон довів абсолютну
стійкість шифру Вернама. У шифрі Вернама ключ має довжину, рівну
довжині самого переданого повідомлення. Якщо кожен біт ключа
вибирається випадково, то розкрити шифр неможливо (тому що всі можливі
відкриті тексти будуть рівноймовірнісними). Шифри, в яких довжина ключа
менша від довжини тексту, згідно з Шенноном, не можуть бути «ідеально
безпечними». Для таких шифрів вводять інше розуміння безпечності.

2.2.2 Типи потокових шифрів


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

2.2.2.1 Синхронні потокові шифри


В синхронному потоковому шифрі потік псевдовипадкових цифр
породжується незалежно від відкритого тексту і шифротексту повідомлення,
і тоді поєднується з відкритим текстом (для шифрування) або шифротекстом
(для розшифрування). В найпоширенішій формі використовуються двійкові
цифри (біти), і потік ключа поєднується з відкритим текстом за допомогою
XOR. Тут вживається термін двійковий адитивний потоковий шифр (англ.
binary additive stream cipher).
В синхронних шифрах, відправник і отримувач повинні іти точно в
ногу для успішного розшифрування. Якщо цифра додана або видалена з
потоку під час передачі, синхронізація втрачається. Для відновлення
синхронізації, з ціллю отримання правильного відкритого тексту
автоматично пробуються різні зсуви. Інший підхід полягає в використанні
позначок у шифротексті з визначеною регулярністю.
Однак, якщо цифра пошкоджена, тоді це вплине лише на одну цифру
в відкритому тексті і помилка не пошириться на інші частини повідомлення.
Ця властивість корисна у випадку високої схильності до помилок під час
передачі; однак це робить менш імовірним виявлення помилки без
додаткових механізмів. Більше того, через цю властивість, потокові шифри
дуже сприйнятливі до активних атак — якщо нападник може змінити цифру
в шифротексті, він може змінити біт і в відкритому тексті; наприклад, зміна
біту в шифротексті спричиняє зміну того самого біту в відкритому тексті.

2.2.2.2 Потокові шифри, що самосинхронізуються


Інший підхід використовує декілька з N попередніх цифр
шифротексту для обчислення потоку ключа. Така схема відома як потокові
шифри, що самосинхронізуються, асинхронні потокові шрифти або
шифротекст з автоключем. Ідею асинхронних шифрів запатентували в 1946, і
вона має перевагу, що отримувач автоматично синхронізується з генератором
потоку ключів по отриманні N цифр шифротексту, що полегшує відновлення
у випадку, якщо до потоку додана чи видалена цифра. Помилки з однієї
цифри обмежені в своєму впливі, зачіпаючи не більше ніж N цифр
відкритого тексту.
Прикладом асинхронного потокового шифру є блоковий шифр в
режимі зворотного зв'язку по шифртексту (CFB).

2.2.3 SOSEMANUK
Sosemanuk - синхронний потоковий шифр, розроблений у листопаді
2004 року групою французьких вчених на чолі з Комом Бербеном. У квітні
2008 року став одним із фіналістів проекту eStream за профілем 1
(високоефективні потокові шифри для програмної реалізації). Згідно з
портфоліо проекту eStream, Sosemanuk є повністю вільним програмним
забезпеченням з відкритим вихідним кодом, яке може бути використане для
будь-яких цілей, включаючи комерційні.
В основі Sosemanuk лежить потоковий шифр SNOW 2.0 та усічений
варіант блокового шифру SERPENT. Його довжина ключа варіюється між
128 і 256 бітами, а ініціалізації використовується 128-битное початкове
значення (англ. initial value). Як стверджують автори шифру, будь-яка
довжина ключа забезпечує 128-бітову безпеку.[4]
Шифр стійкий до всіх відомих видів атак. Найуспішніша атака на
Sosemanuk оцінювалася 2138 порядком складності, що, тим не менш, гірше за
заявлену складність у 128 біт [5].
У реалізації шифру Sosemanuk було виправлено деякі структурні
недоліки SNOW 2.0, а також збільшено продуктивність за рахунок
зменшення розміру зовнішніх та статичних даних.

Рис. 2.1 – Огляд праці шифру SNOW 2.0

Як і потоковий шифр SNOW, алгоритм Sosemanuk використовує два


основні поняття: регістр зсуву з лінійним зворотним зв'язком (LFSR) та
кінцевий автомат (FSM). Так, дані, отримані за допомогою LFSR, надходять
на вхід FSM, де відбувається їхнє нелінійне перетворення. Потім до чотирьох
вихідних значень кінцевого автомата застосовується таблична заміна (S-box)
та XOR з відповідними значеннями регістра зсуву. Розклад ключів для
шифру складається за допомогою примітиву Serpent24 - усіченого варіанта
SERPENT. Крім того, вихідні значення дванадцятого, вісімнадцятого та
двадцять четвертого раунду Serpent24 використовуються для ін'єкції
початкового значення: завдання стану LSM та регістрів FSM.
Слід зазначити, що Sosemanuk використовує регістр зсуву довжини
10, тоді як у SNOW його довжина дорівнювала шістнадцяти. Крім того, у
FSM операція застосування S-box замінена на операцію Trans, що
представляє собою множення над 32-бітним полем і подальший цикл
побітовий зсув.

Рис. 2.2 – Огляд праці шифру Sosemanuk

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


атак, якіми тестували алгоритм, вони наведені у таблиці 2.1. Після того, як
шифр став широко відомий у криптографічному співтоваристві, в літературі
було опубліковано кілька нових атак на Sosemanuk (таблиця 2.2). Тим не
менш, спочатку заявлена складність у 128 біт так і не була зламана.
Таблиця 2.1 – Атаки, передбачені розробниками

Назва атаки Опис

Компроміс часу та даних Атака компромісу часу та даних (англ. Time-


memory-data tradeoff attack) заснована на
припущенні, що зловмиснику відомий
алгоритм шифрування та вихідне значення.
Автори шифру розглядають випадок
відновлення пари "ключ - початкове
значення". У зв'язку зі 128-бітною довжиною
ключа і такою самою довжиною початкового
значення складність такої атаки оцінюється
2128 кількістю операцій.
Кореляційна атака За твердженням авторів, відомі кореляційні
атаки (англ. Correlation attacks) на шифр
SNOW не має сенсу застосовувати до шифру
Sosemanuk, у зв'язку з тим, що лінійні
співвідношення вхідних та вихідних даних не
зберігаються після застосування алгоритму
Serpent1.

Розрізняюча атака В описі шифру розглянуті відомі на момент


розробки атаки, що розрізняють (англ.
Distinguishing attacks) на шифр SNOW. У
явному вигляді вони не можуть бути
застосовані до Sosemanuk через складність
підбору маски після застосування Serpent1.

Алгебраїчна атака Розробники шифру вважають, що жодна з


відомих на момент розробки атак алгебри
(англ. Algebraic attacks) не застосовна до
шифру через неможливості явно обчислити
алгебраїчну імунність (англ. algebraic
immunity) вихідних функцій від вхідних
значень.
Таблиця 2.2 – Нові атаки
Назва атаки Опис
Guess-and-Determine Attack У 2006 році колектив вчених з Японії та
Ірану, Юкіясу Цуно (Yukiyasu Tsunoo) Теруо
Сайто (Teruo Saito) та ін, представили атаку
«Припускай і визначай» складністю 2224. Для
її здійснення необхідно знати 16 слів
ключового потоку. При цьому збільшення
довжини ключа веде до зменшення складності
атаки. Атака ґрунтується на припущенні, що
останній значний біт у регістрі R1t-1 кінцевого
автомата в момент часу t t дорівнює нулю.
Якщо за t = 1 t=1 це твердження не
виконується, зламати шифр даним способом
не вийде.
Using Linear Masks Attack У 2008 році на конференції
ASIACRYPT[en] вчені з Кореї Юнг-Кеун Лі,
Донг Хун Лі та Парк Сангву представили
кореляційну атаку на Sosemanuk за
допомогою використання методу лінійної
маски (linear masking method). Складність
такої атаки становила 2148, і внутрішній 384-
бітовий стан відновлювався з ймовірністю
99%. Для проведення атаки використовується
лінійна апроксимація з коефіцієнтом
кореляції 2-21.41, побудована за словами
ключового потоку та початкового стану
регістра зсуву. При цьому початковий стан
LFSR відновлюється за допомогою швидкого
перетворення Волша.

2.2.4 Продуктивність SOSEMANUK


Цей розділ присвячено продуктивності програмного забезпечення
Sosemanuk. Він порівнює продуктивність Sosemanuk і SNOW 2.0 на кількох
архітектурах для генерація потоку ключів і налаштування ключа.
Розмір коду. Основний розгорнутий цикл передбачає розмір коду від 2
до 5 КБ залежно від платформа і компілятор. Тому весь код поміщається в
кеш L1.
Статичні дані. Еталонна реалізація C використовує статичні таблиці
даних із рівним загальним розміром до 4 Кб. Цей обсяг у 3 рази менший за
розмір статичних даних, необхідних у SNOW 2.0, що призводить до меншого
тиску на кеш дати.

2.2.5 Переваги та недоліки SOSEMANUK


Переваги та недоліки алгоритму наведені відповідно у таблицях 2.3 та
2.4.
Таблиця 2.3 – Переваги SOSEMANUK
Назва Опис
Безпека SOSEMANUK використовує надійний і
криптографічно стійкий дизайн, що робить його
відповідним для застосувань в сфері інформаційної
безпеки.
Продуктивність Він володіє хорошою швидкістю роботи, що робить
його придатним для застосувань у великих об'ємах
даних та забезпечує високий рівень продуктивності.
Стійкість до атак SOSEMANUK стійкий до багатьох типів атак,
включаючи атаки на основі диференціалів і лінійні
криптоаналітичні атаки.
Компактність Алгоритм SOSEMANUK відносно компактний, що
дозволяє використовувати його в ресурсозберігаючих
середовищах.
Таблиця 2.4 – Недоліки SOSEMANUK
Назва Опис
Нерозповсюджений SOSEMANUK, можливо, не так широко
використовується порівняно з іншими шифрами,
такими як AES. Це може призводити до меншого
рівня перевірки безпеки та аудитування.
Ключовий розклад Якщо використовується невелика кількість
раундів або великий ключ, може виникнути
проблема стійкості до криптоаналітичних атак на
ключовий розклад.

Висновок.
На даній лабораторній роботі ми вивчили основні вимоги до потокових
шифрів та можливостей їх використання. Ознайомилися з методикою
проведення досліджень та дослідження основних властивостей потокових
шифрів. Реалізували та дослідили алгоритм шифрування SOSEMANUK.

2.3 Контрольні запитання та відповіді.


1. Які основні вимоги до потокових шифрів? Поясніть їх.
Потокові шифри - це шифри, які застосовуються для шифрування
потоку даних, такого як текст або аудіо, зазвичай біт за бітом. Основні
вимоги до потокових шифрів включають:
1. Безпека: Вимога безпеки означає, що потоковий шифр повинен бути
стійким до криптоаналізу. Це включає стійкість до різних видів атак,
таких як атаки з використанням великих обчислювальних ресурсів,
методів аналізу даних, спрямованих на виявлення слабкостей у
шифруванні тощо.
2. Ключі безпеки: Ключі, які використовуються для генерації потокового
потоку, повинні бути надійними і випадковими. Навіть найсильніший
алгоритм може бути компрометований, якщо ключі слабкі або
передбачувані.
3. Легкість реалізації: Хоча складність алгоритму важлива для безпеки,
важливо також, щоб алгоритм був практичним для реалізації. Це
означає, що він має бути ефективним з точки зору виконання на різних
платформах та пристроях.
4. Паралельна обробка: Однією з важливих характеристик потокових
шифрів є їх здатність до паралельної обробки даних. Це важливо для
сучасних систем, де одночасно обробляються великі об'єми даних.
5. Швидкодія та ефективність: Швидкодія шифрування та
розшифрування є ключовими для застосувань, де потрібна обробка
даних в реальному часі. Потрібно забезпечити високу швидкодію при
мінімальному використанні ресурсів.
6. Стійкість до атак: Потоковий шифр повинен бути стійким до різних
видів атак, таких як криптоаналіз, атаки з відомим текстом, атаки зі
зміненим текстом тощо.
7. Генерація псевдовипадкового потоку: Важливо мати надійний
генератор псевдовипадкового потоку, який буде надійно маскувати
вхідні дані та генерувати криптографічно стійкі послідовності для
шифрування.

2. Побудуйте структурну схему потокового шифрування з


використанням шифру SNOW.
Рисунок 2.3 – Структурна схема потокового шифрування з
використанням шифру SNOW

3. Побудуйте ЛРР над полем GF(232), якщо примітивний поліном


16 13 7
f ( x )=x + x + x + x +1.

Рисунок 2.4 - Регістр зсуву з лінійним зворотним зв’язком (конфігурація


Галуа)
У регістрі Галуа кожне значення на виході (у кожному такті) додається
до значення у відповідних розрядах. Тому тільки останній, правий біт
дорівнює значенню на виході регістру. Усі інші розряди містять деякі
проміжні значення.
Крок 0: 11111111111111111
Крок 1: 10110111110111110
Крок 2: 01011011111011111
Крок 3: 11100101110101110
Крок 4: 01110010111010111
Крок 5: 11110001010101010
Крок 6: 01111000101010101
Крок 7: 11110100011101011
Крок 8: 10110010000110100
Крок 9: 01011001000011010
Крок 10: 00101100100001101
Крок 11: 11011110011000111
Крок 12: 10100111000100010
Крок 13: 01010011100010001
Крок 14: 11100001111001001
Крок 15: 10111000110100101
Крок 16: 10010100010010011
Крок 17: 10000010000001000
Крок 18: 01000001000000100
Крок 19: 00100000100000010
Крок 20: 00010000010000001
Крок 21: 11000000000000001
Крок 22: 10101000001000001
Крок 23: 10011100001100001
Крок 24: 10000110001110001
Крок 25: 10001011001111001
Крок 26: 10001101101111101
Крок 27: 10001110111111111
Крок 28: 10001111010111110
Крок 29: 01000111101011111
Крок 30: 11101011111101110
Крок 31: 01110101111110111
Лінійна рекурентна послідовність: 10101011 00110111 10001111
1111010.
4. Поясніть алгоритм функціонування кінцевого автомату шифру
SNOW.
КА(кінцевий автомат) SNOW використовує лінійний зворотний зв'язок
для генерації бітової послідовності, яка потім змішується та обробляється за
допомогою нелінійного засобу змішування, створюючи вихідний потік
ключів для шифрування даних. Нижче описано алгоритм:
1. Початкові установки: КА шифру SNOW має вихідний стан
(стартовий стан), який визначає його початкове положення. Це стан, з
якого починається генерація потоку ключів.
2. Генерація ключа: КА SNOW використовує внутрішній регістр
(лінійний зворотний зв'язок - LFSR) для генерації бітової
послідовності. Цей регістр складається з набору бітів, які комбінуються
за допомогою лінійних зсувів та операцій XOR.
3. Обробка даних та генерація ключів: Лінійний зворотний зв'язок
(LFSR) працює, зміщуючи та комбінуючи свої біти згідно з заданими
правилами. Він генерує потік бітів, який потім змішується з ключами,
що генеруються за допомогою ключового розгалуженого засобу (КРЗ).
4. Нелинійне перетворення (NLF): Біти, що згенеровані LFSR,
змішуються та перетворюються за допомогою нелинійного засобу
змішування (NLF), що додає стійкість та складність до шифру.
5. Вихідний потік ключів: Результатом роботи КА SNOW є вихідний
потік ключів, який використовується для шифрування потоку даних.
Цей потік може використовуватися для XOR-операції з вхідним
текстом для шифрування або розшифрування даних.

5. Назвіть основні показники оцінки властивостей гамми шифруючої.


1. Стійкість до криптоаналізу: Гамма-шифр має бути стійким до
різних методів криптоаналізу, таких як криптографічний аналіз з
відомим текстом, криптографічний аналіз зі зміненим текстом,
лінійний та диференціальний криптоаналіз. Це важливо для
забезпечення високого рівня безпеки шифру.
2. Періодичність та некорельованість: Якісний генератор гами
повинен мати досить довгий період (періодичність), щоб уникнути
повторення послідовностей ключів. Крім того, біти гами повинні
бути некорельованими, тобто вони не повинні мати статистичних
залежностей між собою.
3. Рівномірність розподілу: Біти, що генеруються гаммою, повинні
мати рівномірний розподіл, тобто кожен біт має однакову ймовірність
виявитися 0 або 1.
4. Випадковість: Гамма-шифр повинен забезпечувати високий рівень
випадковості у виборі бітів, що генеруються, щоб ускладнити
передбачення ключів.
5. Ефективність обчислень: Для практичного застосування важливо,
щоб генератор гами був ефективним з точки зору ресурсів обчислень,
особливо у відомих областях, де швидкість та обчислювальні
можливості обмежені.

6. Розробіть алгоритм формування таблиці підстановки типу 8 бітів у 8


бітів.
1. Треба обрати необхідну кількість вхідних та вихідних бітів. В
даному випадку це 8 бітів для входу та 8 бітів для виходу, але це може
відрізнятися від алгоритму до алгоритму.
2. Треба згенерувати таблицю замін. Можна генерувати S-Box
вручну або випадковим чином, але важливо, щоб він був бієктивним
(кожному входу відповідав лише один вихід) і без відомих слабкостей.
3. Перевірка властивостей. Треба переконатися, що S-Box відповідає
стандартним вимогам для криптографічних S-Box, таким як диференційні та
лінійні властивості, інваріантність відносно зсуву, тощо.
4. Перевірка стійкості до криптоаналізу. Треба виконати
криптоаналіз для визначення стійкості S-Box до різних видів атак, таких як
диференціальний аналіз, лінійний аналіз, кореляційний аналіз тощо.
5. Треба використовувати S-Box у криптографічному алгоритмі:
Після створення S-Box можна використовувати його в криптографічному
алгоритмі, наприклад, для заміни бітів в блоках даних.

7. Оцініть структурну скритність гамми, що формується на виході ЛРР


шифру SNOW.
Оцінка структурної складності гами SNOW вимагає аналізу конкретної
конфігурації ЛРЗ, алгоритмів зсуву та змішування бітів, а також стійкості до
криптоаналізу. Зазвичай шифри, як SNOW, розробляються з метою стійкості
до атак та мають високу структурну складність для ускладнення їх взлому чи
передбачення.
1. Розмір та конфігурація регістру: Складність гами може залежати від
розміру регістру (кількості бітів) та його конфігурації. Чим більше бітів
в регістрі, тим більше можливостей для генерації різноманітних
послідовностей бітів.
2. Алгоритм зсуву та змішування бітів: Важливою є сама процедура
зсуву бітів у регістрі та їх подальше змішування. Складність може
залежати від використаних логічних операцій (наприклад, XOR) та
алгоритмів, які впливають на згенеровану послідовність.
3. Стійкість до криптоаналізу: Структурна складність також може
враховувати стійкість регістру до різних методів криптоаналізу. Це
включає аналіз лінійних та диференціальних властивостей, що можуть
допомогти зрозуміти, наскільки важко взламати або передбачити
послідовності бітів.
4. Ключові властивості (початковий стан, ключі): Структурна
складність гами може бути пов'язана із складністю ключових аспектів,
таких як початковий стан регістру та ключі, які використовуються для
генерації гами. Вони впливають на складність генерації та
різноманітність згенерованих послідовностей.

8. Які показники оцінки псевдовипадковості використовуються в


стандарті FIPS-140-2?
1. Статистична рівновага: Генератор випадкових чисел повинен
виглядати як випадковий процес, тобто розподілення ймовірностей виходу
ГВЧ повинно бути рівномірним і відповідати рівномірному розподіленню.
2. Незалежність: Виходи ГВЧ не повинні мати залежності один від
одного, і жоден біт виходу не повинен бути передбачуваним на основі інших
виходів.
3. Інші властивості: Відсутність кореляції між послідовними
виходами, відсутність циклічних структур у виходах, а також відсутність
слабких ключів або початкових станів.
4. Мінімальна довжина виходу: Мінімальна довжина виходу ГВЧ
повинна відповідати стандарту, зазвичай, вимагається досить велика довжина
виходу, щоб запобігти перебору ключів.
5. Тестування на відповідність стандарту: ГВЧ повинен успішно
пройти набір тестів, які встановлені відповідно до стандарту FIPS 140-2 для
оцінки якості генератора.

9. Яким чином оцінити лінійну еквівалентну складність гамми


шифруючої?
Оцінка лінійної еквівалентної складності гамми шифруючої включає
аналіз можливих лінійних залежностей між вхідними та вихідними бітами
генератора гами. Це одна з ключових властивостей, яка може бути
використана для криптоаналізу та злому криптографічного алгоритму.
Основні кроки для оцінки лінійної еквівалентної складності гамми:
1. Збір лінійних рівнянь: Першим кроком є збір лінійних рівнянь, що
описують відносини між вхідними та вихідними бітами генератора
гами. Ці рівняння виражають вихідні біти через комбінацію вхідних
бітів та їх лінійні комбінації.
2. Складність розв'язання системи рівнянь: Наступним кроком є аналіз
цих рівнянь, щоб визначити кількість лінійних рівнянь, які потрібно
розв'язати для отримання ключа. Важливо оцінити кількість рівнянь та
необхідний обсяг обчислень для відновлення ключа.
3. Стійкість до атак: Гамма-шифр вважається стійким до лінійного
криптоаналізу, якщо лінійна еквівалентна складність дуже велика, а
виявлення лінійних відносин між вхідними та вихідними бітами
вимагає великої кількості обчислень.
4. Пошук оптимальних атак: Криптоаналітик може шукати оптимальні
комбінації лінійних відносин, які дають можливість відновлення ключа
з меншою кількістю обчислень.

10. Дайте класифікацію аналітичних атак на потоковий шифр.


Аналітичні атаки на потокові шифри - це методи аналізу даних, які
використовуються для злому шифру чи відновлення ключа, використовуючи
хиби, слабкості чи властивості шифрування. Основні класи аналітичних атак
на потокові шифри включають:
1. Атаки на статистику бітів: Ці атаки використовують статистичні
властивості потоку шифру, такі як розподіл бітів, кореляції між бітами,
виявлення нерегулярностей та інші статистичні аномалії для
виявлення ключа чи відновлення інформації.
2. Лінійний криптоаналіз: Цей тип атак використовує лінійні відносини
між бітами у шифрі для виявлення ключа або розшифрування
інформації. Лінійний криптоаналіз спробує побудувати лінійні
рівняння, які відображають взаємозв'язки між бітами відкритого тексту
та шифротексту.
3. Диференціальний криптоаналіз: Ця атака вивчає вплив змін вхідних
бітів на вихідні біти з метою виявлення шаблонів, які допоможуть у
відновленні ключа або відкритого тексту.
4. Відомий-текст/змінений-текст атаки: Атаки, які використовують
відомий або змінений текст для виявлення ключа. Відомий-текстова
атака передбачає використання пар відкритий/шифрований текст, тоді
як змінений-текстова атака передбачає зміни у вхідних бітах для
аналізу впливу на вихідний потік.
5. Часткова інформація атаки: Ці атаки використовують обмежену або
часткову інформацію про ключ або шифровані дані для злому шифру
або відновлення ключа.

11.В чому сутність та при яких умовах можна здійснити кореляційну


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

12.В чому сутність базових кореляційних атак? Які їх переваги та


недоліки?
Сутність базових кореляційних атак полягає у використанні
статистичних властивостей шифру для виявлення кореляційних залежностей
між вхідними та вихідними бітами. Основні види кореляційних атак
включають.
1. Кореляційний аналіз бітів ключа: Ця атака використовує кореляції
між бітами ключа та вихідними бітами шифру для виявлення частини
або повного ключа. Вона може базуватися на відомих залежностях між
певними бітами ключа та шифротекстом.
2. Кореляційний аналіз відкритого тексту: Тут використовуються
кореляції між відомими або уявлюваними властивостями відкритого
тексту та вихідними бітами шифру для виявлення ключа чи певних
ділянок його.
3. Кореляційний аналіз шаблонів: В цьому випадку атакуючий
використовує кореляції між конкретними шаблонами відкритого тексту
та їх відображеннями в шифрованому вигляді для отримання
інформації про ключ.
 Переваги базових кореляційних атак:
- Ефективність: Якщо атака успішна, вона може бути дуже ефективною
і дозволяє відновити ключ шифрування.
- Вимоги до тексту: На відміну від деяких інших атак, кореляційні
атаки не вимагають доступу до великої кількості шифрованих текстів.
Вони можуть використовувати вихідні біти шифру для аналізу.
 Недоліки базових кореляційних атак:
- Залежність від статистичних особливостей: Ефективність
кореляційних атак може суттєво залежати від наявності виражених
статистичних властивостей у шифрі. Якщо властивості не є достатньо
виразними або досить складними для виявлення, атака може бути менш
ефективною або навіть непридатною.
- Обмежена придатність до практичних ситуацій: Деякі кореляційні
атаки можуть вимагати великої кількості даних або специфічних умов,
щоб бути успішними. Це може зробити їх менш придатними для
практичних сценаріїв, де обмежена доступність даних або ресурсів.
- Залежність від знання або припущень про відкритий текст: Деякі
кореляційні атаки можуть вимагати певного рівня знань про відкритий
текст або його властивості. Якщо ця інформація не доступна чи
неправильно припущена, ефективність атаки може зменшитися.

13.В чому сутність атак, що основані на канволюційних кодах? При


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

14. В чому сутність атак, що базуються на відновленні лінійних


поліномів?
Сутність цих атак полягає в використанні математичних властивостей
лінійних поліномів для визначення параметрів або структури шифрованого
потоку, з метою отримання інформації про ключ або оригінальний відкритий
текст.
Основні сутності атак полягає у наступному:
1. Знаходження структури лінійних поліномів: Злоумисники
використовують математичні методи для аналізу структури лінійних
поліномів, які використовуються у криптографічних схемах.
2. Виявлення слабких місць: Атаки можуть спрямовуватися на
виявлення слабких місць у використовуваних лінійних поліномах, що
може допомогти відновленню ключа або розкриттю інформації.
3. Аналіз взаємозв'язків між бітами ключа та даними: Ці атаки
можуть використовувати взаємозв'язки між бітами ключа та вихідними
даними для виявлення шаблонів, що допомагають у відновленні ключа
або розкритті інформації.

15. В чому сутність та при яких умовах може бути реалізована швидка
кореляційна атака Чепижова?
Швидка кореляційна атака Чепижова – це атака на потокові шифри, яка
базується на використанні кореляційних властивостей вихідної послідовності
шифру і послідовності змінюваних бітів ключа. Основна суть атаки полягає в
тому, щоб виявити кореляції між вихідними бітами шифрованого тексту і
певними бітами ключа.
Сутність цієї атаки полягає в обчисленні кореляційних характеристик
між вихідними бітами шифру та відомими бітами ключа або відкритого
тексту. Вона базується на припущенні, що існують взаємозв'язки між
вихідними бітами шифру та відомими бітами ключа чи деякими відомостями
про відкритий текст. Знаходження цих взаємозв'язків дозволяє зловмисникам
використовувати кореляційний аналіз для виявлення ключа.
Умови для успішної реалізації швидкої кореляційної атаки
Чепижова можуть включати:
1. Доступ до достатньої кількості шифрованих даних: Потрібна
достатня кількість шифрованих текстів для аналізу кореляційних
взаємозв'язків.
2. Знання структури шифру: Розуміння структури шифрування та його
властивостей, таких як методи генерації ключа чи особливості
алгоритму, є важливими для успішної атаки.
3. Ефективність алгоритмів аналізу: Швидка обчислювальна
спроможність для обробки великих обсягів даних та виконання
кореляційного аналізу є важливими умовами для успішної реалізації
цієї атаки.

You might also like