Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

125 Кібербезпека / Фаховий екзамен (Бакалавр) / Прикладна криптологія

.pdf
Скачиваний:
87
Добавлен:
23.10.2019
Размер:
4.51 Mб
Скачать

Переваги, які відносяться до аспектів реалізації, такі:

1.Rijndael може виконуватись швидше, ніж традиційний блоковий алгоритм шифрування на основі сітки Фейстеля, оскільки розробниками проведено оптимізацію між розміром таблиці і швидкістю виконання.

2.Rijndael придатний для реалізації в смарт-картах, оскільки він може працювати з невеликим RAM і має невелику кількість раундів.

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

4.Алгоритм шифрування не використовує арифметичні операції, тому тип архітектури процесора не має значення.

5.Алгоритм шифрування повністю самодостатній. Він не використовує ніяких інших криптографічних компонентів, S-boxів, взятих з добре відомих алгоритмів, бітів, отриманих зі спеціальних таблиць.

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

12. Режими використання блочних шифраторів

1.Режим ECB - вхідне повідомлення розбивається на блоки необхідної довжини по m бітів, останній блок по мірі необхідності потрібно доповняти до довжини n.

Шифротекст утворюється наступним чином СХЕМА

Незважаючи на те, що даний режим є простим у використанні, проте він має ряд недоліків, а саме:

одинакові блоки вхідного тексту на виході дають однакові боки шифротексту

даний режим не захищений від імітовставок, а також знищення і заміни окремих блоків Зміна одного біту в початковому тексті повідомлення буде мати вплив лише на одни біт шифротексту

2.Режим CBC - дозволяє попередити та виявити втрати в результаті атаки з використанням вставок

Як і в попередньому режимі розбиваємо повідомлення на q блоків m=m1, m2...mq, шофрування відбувається за формулою

Як правило не секретний блок відомий відправнику і отримувачу. На практиці передають по відкритому каналу на початку шифротексту.

Важливо щоб значення c0 - було випадковим і не спрогнозованим для зловмисника.

Зміна хоча б одного блоку вплине на результат шифрування всіх наступних шифроблоків. Саме тому останній блок cq можна використовувати яу контрольну суму для цілого повідомлення СХЕМА

Помилка допущена в одному біті шифротексту впливає не лише на відповідний блок повідомлення, а й псує біт в наступному блоці відкритого тексту, що легко виявити та інтерпретувати яу атаку.

В режимі CBC вектор ініціалізації може бути випадково згенерованим числом, а може бути результатом шифрування на іншому ключі К1 або деякого числа nonce, це число повинне бути унікальним числом в разі необхідності його додають на початок шифротексту

3. Режим CFB - режим зворотнього зв’язку по шифротексту Як і в попередніх текст розбиваємо на q блоків Шифрування в даному режимі відбувається за формулою

Даний шифр можна розглядати як такий, що має властивість потокового.

Анологічно до попереднього режиму. Його можна використовувати для імітовставки (аналог контрольної суми) адже помилка в 1 блоці шифротексту впливає на всіс наступні блоки Проте навідміну від попереднього, даний режим може працювати для блоків jбітів (j<=n)

В такому випадку використовують лише j лівих бітів отриманих результатом шифрування попереднього шифроблоку.

СХЕМА

Перевагою є те , що при розшифруванні не потрібно алгоритму дешифрування.

Помилка допушена в 1 біті криптограми впливає на 1 біт блоку повідомлення в якому вона була допущена і повністю на наступний длок повідомлення.

4. Режим OFB - режим зворотнього зв’язку по виходу

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

Шифрування відбувається за формулою

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

5. Режим CTR

Розбивається на q блоків. Даний режим має властивості потокового S1 - деяке не випадкове число, Si - виконує функцію лічильника.

Можна розпарплелювати, зміна в лічильнику на 1 дає лавинний ефект на виході можна гарантувати період послідовності 2^n.

13.Регістри зсуву з лінійним зворотнім зв’язком (LFSR) як приклад псевдовипадкового генератора.

Регістри зсуву з лінійним зворотнім зв’язком (LFSR - Linear Feedback Shift Register)

