Вы находитесь на странице: 1из 37

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ ІМЕНІ СЕМЕНА КУЗНЕЦЯ

Лекція 7

Основні види атак, принципи криптоаналіза.

Зав. кафедрою КІТ


д.т.н., с.н.с. Евсеєв Сергій Петрович
КЛАСИФІКАЦІЯ ЗАГРОЗ
Угрозы, обусловленные действиями субъекта (антропогенные угрозы)
1
1 Кража (технических средств, носителей информации, информации, средств
доступа)
2. Подмена либо модификация (операционных систем; систем управления базами
данных; прикладных программ; информации, паролей и правил доступа).
3. Уничтожение либо разрушение (технических средств, носителей информации,
программного обеспечения, информации, паролей и ключевой информации).
4. Нарушение нормальной работы (скорости обработки информации, пропускной
способности каналов связи, объемов свободной оперативной памяти, объемов
свободного дискового пространства, электропитания технических средств)
5. Ошибки (при инсталляции ПО, ОС, СУБД; при написании прикладного ПО; при
эксплуатации ПО; при эксплуатации технических средств.
6. Перехват информации (несанкционированный) по акустическому каналу, при
подключении к каналам передачи информации.

Угрозы, обусловленные техническими средствами (техногенные угрозы)


2
1. Нарушение нормальной работы (нарушение работоспособности системы
обработки информации, связи и телекоммуникаций, старение носителей информации и
средств ее обработки, нарушение установленных правил доступа, электромагнитное
воздействие на технические средства.
2. Уничтожение либо разрушение (программного обеспечения, ОС, СУБД, средств
обработки информации, помещений, информации, персонала).
3. Модификация (программного обеспечения, ОС, СУБД, информации при передаче
по каналам связи и телекоммуникациям).

3
Угрозы, обусловленные стихийными источниками
1. Уничтожение (технических средств обработки информации, носителей
информации, программного обеспечения, информации, помещений, персонала).
2. Исчезновение (информации в средствах обработки, информации при передаче по
телекоммуникационным каналам, носителей информации, персонала). 2
ПАСИВНА АТАКА
Пасивна атака. Суть - зловмисник, визначивши факт передачі даних в комп'ютерній системі
або мережі зв'язку, здійснює їх перехоплення з метою подальшого аналізу. При цьому
порушник може володіти відкритими параметрами і даними, які використовуються
учасниками протоколу обміну даними.
Метою зловмисника є криптоаналіз протоколу
для визначення сеансових і / або довгострокових
ключових даних.

Злоумышленник
Открытые параметры
Открытые параметры Анализ данных протоколов обмена
и данные абонентов
данными

Перехват данных

Абонент -
Передача данных Абонент - получатель
отправитель
Защищенный протокол обмена данными
Модель здійснення пасивної атаки з боку зовнішнього зловмисника
3
АКТИВНА АТАКА

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

Злоумышленник
Открытые Открытые параметры
параметры и Накопление протоколов обмена
Анализ данных
данные абонентов информации данными

Перехват Постановка
данных помех

Абонент -
Передача данных Абонент - получатель
отправитель
Защищенный протокол обмена данными

Модель здійснення активної атаки з боку зовнішнього зловмисника


4
АКТИВНА АТАКА З БОКУ ІНСАЙДЕРІВ

Открытые Злоумышленник Открытые параметры


параметры и протоколов обмена
данные абонентов Накопление данными
Анализ данных
информации

Перехват Навязывание
данных ошиб. данных

Специфические Специфические
данные абонентов данные протоколов
обмена данными

Абонент -
Передача данных Абонент - получатель
отправитель
Защищенный протокол обмена данными

Модель здійснення активної атаки з боку внутрішнього зловмисника при нав'язуванні


помилкових даних

5
Метою аналізу (криптоанализу) секретної ОСНОВИ КРИПТОАНАЛІЗУ
системи є знаходження таких закономірностей
(наприклад, залежностей в розподілах апріорних і
апостеріорних ймовірностей), які дозволяють
знизити складність дешифрування криптограми
противником (без знання ключа).

Фундаментальне припущення криптоаналізу, вперше сформульоване Кірхгофф, полягає в


тому, що секретність повідомлення цілком залежить від ключа, тобто весь механізм 6
шифрування, крім значення ключа, відомий противнику.
КРИТПОАНАЛИТИЧЕСКИЕ АТАКИ

Категория 1 Категория 2

Атака с известным шифртекстом Атака с известным открытым текстом


Имеется только шифртекст. Предполагает наличие у криптоаналитика некоторого
Алгоритм шифрования. количества пар текстов, каждая из которых
представляет собой открытый текст и
соответствующий ему шифртекст.
количественная оценка криптостойкости алгоритмов
шифрования Атака с выбранным открытым текстом.
Ресурсы для оценки криптостойкости: У криптоаналитика есть возможность выбора
1. Количество информации, необходимое для открытых текстов для получения соответствующих им
осуществления атаки – скажем, сколько необходимо пар шифртекстов.
известных или выбранных текстов. Адаптивная атака с выбором открытого текста.
2. Время, необходимое для осуществления атаки. Криптоаналитик может не просто выбирать открытые
Измеряется в количестве тестовых операций шифрования тексты для зашифрования, но и делать это
атакуемым алгоритмом, выполнение которых при многократно, с учетом результатов анализа ранее
соблюдении остальных необходимых условий позволит полученных данных.
вычислить ключ шифрования.
3. Память, необходимая для хранения используемой при Атака с выбором шифртекста.
атаке информации. Криптоаналитик может выбирать шифртексты и,
Для определения запаса криптостойкости анализируют прогоняя их через шифратор, получать путем
алгоритм с усеченным числом раундов – т.е. модификацию расшифрования соответствующие им открытые тексты.
исследуемого алгоритма, в которой количество раундов
уменьшено по сравнению с конкретным Адаптивная атака с выбором шифртекста.
предусмотренным в алгоритме количеством раундов. Криптоаналитик может многократно выбирать
Запас криптостойкости можно определить шифртексты для их расшифрования с учетом
как соотношение исходного количество раундов предыдущих результатов.
исследуемого алгоритма к максимальному количеству
раундов его модификаций, не являющихся крипто-
графически стойкими или – анализ модификаций
исследуемого алгоритма с незначительными изменениями
Ууказані кріптоатакі відносяться до класу пасивних. Так
класифікуються дії противника, який «пасивно вивчає» шифровані
структуры раунда. повідомлення, може їх перехопити і піддати криптоанализу з метою
отримання інформації про відкрите тексті або ключі.
7
АКТИВНІ АТАКИ КРИПТОАНАЛІЗУ
АТАКА ПІДМІНИ
АТАКА ІМІТАЦІЇ
Атака підміни полягає в тому, що
Атака імітації полягає в тому, що
противник «вставляє» в канал зв'язку
противник, спостерігаючи передане
сфабриковану їм «шифроване по каналу зв'язку справжнє
повідомлення», яке насправді не повідомлення від відправника,
передавалося від законного відправника «Вилучає» його і замінює
до одержувача. При цьому противник підробленим.
розраховує на те, що одержувач сприйме
це повідомлення як справжнє
(автентичне).

РЕЗУЛЬТАТИ КРИПТОАНАЛІЗУ

Ларс Кнудсен  Повний злом - криптоаналітик витягує секретний ключ.


Класифікація  Глобальна дедукція - криптоаналитик розробляє функціональний
успішних результатів
еквівалент досліджуваного алгоритму, що дозволяє зашифровувати і
криптоанализа блокових
шифрів в залежності від розшифровувати інформацію без знання ключа.
обсягу і якості секретної  Часткова дедукція - криптоаналітику вдається розшифрувати або
інформації, яку вдалося
зашифрувати деякі повідомлення.
отримати:
 Інформаційна дедукція - криптоаналитик отримує деяку
інформацію про відкриті тексти або ключі.
8
ФУНДАМЕНТАЛЬНІ ОБМЕЖЕННЯ ОБЧИСЛЮВАЛЬНОЇ ПОТУЖНОСТІ
Межа, заснована на енергії, що виділяється Сонцем
Всі обчислення споживають енергію. Згідно з принципами класичної термодинаміки і
статистичної механіки, споживання енергії при здійсненні незворотного перетворення
(обчислення) має порядок k ⋅T , де T - температура навколишнього середовища (за абсолютною
шкалою Кельвіна), а k - постійна Больцмана (рівна 1.4⋅10-23 Дж /oK).
Потужність випромінювання Сонця 3.86⋅1026 Вт; таким чином, за весь свій
передбачуваний період існування - 10 млрд. років, або 3⋅1017 з - Сонце виділить 1044 Дж).
Припустимо, температура навколишнього середовища T = 10-6 градусів, тоді енерговитрати
на одну операцію складають 1.4 ⋅ 10-29Дж. Отже, кількість обчислювальних операцій, які можна
здійснити з використанням всієї виділеної сонцем енергії, так само виділяється потужності,
поділеної на кількість енергії, необхідної для здійснення однієї операції, тобто всього 1073
операцій. Така кількість операцій треба було б на злом ключа з 73 десяткових цифр (або
близько 250 біт).

Межа, заснована на масі Землі.


Маса Землі становить близько 6⋅1024 кг. Маса протона - 1.6⋅10-27 кг, тобто Земля містить
приблизно 4⋅1051протонів. Порівняємо кожному протону окремий комп'ютер і приймемо за
швидкість виконання операції на комп'ютері час, за яке промінь світла проходить відстань, рівну
діаметру цього протона (кожен комп'ютер може виконувати 3⋅1025 операцій в с), сумарне
швидкодію складе 4⋅1051 ⋅3⋅1025 операцій в секунду, тобто 1077 операцій в секунду.
Вік Всесвіту приблизно 3⋅1017секунд. За весь період існування Всесвіту такі гіпотетичні
комп'ютери розміром з протон змогли б виконати3⋅1094 операцій.
Така кількість операцій дозволить зламати ключ довжиною 95 десяткових цифр, або
320 біт.
9
МЕТОД ПОВНОГО ПЕРЕБОРУ
Злочинцю відома одна або кілька пар (x, y). Нехай для простоти для будь-якої пари (x, y)
Існує єдиний ключ k, Що задовольняє співвідношенню Ex(k) =y. Послідовно перевіряються
ключі з усього простору ключів k на виконання рівності Ex(k) =y. Якщо вважати перевірку
одного варіанту ключа k ∈ K за одну операцію, то повний перебір ключів зажадає |K| операцій,
де |K| - число елементів у множині.
В як оцінки трудомісткості методу використовується математичне сподівання випадкової
величини α - числа випробування до моменту виявлення ключа.
𝐾
Поскольку α - рівномірно розподілена випадкова величина, то 𝑀 𝑎 = 2
.
Методи розпаралелювання

ПОБУДОВА КОНВЕЄРА
Алгоритм знаходження Ex (K) = y представляється вигляді РОЗБИТТЯ КЛЮЧІВ НА НЕПЕРЕСІЧНИХ МНОЖИН
детермінованого ланцюжка найпростіших дій операцій O1, O2, Система з Q машин перебирає ключі так, що i-а я машина
... ON. використовуються N процесорів і кожен процесор виконує здійснює перебір ключів з безлічі Ki, i = 1, 𝑄. Система припиняє
три однакові за часом операції: роботу, якщо одна з машин знайшла ключ. Середнє число кроків
1) прийом даних від (i -1) -го процесора; випробування N процесорами (машинами) ключів з безлічі K в
2) виконання операції Oi; цьому випадку становить | K | / N.
3) передача даних наступного (i +1) -му процесору.
Тоді конвеєр з N послідовно з'єднаних, паралельно і синхронно
працюючих процесорів працює зі швидкістю 3 /v , де v -
швидкість виконання однієї операції процесором.
Ідеї

