Криптографічні протоколи пропонується класифікувати залежно від їхнього функціонального призначення, математичного апарату, що застосовується, кількості раундів при взаємодії, можливостей застосування протоколу без з’єднання під час виконання протоколу й багатьох інших властивостей. Протоколи можуть бути інтерактивними або неінтерактивними. Інтерактивним протоколом називається протокол, під час виконання якого між суб’єктами, що виконують протокол, відбувається обмін даними. Неінтерактивний протокол - це протокол, під час виконання якого між суб’єктами, що виконують протокол, не здійснюється обмін даними. У свою чергу інтерактивні протоколи можна класифікувати за кількістю раундів (сеансів зв’язку) на одно- та багатораундові. Однораундові протоколи вимагають не більше одного сеансу передачі даних. Багатораундові протоколи для виконання всіх встановлених протоколом дій вимагають 2 та більше раундів.
При класифікації за функціональним призначенням пропонується розрізняти: криптографічні протоколи ідентифікації, автентифікації, протокол цифрового підпису, встановлення, узгодження та підтвердження ключів, передавання і транспортування ключів, вироблення спільної таємниці, розділення таємниці, направленого шифрування тощо.
До криптографічних протоколів висувають ряд складних вимог щодо забезпечення необхідного рівня їх безпеки. Як основні пропонується використовувати такі характеристики криптографічних протоколів:
) автентифікація суб’єктів; 2) автентифікація ключів; 3) вид автентифікації; 4) вид автентифікації ключів; 5) вид підтвердження ключів; 6) новизна ключів; 7) управління ключами; 8) складність обчислень; 9) можливість попередніх обчислень; 10) захищеність від раніше переданих повідомлень; 11) вимоги до третьої сторони; 12) криптоживучість ключів; 13) складність криптографічного аналізу; 14) неспростовність; 15) число повторень (раундів, обмінів).
У цьому підрозділі як приклади реалізації криптографічних механізмів автентифікації з нульовим розголошенням (нульовими знаннями) розглядаються механізми і на їх основі криптографічні протоколи, які ґрунтуються на перетвореннях у скінченних полях Галуа. Щодо криптографічних перетворень, то можна говорити, що вони ґрунтуються на дискретних логарифмах. Це пояснюється тим, що стійкість проти атаки «повне розкриття» саме й забезпечується складністю розв’язання дискретного логарифмічного рівняння у скінченному полі Галуа.
Реальний інтерактивний протокол може складатися з багатьох раундів обміну між суб’єктами/об’єктами повідомленнями, які отримали назву маркерів, та задовольняти щонайменше умовам повноти та коректності протоколу.
Інтерактивний протокол з нульовим розголошенням має задовольняти ще й умові, що нульове розголошення інформації про S - у результаті виконання (Р,V,S) протоколу перевірник не зменшує свою апріорну невизначеність відносно твердження S, тобто він не отримує ніякої інформації про те, чому S істинне.
Забезпечення нульового розголошення на практиці може бути здійснене за таких умов:
¾ кожен суб`єкт повинен мати фізичні засоби генерації випадкових чисел;
¾ має бути згода щодо функції гешування, яка буде використовуватися;
¾ усі об’єкти, що входять до складу визначеної наперед групи, мають узгодити три додатних цілих числа р, q та g. Ціле число р має бути простим. Число q має бути обране таким способом, щоб воно було простим числом і одночасно множником р-1. А число g має бути обрано так, щоб воно було елементом порядку q за модулем р - таким, що задовольняє вимогам:
¾ gq
mod p
= 1 та g≠1.
(2.2.1)
Значення р та q мають бути такими, що для заданого довільного цілого числа і (1 ≤ і ≤ q) обчислення цілого числа j (якщо таке існує) - такого, що gj mod p= 1, має бути обчислювально неможливо, тобто розв’язання задачі дискретного логарифмування в скінченному полі Галуа було хоча б субекспоненційно складним;
¾ кожен об’єкт, який має намір діяти як пред’явник, має бути забезпечений асиметричною ключовою парою;
¾ кожен об’єкт, який
має намір діяти як перевірник, має бути забезпечений засобами обчислення
довірчих копій відкритих ключів перевірки щодо об’єктів, чия ідентичність
перевіряється.
МЕТОДИ ТА АЛГОРИТМИ КРИПТОАНАЛІЗУ
Основною метою криптоаналізу, з
точки зору розробника, є визначення криптографічної стійкості криптографічних
перетворень, перш за все у сенсі неможливості визначення спеціальних (ключових)
даних, протидії несанкціонованому доступу до конфіденційних даних, підробки чи
створення хибних повідомлень тощо. Тобто криптоаналіз
має проводитись перш за все розробником з метою доведення рівня гарантій щодо
криптографічної стійкості, що задекларована розробником та очікується
замовником. В процесі різних
протиборств на різних рівнях держав особлива увага приділяється спробам
отримати конфіденційні дані, здійснити певні види обману, тобто здійснити
успішно атаки на криптографічні системи. Для визначення степеня небезпечності
таких дій можна застосовувати різні підходи. Основними з них є об’єктивне
врахування можливостей зовнішнього порушника (криптоаналітика) та моделювання й
прогнозування можливих дій і впливів.
.1 Мета здійснення
криптоаналізу
Для забезпечення ініормаційної безпеки застосовується низка заходів, що базуються на криптографічному аналізі. Вони дозволяють виявити слабкі місця у системі забезпечення конфіденційності даних та обрати метод коригування знайдених недоліків.
Мета здійснення криптоаналізу порушником зводиться до виявлення типа використовуваного алгоритму шифрування даних, виявленню сприйнятливості системи до певних видів атак з подальшим підбором методу атаки. Проведення зловмисником цих операцій націлене на здобуття прихованих даних системи і використання їх в своїх цілях.
Для забезпечення необхідного рівня безпеки в інформаційних технологіях важливе місце займає оцінка надійності системи даних. Вона включає показник опірності системи по кількості можливих атак, часовий показник опірності а також показник опірності системи за об'ємом ресурсів, що витрачаються під час атаки.
Перевірка системи на наявність в ній слабких місць здійснюється криптоаналітиками шляхом перебору і вживання різних видів атак в штатних умовах з подальшою оцінкою опірності системи. Виявлені таким чином показники нестабільності підлягають усуненню.
3.2 Сутнісь методу лінійного криптоаналізу.
До найбільш ефективних методів криптоаналізу блокових симетричних шифрів (БСШ) належить лінійний криптоаналіз. Він може бути застосований до будь-яких симетричних ітеративних блокових шифрів, у яких використовують операції в полі GF(2). При проведенні лінійного криптоаналізу вивчається ймовірнісна лінійна залежність між бітами відкритого, зашифрованого тексту і бітами ключа шифрування. Така залежність дозволяє з деякою ймовірністю визначити окремі біти ключа, але за наявності досить великого обсягу відповідних відкритих і зашифрованих блоків. У цілому лінійний криптоаналіз дозволяє простежити статистичну лінійну залежність між бітами парності для незашифрованого тексту, ключа та шифр-тексту, отриману для різних циклів.
Лінійний криптоаналіз (лінійна атака) може бути ефективним, якщо існує кореляція між входом і виходом циклової функції, але така, що її можна поширити на весь шифр. Причому кореляція визначається на підставі підсумовування за відповідним модулем (зазвичай за модулем 2) значень вхідних та вихідних бітів, що визначаються лінійними апроксимаціями, так званими масками входу і виходу. Для них знак коефіцієнтів кореляції залежить від значень ключових бітів. Також при здійсненні лінійного криптоаналізу передбачається, що при шифруванні на кожному циклі використовуються незалежні циклові ключі (підключі). Нижче наводиться короткий опис лінійної атаки.
Симетричний блоковий ітеративний алгоритм
шифрування може бути пода¬ний згідно з рис. 3.2.1. У ньому на вхід алгоритму
зашифрування подається значення X, яке ітеративно обробляється цикловою
функцією Fk(i) на кожному із r циклів шифрування із застосуванням циклового
ключа К(i). Проміжні значення на вході та виході циклової функції позначимо як
Y(i-1) та Y(і).
Рис. 3.2.1
Симетричний блоковий ітеративний алгоритм шифрування.
Далі, сума вхідних і вихідних значень S(i), тобто лінійна апроксимація, для і-го циклу шифрування визначається як сума значень функцій fi входу і-го циклу Y(i-1) та виходу і-го циклу Y(i):
Функції fi
та gi для суми S(i),
є вхідною і вихідною функціями. Якщо вихідна функція суми входу-виходу S(i-1)
попереднього циклу шифрування збігається З функцією ВХОДУ суми S(i)
наступного
циклу
(fi = gi-1),
то
вони
можуть
бути об’єднані. У разі
об’єднання сум для о циклів їх результуюча сума
![]()
(3.2.1)
називається багатоцикловою
сумою входу-виходу. Мірою ефективності ![]()
є відмінність ймовірності виконання
суми від 0.5, яка визначається дисбалансом суми. Причому, дисбалансом I(V)
випадкового двійкового вектора є невід’ємне число
|2P (V=0)-1|,
де Р(V =
0) - ймовірність того, що V прийме нульове значення. Ключезалежним дисбалансом I(V)
багатоциклової суми входу-виходу є дисбаланс
![]()
,
обумовлений подією вигляду
![]()
,
Де К -
ключ шифрування, що використовується. Середньоключовим дисбалансом суми
входу-виходу є математичне сподівання ключезалежних дисбалансів
![]()
,
для всіх значень ключа. Сума ![]()
є ефективною, якщо її дисбаланс
приймає велике значення, і гарантованою - якщо це значення дорівнює 1
(максимально можливе).
Таким чином, маючи ефективні або гарантовані виконавчі суми входу-виходу, можна з відповідною ймовірністю визначити задіяні біти ключа.
Лінійний криптоаналіз може
бути здійснений на основі зашифрованих і відповідних їм відкритих повідомлень.
4
МЕТОДИ ТА АЛГОРИТМИ КРИПТО АНАЛІЗУ АСИМЕТРИЧНИХ КРИПТОСИСТЕМ
4.1 Ключі в асиметричних
перетвореннях
Найбільшою особливістю асиметричних перетворень є використання асиметричної пари ключів, яка містить відкритий ключ, який відомий усім, та особистий ключ, що пов’язаний з відкритим ключем за допомогою певного математичного перетворення. При цьому вважається, що обчислення особистого ключа, при знанні загальносистемних параметрів та відкритого ключа, повинне мати в гіршому випадку субекспоненційну складність, а в разі обчислення відкритого ключа при формуванні асиметричної ключової пари - поліноміальну.
Гарантований захист особистих (конфіденційних) ключів від їх розголошення (компрометації) може бути забезпечено за умови апаратної або апаратно-програмної реалізації відповідних засобів КЗІ. У той же час при такій реалізації засобів КЗІ потенційно можуть бути реалізовані специфічні атаки, перш за все «фізичні атаки», атаки на «криптопристрої», атаки на «реалізацію», атаки «спеціальних впливів» тощо. Атаки на «криптопристрої» і на реалізацію можуть бути здійснені через застосування атак «апаратних помилок», «час виконання операцій», «енергоспоживання» тощо.
Найшвидшим (найменш складним)
алгоритмом атаки типу «повне розкриття» випадкових «неслабких» кривих над
полями F(р),
F(2m)
і F(рm)
на цей час є паралельний метод ρ-Полларда.
Його складність оцінюється як залежність вигляду
![]()
(4.1.1)
від порядку базової точки n та
кількості працюючих паралельно процесорів r.
Тому для обчислення складності розв’язання дискретного логарифмічного рівняння
(4.1.2) може бути застосована наближена формула (4.1.3):
![]()
(4.1.2)

(4.1.3)
Також було показано, що
особистий ключ можливо одержати, розв’язавши порівняння вигляду:
![]()
(4.1.3)
Використання функції вигляду
(4.1.4)
дозволяє обчислення виконувати паралельно, тобто для різних областей значень
процес пошуку коефіцієнтів ![]()
і ![]()
.

(4.1.4)
де ![]()
і ![]()
- випадкові цілі числа з інтервалу [0, n-1].
Зробивши оцінку складності дискретного логарифмування на основі методу ρ-Полларда з урахуванням імовірності колізії, отримаємо формулу для оцінки ймовірності відбуття колізії при відомих порядку базової точки n та складності k:
![]()
(4.1.5)
Обґрунтованою є оцінка
![]()
(4.1.6)
яку можна подати у вигляді
параметричного рівняння:
![]()
=0. (4.1.7)
З урахуванням того, що ![]()
, можна отримати для оцінки
наближення:
![]()
(4.1.8)
![]()
(4.1.9)
Отримані оцінки складності криптоаналізу на основі Х-методу.
Імовірність того, що хоча б одне значення ρ1(Zi)
збігається
з р2(Zj) для всіх
значень k, буде становити:
![]()
, (4.1.10)
тобто (4.1.10) у
загальному вигляді визначає ймовірність колізії за ![]()
-методом Полларда.