Регістри зсуву зі зворотнім зв’язком використовуються як в криптографії, так і в теорії кодування для формування псевдовипадкових послідовностей. Фактично, це мікросхема з комірками пам’яті, в кожній з яких записаний один біт інформації. Множина комірок і утворюють регістр, тому довжина регістра визнається кількістю бітів. Вміст комірок

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

В якості функції зворотного зв’язку доцільно було б брати нелінійну функцію. Однак це складно реалізувати, тому на практиці використовуються регістри зсуву з лінійним зворотнім зв’язком.

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

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

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

Велика кількість теоретичних досліджень властивостей LFSR.

ВLFSR функція зворотного зв’язку – це XOR декількох визначених бітів регістра, які називають відводами. Іноді такі регістри називають конфігурацією Фібоначчі. Регістр працює в дискретні моменти часу.

Усім відводам з регістру відповідають коефіцієнти a1,a2...an

Якщо окремі коефіцієнти = 0, то відповідні відводи виключають з схеми. Перелік цих відводів з коефіцієнтами рівними одиниці, називається відвідною послідовністю.

Властивості послідовностей генерованих LFSR

будь-яка послідовність буде репіодичною

максимальний період послідовності довжини n, становить 2^n-1

якщо старший коефіцієнт многочлена зворотнього зв’язку a^n=1, то послідовність одразу починається з періодичної частини; в зворотньому випадку послідовність буде мати деякий період і почне повторюватися не одразу, а з деякого тактк t0

максимальний період послідовності гарантують тільки ті члени LFSR які є примітивними над полем GF(2)

Многочлен f(x) називається примітивним, якщо він не ділиться на дільники виду x^a +1

Якщо послідовність має максимальний період, то її називають m-послідовністю. Для бітових m-послідовностей характерна збалансованість (поява однакової кількості 0 та 1 на періоді). На кожному періоді m-послідовності будь-яка ненульова підпослідовність довжиниr з’явиться лише один раз (властивість де-Брюіна).

14. Сучасні потокові шифри. Приклад.

Шифр А5

А5 – це потоковий шифр, що використовується для шифрування GSM (Group Special

Mobile).

Опишемо родоначальника алгоритмів А5 – алгоритм А5/1. Спочатку він зберігався в таємниці. Проте Британська телефонна компанія передала документацію по алгоритму в Бредфордський університет (Bradford University), не підписавши при цьому договір про нерозголошення інформації. Відбувся витік інформації і зрештою деталі алгоритму були опубліковані в інтернеті.

А5 складається з трьох LFRS, довжиною 19, 22 і 23, що описується наступними многочленами зворотного зв’язку:

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

Передача даних здійснюється в структурованому вигляді — з розбиттям на кадри (фрейми-114 біт). Перед ініціалізацією регістри заповнюються нулями. Далі послідовно виконуються наступні дії (схема ініціалізації):

-на вхід алгоритму надходить сесійний ключ (K - 64 біта), сформований алгоритмом А8, і номер кадру (Fn - 22 біта).

-64 такти БУР (Блок управління рухом) не працює. Натомість черговий біт ключа XOR-иться з молодшим бітом кожного регістру, регістри при цьому зсуваються на кожному такті.

-Далі відбуваються аналогічні 22 такти, тільки операція XOR проводиться за номером кадру,

-Потім проводиться стандартних100 тактів з керуванням зрушеннями регістрів (з участю БУР), але без генерації послідовності,

-Наступні 228 (114 + 114) тактів - робочі, відбувається шифрування переданого

кадру (перші 114 біт) і дешифрування (останні 114 біт) кадру, що приймається, Далі ініціалізація проводиться заново, використовується новий номер кадру.

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

Оскільки сеансовий ключ має 64 біти, то спочатку стійкість оцінювали як 264, проте згодом понизили до 240.

Вразливості А5:

– 10 біт ключа примусово занулені /Стійкість зразу ж впала до 245. Атака Андерсона

1994р./

– Відсутність перехресних зв’язків між регістрами крім зсувів

– Велика надмірність службової інформації, що шифрується, відомої криптоаналітику

– Більше 40%% ключів призводять до мінімальної довжини періоду послідовності, що генерується

– На початку сеансу відбувається обмін нульовими повідомленнями

– В А5/2 управління тактуванням здійснює четвертий регістр Основним недоліком є коротка довжина регістрів і проріджені поліноми.