КИТАЙСЬКА ЛОТЕРЕЯ DESОЗАВР КРІПТОВОДОРОСЛІ


Вигадана тварина складається з оптично Криптоаналітичні водорості, які вміють
У кожному радіоприймачі або телевізорі прозорих біологічних клітин, які вміють розкривати криптографічні алгоритми
вбудована мікросхема, запрограммована тестувати можливі ключі. Середній динозавр методом повного перебору. Водорості
на автоматичну перевірку різних складався з 1014клітин. Якщо кожна клітина можуть покривати великі простори, що
множин ключів після отримання по може виконувати 106 Шифрування в секунду, теоретично дозволить створити щось на
ефіру пари відкритий текст /шифртекст. розтин 56-го ключа - 7⋅10-4 с, а 64-го - не зразок комп'ютера з величезним
10числом
більше 0,2 с. процесорів.
АТАКИ «ГРУБОЇ СИЛИ»
Вичерпний пошук ключа
Для її реалізації атакуючому необхідно мати трохи більше t  k / n  пар блоків «відкритий-
шифрований текст», отриманих на шуканому ключі шифрування (K - довжина ключа, n - довжина
блоку).
Атака зводитися до перевірки всіх можливих ключів шифрування на кожній парі блоків,
при цьому перевірка поточного ключа на наступній парі триває тільки в тому випадку, якщо
на попередній парі отримано позитивний результат, в перевірку на всіх t парах блоків і
декількох додаткових парах. Очікувана кількість одноблокового шифрування до виявлення
дійсного ключа можна оцінити як суму елементів геометричної t прогресії
t
1 k i k 1 1  2 k 1 2  1
  2  2  2  2  1
2  t 1
0i  t 1 2 2

Таблична атака
Якщо криптоаналітику відомо, що зашифрований текст повинен містити певні дані по
деякого зсуву (як мінімум один з N блоків тексту), то атакуючий може зашифрувати відповідні
блоки даних на всіх можливих 2k ключах, і зберегти всі отримані N 2k блоки криптограми і
відповідні ключі в деякій таблиці, проіндексованої за значенням блоку криптограми.
Для визначення ключа шифрування буде досить виконати пошук відповідного блоку
криптограми в таблиці.

Словникова атака
Криптоаналітика накопичує відомі пари «відкритий-шифрований» текст, отримані на
фіксованому невідомому ключі, і переміщає їх в «словник». Якщо потім в тексті криптограми
зустрічається блок міститься в «словнику», то криптоаналітик отримує відповідний блок
відкритого тексту. Для шифрування / розшифрування довільного тексту атакуючому потрібно
таблиця об'ємом 2n блоків, а ймовірність появи в криптограмі довжиною L відомого блоку складе
11
L  N  2-n, Для словника з N.
Атака «колізій» шифртекстів
Ця атака може бути застосована при наступних режимах шифрування: ECB, CBC і CFB.
Суть атаки полягає в пошуку співпадаючих блоків в тексті криптограми. Виявлені
«колізії» дають криптоаналітику додаткову інформацію про відкриті тексти. Для
виявлення колізії, з урахуванням феномена «дня народження», потрібно близько 2n / 2блоків
криптограми. Однак, використання ECB режиму для шифрування специфічних текстів (що
містять багато фрагментів з межами кратними кордонів блоку) може значно підвищити
ймовірність виникнення «колізій».

ЛІНІЙНИЙ КРИПТОАНАЛІЗ
Лінійний криптоаналіз відносять до атак на основі «відомих відкритих текстів».
Вперше ця атака була запропонована Мацуї для криптоаналізу FEAL.
Метод криптоаналізу, заснований на пошуку і використанні найбільш
«правдоподібних» лінійних (афінних) співвідношень для апроксимації нелінійних
перетворень. Лінійна характеристика, яка визначає вид апроксимуючої лінійної функції,
записується як
X   X  Y  Y  K   K  
де X, Y, K - відповідно вектори входу, виходу і ключа;
 K ,  Y  X , - відповідно шаблони ( «маски») входу, виходу і ключа; 𝜐 - найбільш