В1997 р. Йован Голіч опублікував результати кореляційного аналізу, який дозволяв визначити початкове наповнення регістрів за відомою гама-послідовністю довжиною 64 біти, що відповідає парі «відкритий текст»-«шифротекст». Цю послідовність отримують завдяки першим нульовим повідомленням. Атака має середню складність 240.

Інший метод, запропонований Голічем, побудований на ймовірнісному парадоксі днів народжень.

В1999 році Вагнеру та Голдбергу вдалось продемонструвати, що для взлому ситеми А5/2 достатньо перебором визначити початкове заповнення LFRS4. Перевірка здійснюється

за рахунок нульових кадрів. Складність цієї атаки дорівнює 217, таким чином навіть на персональному комп’ютері злом шифру займає всього декілька секунд.

Шифр RC4

RC4 – дуже швидкий та простий потоковий шифр з змінною довжиною ключа, розроблений в 1987 р. Рівестом (R. Rivest) для RSA Data Security, Inc. (не слід вважати його більш ранньою версією блочних шифрів RC5 та RC6). На протязі 7 років він був приватною власністю компанії. Детальний опис алгоритму надавався тільки при підписанні угоди про нерозголошення. Проте у вересні 1994 року хтось анонімно опублікував вихідний код в розсилці «Шифропанки» (Cypherpunks). Він швидко поширився через Internet. Спроби RSA Data Security, Inc і надалі тримати RC4, як торговий секрет виявились марними. Хоча компанії вдається продавати ліцензію тим, хто хоче використовувати цей алгоритм в комерційних продуктах.

Алгоритм працює в режимі OFB: потік ключів не залежить від відкритого тексту. Використовується S-блок розміром 8×8: S0, S1, S2, …,S255.

Ініціалізація S-блоку.

Спочатку S-блок заповнюється за правилом: S0 = 0, S1 = 1, …, S255 = 255.

S0

S1

S2

S3

 

S4

 

 

 

S255

 

 

 

 

 

 

 

 

 

 

 

 

 

00000000

000000001

000000010

000000011

000000100

 

 

 

11111111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Після чого ключ записується в масив:

K0, K1,

…,

K255.

Рекомендується

використовувати ключ від 40 до 256 бітів. Потім ключ повторюється. В алгоритмі застосовуються два лічильники i та j з нульовими початковими значеннями. Потім при початковому заповненні в циклі виконуються наступні обчислення:

i, j =0

for i = 0 to 255 do

j = (j + Si + Ki) mod 256

Поміняти місцями Si і Sj.

ІІ етап

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

i, j =0

i, j =0

Однократне використаннякожного

i = (i + 1) mod

i = (i + 1) %%

елементу масиву.

256;

256;

Нелінійна залежність вихідних даних від

j = (j + Si) mod

j = (j + Si) %%

масиву

256.

256.

Зміна масиву в процесі ітерацій

Поміняти

Si Sj.

Кінцева послідовність відкриває лише

місцями Si і Sj.

t = (Si +

одну комірку масиву

t = (Si + Sj) mod

Sj) %% 256;

 

256;

K= St.

 

K= St.

 

 

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

якщо зловмисник дізнався ключ K і номер кроку і, він зможе дізнатись лиш про заповнення комірки St, не знаючи j, Si чи Sj.

Перевагами RC4 є висока швидкість роботи і змінна довжина ключа. Шифрування виконується приблизно в 10 раз швидше ніж в DES.

Компанія RSA Data Security, Inc. стверджує, що алгоритм стійкий до диференціального та лінійного криптоаналізу і що він великою мірою нелінійний. RC4 може знаходитись приблизно в 21700 станах S-блок повільно змінюється при використанні: i та j забезпечують випадкову зміну кожного елемента.

RC4 входить в десятки комерційних продуктів, включаючи Lotus Notes, AOCE компанії Apple Computer і Oracle Secure SQL. Цей алгоритм також є частиною стандарту специфікації Сотової цифрової пакетної передачі даних CDPD (Cellular Digital Packet Data).

15.Принципи асиметричної криптографії. Односторонні функції. Односторонні функції з секретом.

16. Схема Діффі-Хеллмана розподілу ключів по відкритих каналах