ймовірне значення апроксимуючої функції (0 або 1).
Мацуї показав, що для успішного застосування атаки лінійного криптоаналізу
необхідно близько -2 відомих відкритих текстів, де  - відхилення від 1/2 ймовірності
виконання обраної лінійної апроксимації, що охоплює весь шифр.
Тому алгоритм вважається вразливим до лінійного криптоаналізу, якщо ймовірність
деякої суми «вхід-вихід», що охоплює всі, крім декількох циклів (зазвичай 2 або 3) значно
12
більше ніж 2-n/ 2.
ОСНОВНІ ЕТАПИ ЛІНІЙНОГО КРИПТОАНАЛІЗУ
1 этап. Y  f ( X ) : { 0 ,1 }n  { 0,1 }m
Нахождение пар открытый текст где f – случайная функция,
– криптограмма X * X ,
где λ – маска.
2 этап. X = [X1, X2, ...] ,
Поиск числа совпадений между где Xi представляет i-й бит входа и
линейным уравнением и суммой Y = [Y1, Y2, ...] ,
выходных битов Yj представляет j-й бит выхода .

Для комбинации входных переменных:

3 этап. a1 X1 a2 X2 a3 X3 a4 X4
где ai  {0,1}, a1 – значащий бит.
Построение таблицы линейных
аппроксимаций S-бокса Для комбинации выходных битов:
b1 Y1 b2 Y2 b3 Y3 b4 Y4
где bi  {0,1}, b1 – значащий бит.

[K1...K2, Kn...Km],
4 этап.
где K – значения для частичного целевого
Нахождение битов ключа
подключа

1
5 этап. NL  2

Определение сложности где ε – смещение 1/2 вероятности,
реализации атаки NL – число известных открытых текстов,
необходимых для аппроксимации
13
ПРИКЛАД ЛІНІЙНОЇ АПРОКСИМАЦІЇ S-БОКСУ

Імовірність зсуву дорівнює 0 і для рівняння


X3 X4= Y1 Y4
Імовірність зміщення 2 / 16-1 / 2 = -3/8. В останньому випадку, краще наближення - це Афінне
наближення, як зазначено зі знаком мінус. Проте, успіх атаки базується на основі величини зсуву і,
як ми бачимо, аффінне наближення можна використовувати як і лінійні наближення. 14
ТАБЛИЦЯ ЛІНІЙНОЇ АПРОКСИМАЦІЇ

Кожен елемент в таблиці


представляє число збігів між
лінійним рівнянням, поданим в
шістнадцятковому вигляді як
"Вхідні сума" і сума вихідних
бітів, представлених в
шістнадцятковому вигляді як
"Вихідна сума" мінус 8.
Для лінійної комбінації вхідних
змінних, представлених у
вигляді a1∙ X1 a2∙ X2 a3∙
X3 a4∙ X4 , де ai {0,1} і «.»
Представляє бінарне І,
шістнадцяткове значення і
представляє собою двійкове
значення a1a2a3a4, де a1
значущий біт.

15
ЕКСПЕРИМЕНТАЛЬНІ РЕЗУЛЬТАТИ ЛІНІЙНИХ АТАК

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


підключів [K5,5...K 5,8, K5,13...K5,16] = [2,4], і це спостереження, справді, виявлено для повного
набору значень часткових підключів.
Значення в таблиці показують величину зсуву (bias), Отриманого з

| зміщення | = | кількість -5000 | / 10000

- де кількість (count) - число, відповідне конкретному значенню парціального підключа.


16
ДИФЕРЕНЦІАЛЬНИЙ КРИПТОАНАЛІЗ
Диференціальний криптоаналіз  метод, який ґрунтується на вивченні зв'язків
певних відмінностей (Різниць) в плайнтекстових парах з відмінностями (різницями)
результуючих шифртекстових пар. Ці відмінності, як виявилося, можуть
використовуватися для встановлення ймовірностей можливих ключів і визначення
найбільш ймовірного ключа. Метод працює на великій кількості пар плайнтекстів з
тими ж самими специфічними (визначеними) відмінностями, використовуючи тільки
підсумкові шифртекстові пари. Для DES-подібних криптосистем відмінність
вибирається як побітова сума по модулю два (XOR) значень двох текстів (в модульної
арифметики різницю пари текстів).

17
ОСНОВНІ ЕТАПИ ДИФЕРЕНЦІАЛЬНИЙ КРИПТОАНАЛІЗ

1 этап.
X = [X1X2 Xn] , Y = [Y1Y2 Yn],
Нахождение пар открытый текст
где Х – вход, Y – выход
– зашифрованный текст

Разница ввода: X = X X,


2 этап. где "" – побитовое «исключающее ИЛИ»
Расчет разности дифференциалов n-битного вектора.
Y = Y Y– выходная разница

X = [ X1 X2 Xn],


3 этап. где X i  X i  X i с Xi и Xi
Построение таблицы представляющие i-й бит X и X.
распределения разностей  Y= [ Y1 Y2 Yn],
где Yi  Yi Yi .

X = X X = X X


4 этап.
где пара входных (или выходных) значений
Анализ совпадений и
представляется в виде (X, X) имеет то же
вычислений
значение X, как пары (X, X)

N D  c / pD
5 этап. где pD характеристика вероятности для R1
Определение сложности атаки раундов R-раундового шифра,
c – небольшая константа 18
ДИФЕРЕНЦІАЛЬНИЙ КРИПТОАНАЛІЗ

r-цикловою диференціальною характеристикою є r + 1 мірний кортеж (Δ0, Δ1,


...,Δr), що визначає відмінності між проміжними значеннями протягом шифрування
пари плайнтекстов.
Плайнтекстове відновлення є здатністю зловмисника відновити текст,
відповідний деякому зашифрованному тексту без знання ключа. Плайнтекстова
атака відновлення не обов'язково дозволяє зловмисникові відновити весь текст, але
навіть відновлення невеликого шматочка тексту небажано.

Три цикли диференціальної


характеристики стартує з
відмінності Δ0 між
плайнтекстами, що
поширюється через проміжні
відмінності Δ1 і Δ2 до різниці
Δ3 між зашифрованими
текстами

19
ДИФЕРЕНЦІАЛЬНИЙ КРИПТОАНАЛІЗ

Починаючись з пари звичайних текстів, P і P0 = P Δ0, на вході блочного шифру,


використовуючи невідому ключову k, атака заснована на спробі передбачити яка
різниця буде створена після кожного послідовного циклу. Для даного шифру з
циклової функцією F, нападник намагається знайти відмінності Δi і Δi+1 таким
чином, щоб ймовірність пари значень з різницею Δi приводила до пари значень з
різницею Δi+1 після застосування F, була високою.
Таким чином, ProbP,k {F(k, P) F(k, P Δi) = Δi+1}

Якщо (Δ0, Δ1) і (Δ1, Δ2) дві


характеристики, кожна з яких
покриває один цикл,
двоциклова характеристика
(Δ0, Δ1, Δ2) може бути створена
об'єднанням. Пов'язуючи
одноциклові характеристики
може бути побудована r
циклова характеристика.

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


парою, а парою, яка не наслідує характеристики, називається неправильною парою. 20
ПРИКЛАДИ РІЗНИЦЕВИХ ПАР S-БОКСУ

Двійкові значення X, Y, і відповідні


значення для Y для заданих вхідних пар (X,
X ⨁ ∆ X) представлені в таблиці 6 для
значень X 1011 (шістнадцятковий B), 1000
(Hex 8) і 0100 (Hex4). Останні три колонки
таблиці представляють собою значення ∆ Y.
З таблиці видно, що число входжень ∆ Y =
0010 для ∆ X = 1011 8 з 16 можливих
значень (тобто, ймовірність 8/16); число
появ ∆ Y = 1011 дає ∆ X = 1000 4 з 16; число
появ ∆ Y = 1010 дає ∆ X = 0100 0 з 16. Якщо
S-бокс може бути "ідеальним", число появ
значень різниці пар буде 1, щоб дати
можливість 1/16 виникнення конкретного
значення ∆ Y ∆ X .

21
ТАБЛИЦЯ РОЗПОДІЛУ РІЗНИЦІ

Кожен елемент таблиці являє


чиcло появ відповідного значення
вихідний різниці ∆ Y при вхідний
різниці ∆ X . Зверніть увагу, що, крім
особливого випадку (∆ X = 0, ∆ Y =
0), найбільше значення в таблиці 8,
відповідно ∆ X = B і ∆ Y = 2. Отже,
ймовірність того, що ∆ Y = 2 дає
довільну пару вхідних значень, що
задовольняють ∆ X = B, що є 8/16.
Найменше значення в таблиці
дорівнює 0 і відбувається протягом
багатьох різницевих пар. У цьому
випадку ймовірність того, що
значення ∆ Y зустрічається при ∆ X
дорівнює 0.

22
ЕКСПЕРИМЕНТАЛЬНІ РЕЗУЛЬТАТИ ДИФЕРЕНЦІАЛЬНОЇ АТАКИ

Значення в таблиці показують розрахункову ймовірність виникнення правильних


пар кандидатів часткових підключів, отриманих з
prob=count/ 5000, де count це кількість, відповідна конкретному значенню
часткового підключа.
Як можна бачити з результатів вибірки з таблиці, найбільша ймовірність появи
значень часткових підключів [K5,5 ... K5,8, K5,13 ... K5,16] = [2,4] гекс і це
спостереження, справді, виявили, для повного набору значень часткового підключа. 23
ДИФЕРЕНЦІАЛИ

Основні диференціальні атаки використовують характеристики, відстеження


поширення різниць через цикли шифру. Результати можуть бути поліпшені за
допомогою диференціалів замість диференціальних характеристик. Коли
диференціальна характеристика передбачає реальну картину поширення різниці в
відкритих текстах у деяких різницях шифртекстів, диференціал пророкує тільки
різницю в плайнтекстах і шифртекстах. Тобто, диференціал (Δ0, Δr) можна розглядати
як сукупність всіх характеристик, починаючи з різниці Δ0 і закінчуючи різницею Δr.

Диференціал починається
з різниці Δ, яка йде до
різниці Δ * і позначається
Δ → Δ *. Такий запис
буде також
використовуватися для
характеристик і усічених
диференціалів, так як, як
правило, точний тип не
має значення чи
зрозумілий з контексту
ПРИНЦИПИ ДИФЕРЕНЦІАЛЬНОГО КРІПТОНАЛІЗА

Шифр DES є багатоцикловою


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

У DES теоретично можна використовувати 216 × 48 = 2768 незалежних циклових


підключів, з яких застосовується тільки 256 (Мається на увазі, що кожен ключ може
бути розглянутий як спеціальний тип незалежного ключа).
ДИФЕРЕНЦІАЛЬНИЙ КРИПТОАНАЛІЗ ШИФРІВ DES

Входами в F функцію є 32 біта правого напівблоку X кожного циклу і 48


бітів підключа. Вхідний 32-бітний блок символів розширюється (Е
розширенням) до 48 бітів і підсумовується по модулю 2 з ключем. Ця
операція в подальшому для стислості буде позначатися абревіатурою з
англійських букв  XOR. Результат складання надходить на s-блоки, на
виходах яких біти переставляються за допомогою Р перестановки.

Очевидно, також, що XOR з ключем не змінює значення XOR в парі, тобто


значення XOR з урахуванням розширення залишається незмінним і після
складання з ключем. Вихідні біти S-блоків перемішуються P
перестановкою і значення XOR пари 32-бітних напівблоків після того, як P
перестановка переставити значення S-блокових виходів. Отже, вихідний
XOR F функції є лінійним для XOR операції, яка формує цикли. XOR пари,
таким чином, інваріантний до ключу і лінійний для розширення E,
перестановки P і XOR операції.

S-блоки, як відомо, є нелінійними перетвореннями. Знання XOR вхідних пар не може


гарантувати знання XOR вихідних пар. Зазвичай для одного і того ж вхідного XOR-а можливі
різні вихідні XOR-и. Виняток становить ситуація, коли обидва входи рівні. В цьому випадку
обидва виходи також виходять рівними один одному. Аналіз результатів спостережень також
показує, що для будь-якого конкретного вхідного XOR-а можливі не всі вихідні XOR-и.
ДИФЕРЕНЦІАЛЬНИЙ КРИПТОАНАЛІЗ ШИФРІВ DES

У DES для будь-якого S-блоку з 6-бітним входом можна сформувати 64 × 64


можливі вхідні пари, і кожна з них матиме свій вхідний і свій вихідний
XOR.
Таблиця S-блоку S1 з позначеннями входів

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 140 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 4 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 15 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
взаимосвязь между входными и выходными данными таблиц S-блоков
стандарта. Ее можно описать следующим образом. Пусть b1 , b2 , . . . , b6  6-ти
битный вектор, поступающий на вход некоторого S-блока Sj. Образуем два
десятичных числа k и l , двоичная запись первого из которых есть b1b6 , а
второго b2 , b3 , b4 , b5 (например, применительно к вектору 000110 имеем k  0 ,
l  3 ). Тогда результатом работы S-блока Sj, соответствующим входу
b1 , b2 , . . . , b6 будет 4-х битовая запись десятичного числа, стоящего в j-той
таблице (матрице) на пересечении k -той строки и l -того столбца (например, при
поступлении упомянутого вектора 000110 на вход S-блока S1 результатом будет
1 = 0001).
ДИФЕРЕНЦІАЛЬНИЙ КРИПТОАНАЛІЗ ШИФРІВ DES
Имеется только 64  16 возможных кортежей (сочетаний) входных и
выходных XOR-ов. Следовательно, каждый кортеж состоит в среднем из
четырех пар. Однако, не все кортежи существуют как результат объединения
пар, а существующие не имеют равномерного распределения. Для анализа
свойств S-блоков, характеризующих вероятности переходов различных входных
разностей в выходные, разработчики дифференциального криптоанализа ввели в
рассмотрение так называемые таблицы частных парных XOR распределений
(Partial pairs XOR distribution tables) S-блоков (мы их для краткости в
дальнейшем будем называть таблицами распределения парных разностей, или
еще короче  таблицами распределения разностей).
При побудові таблиць розподілу різниць для кожного S-блоку розглядаються всі
можливі суми по модулю 2 (XOR) різних пар входів (результат  6 бітів) і відповідні XOR пар
виходів (результат  4 біта).
Отримані числа є індексами входів (по рядках і по стовпцях) в клітинках таблиць
розподілу різниць S-блоків.
Розмір кожної таблиці 6416.
Сама таблиця різниць отримується заповненням клітинок числами, відповідною
кількістю пар входів розглянутого S-блоку, що утворюють задані значення вихідних різниць
(індексів входів в елемент таблиці по стовпцях) для кожного значення вхідний різниці
(індексу входу в осередку по рядках) при варіації по всій множині пар входів S-блоку, які
формують задану вхідну різницю, тобто кожен рядок таблиці відповідає конкретному
значенню вхідного XOR-а, а кожен стовпець відповідає конкретному значенню вихідного
XOR-а, а значення елементів таблиці відповідають кількості можливих пар з розглянутими
значеннями вхідних і вихідних XOR-ів.
Криптоаналіз усічених диференціалів
Ця атака є різновидом класичної диференціальної атаки, і вперше була запропонована
Кнудсеном.
Усіченими (або частковими) диференціалами називаються диференціали які «пророкують»
тільки частину різниці. Тобто якщо для деякої безлічі «шаблонів» вхідних і вихідних різниць
кількість диференціальних характеристик значно вище середнього, то можна говорити про
групування диференціалів за «шаблоном». Імовірність того, що диференціальна характеристика
залишиться в межах групи може бути обчислена незалежно від ймовірності окремої
диференціальної характеристики.

Криптоаналіз диференціалів вищого порядку


Дана атака може бути застосована до шифрів представлених у вигляді булевого полінома
малого ступеня. Під булевим поліномом розуміється запис булевої функції в базисі алгебри
Жегалкина (AND, XOR). Диференціал порядку  можна уявити рекурсивно, застосуванням
звичайного диференціала (першого порядку) до диференціалу (-1) -го порядку:
(1) f ( x)  f ( x  )  f ( x)
1   
() ,  , f ( x )  (1) ( ,1
1
)
,   1 f ( x )
Одноцікловим диференціалом порядку  називається сукупність з ( + 1) -го вектора різниць

тобто (  1 ,  ,   , ) ( ) ,  , f ( x )  
1 
Необхідний для проведення криптоаналізу порядок диференціала вищого порядку
визначають за мінімальним ступенем булевих поліномів криптограми. Так якщо біти виходу (r-1)
-Цикли можуть бути виражені через біти відкритого тексту у вигляді поліномів ступеня не нижче
d, то порядок диференціала вищого порядку буде d+1, так як диференціал (d+1) -го порядку від
криптограми стає рівним 0. Якщо циклові ключі завжди об'єднуються з проміжними даними
операцією XOR, То порядок диференціала вищого порядку буде d, Так як в цьому випадку
диференціал порядку d стає рівним 1, що означає його незалежність від ключа. Складність атаки
складе близько 2O(kc) Операцій 1-циклового шифрування, де k кількість відновлюваних бітів
ключа, а c - константа.
Криптоаналіз нездійсненних диференціалів
Вперше був запропонований для шифрів DEAL і Skipjack .
Атака аналізує диференціали спеціального виду - ті, які не можуть виконатися, тобто мають
нульову ймовірність.
Методика атаки: На деякому циклі робиться припущення про застосований ключ
(виконується перебір циклових ключів), а на інших циклах передбачається виконання
«неможливого» диференціала. Якщо на цикловому ключі-кандидаті, що перевіряється, можливе
отримання різниць певних «неможливих» диференціалів, то цей ключ відкидається як
помилковий. В результаті такого перебору залишається обмежена безліч циклових ключів-
кандидатів.

Інтегральний криптоаналіз
Атака спочатку була запропонована для шифру Square, який має байт-орієнтовану структуру,
до неї схильні шифри, що мають «слово»-орієнтовану структуру, тобто що складаються з
послідовності лінійних і нелінійних перетворень над вирівняними бітовими кортежами
фіксованої довжини. Атака використовує
підібрані відкриті тексти і не залежить від конкретного виду змішувальних лінійних і
нелінійних перетворень, а також від процедури розгортання ключа. Вона розглядає суми
деякого безлічі текстів і заснована на властивості лінійних перетворень зберігати
«збалансованість» бітів результату при обробці «збалансованих» аргументів.
Інтерполяційний криптоаналіз
Атака запропонована Якобсеном і Кнудсеном. Для проведення цієї атаки криптоаналітик
виконує побудову поліномів на основі відомих пар «відкритий-шифрований текст». Ця атака
ефективна проти шифрів, що дозволяють описати процедуру шифрування деяким порівняно
простим алгебраїчним виразом.
Принцип інтерполяційної атаки полягає в тому, що якщо шифртекст може бути
представлений як поліном (або раціональний вираз) від відкритого тексту в якому кількість
невідомих (ключезалежних) коефіцієнтів дорівнює N, то цей поліном (або раціональний вираз)
може бути відновлений з використанням N пар « відкритий-шифрований текст », отриманих
на шуканому ключі K. Для відновлення невідомих коефіцієнтів може використовуватися
формула Лагранжа. Вираз визначенний отриманимим поліномом буде еквівалентий
зашифруванному на шуканому ключі.

Криптоаналіз несюрьектівних циклових функцій


Атака може бути застосована до шифрів на базі ланцюга Фейстеля з несюрьектівной циклової
функцією, тобто функцією, що містить «заборонені» значення в просторі вихідних векторів.
При реалізації цієї атаки, на основі відомих пар «відкритий-шифрований текст»
обчислюється сума по модулю 2 (XOR) всіх проміжних виходів циклових функцій, що, в поєднанні
з відомими статистичними властивостями несюрьектівной циклової функції, дозволяє
отримати інформацію про виходи проміжних циклів, і відповідно циклових ключах.
МЕТОДИ КРИПТОАНАЛІЗУ ПРОЦЕДУРИ «РОЗГОРТАННЯ КЛЮЧА»

До атак на процедуру «розгортання ключа» можуть бути уразливі ітеративні шифри,


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

Процедура r-циклового ітеративного шифрування деякого блоку відкритого тексту P в


блок шифрованого тексту C може бути представлена ​як послідовність циклових перетворень
Fi (Підстановок, керованих циклових ключем Ki):

Xi = Fi(Xi-1, Ki), P = X0, C = Xr, i = 1 ... R

де Xi - проміжний результат шифрування, отриманий після i-го циклу перетворення.

Як правило на всіх циклах використовується загальне ітеративне перетворення, а


унікальність визначених ним відображень Fi досягається за рахунок застосування різних
циклових ключів Ki, тому «регулярні» властивості послідовності {Fi} можуть бути
проаналізовані через властивості послідовності {Ki}, тобто процедури «розгортання ключа».

Основна відмінність атак цього класу від атак криптоаналізу циклової функції полягає в
лінійної залежності складності криптоаналізу від кількості повторюваних перетворень (груп
циклів), проти експоненційної залежності для методів другого класу.
Криптоаналіз простих відносин і еквівалентних ключів
Два ключа володіють простим відношенням, якщо «перехід» від одного ключа пари до іншого
може бути обчислювально просто виявлений шляхом аналізу пар «відкритий-шифрований
текст», отриманих на цих ключах.
наприклад, DES має просте відношення, зване «властивістю інвертування»:
~ ~
C  EK ( P)C  EK~ ( P )
де операція X~ - позначає побітове інвертування X. Ця властивість дозволяє скоротити
кількість пробних шифрування вдвічі (складність «силовий» атаки на DES дорівнює 255, при
довжині ключа 56 біт).
Особливим випадком простого відношення є ситуація, коли два різних ключа еквівалентні,
тобто визначають ідентичні відображення. Навіть якщо подібна властивість скорочує ключовий
простір незначно (на кілька біт), воно може бути ефективно використано для знаходження
«колізій» під час нападу на хеш-функції, побудовані за схемою Девіса-Мейера.

Криптоаналіз «слабких» ключів


Слабкими вважаються ключі, для яких функція шифрування еквівалентна функції
розшифрування.
Полуслабимі ключами називається пара ключів (K, K), Для яких функція шифрування на
ключі K еквівалентна функції розшифрування на ключі K і навпаки.
Якщо число слабких ключів мало, то їх наявність не компрометує шифр, який
використовується для забезпечення конфіденційності, однак застосування такого шифру в деяких
схемах хешування може дозволити криптоаналітику підібрати тексти призводять до «колізії».
Крім того, шифр може володіти слабкими ключами в контексті деякої криптоатаки,
наприклад, якщо показники нелінійності шифру істотно залежать від використовуваного
ключа.
ОСНОВНІ ПОЛОЖЕННЯ МЕТОДОЛОГІЇ ОЦІНКИ БСШ
• Для кожного БСШ існує певне число циклів після якого шифр
набуває властивість випадкової підстановки, яка може бути
визначена теоретично.
• Подальше нарощування числа циклів не впливає на
підсумкові диференціальні і лінійні властивості шифрів.
• Показники стійкості шифрів визначаються практично тільки
розміром бітового входу в шифр і від властивостей
S-блоків не залежать.
• Для зниження обчислювальних труднощів пов'язаних з
оцінкою стійкості великих шифрів пропонується
використовувати їх зменшені моделі.
• Для оцінки безпеки БСШ до атак диференціального і
лінійного криптоаналізу пропонується використовувати
максимум середньої диференціальної ймовірності (MADP) і
максимум середньої ймовірності лінійного корпусу
(MALHP).
МЕТОДИКА ОЦІНКИ БСШ

Етап 1

Етап 2

Етап 3

Етап 4

Етап 5

Максимум середнього значення диференціальної ймовірності (MADP)


Максимум середнього значення ймовірності лінійного корпусу (MALHP) функції
АБСОЛЮТНІ ЗНАЧЕННЯ МАКСИМУМІВ ЛІНІЙНИХ
ВЛАСТИВОСТЕЙ
Шифр / r AES ADE Лабіринт калина мухомор
1 25722,88 25722,88 - 19292,16 19292,16
2 16076,8 19292,16 - 7033,6 15272,96
3 6832,64 6832,64 2267,08 1469,52 13181,72
4 1475,8 1463,24 1434,98 1431,84 13266,5
5 1413 1406,72 1416,14 1413 13607,19
6 1447,54 1381,6 1422,42 1431,84 13652,72
ЧЕСНЫ ПОКАЗНИКИ S-БОКСІВ
Показник Блокові методи перетворення інформації
Ефективності Aes Ade Лабіринт Калина Мухомор
Збалансованість, SСБ Так Так Так Так Так
Нелінійність, SN 112 116 112 112 112
Значення автокорреляции,
32 64 80 56 32
SАC
Функція f збалансована, якщо містить однакову кількість нулів і одиниць.

Нелінійність SN перетворення - мінімальна відстань Хеммінга між вихідною


послідовністю S і всіма вихідними послідовностями афінних функцій над
деякими полем.

Автокореляція - забезпечує витік інформаційного потоку з входу на вихід


функції (максимальне по модулю значення кореляції до всіх вхідних векторів)

Вам также может понравиться