
- •Прикладна криптологія
- •Мета та завдання навчальної дисципліни
- •Програма навчальної дисципліни
- •Рекомендована література Базова
- •Допоміжна
- •4.Основні сайти з інформацією по дисципліні «Прикладна криптологія»
- •1.2 Функції криптографічних систем
- •1.3 Нормативно-правова база з криптографічного захисту інформації
- •1.4 Основні визначення та позначення
- •1.5 Загальна характеристика та класифікація математичних методів криптології.
- •1.6 Скінченні поля (Галуа)
1.5 Загальна характеристика та класифікація математичних методів криптології.
В цьому розділі розглядаються основні положення та математичні методи і задачі сучасної криптології. Нині визнано що криптологія (en cryptology) є галуззю науки, що вивчає основні закономірності, протиріччя, принципи, механізми, методи, протоколи, моделі, системи та засоби криптографічного захисту інформації, здійснення крипто аналізу та в певній мірі і приховування фактів оброблення інформації і її змісту. Сам термін, та і його визначення вперше були використані в статі Дж. Л. Мессі « Введение в современную криптологию» в [141]. У вказаній статі на високому, хоча і дещо формальному рівні, були висвітлені класичні питання криптології , в цілому вона і сьогодні є хорошим введенням в предмет криптології. Згідно пропозицій цієї статі, криптологію, як науку, можна поділити на 2 великі, взаємно залежні складові, криптографію (en cryptography) та крипто аналіз (en cryptanalysis). При цьому криптографія є напрямом в криптології, що вивчає основні закономірності, протиріччя, механізми, методи, протоколи, системи, комплекси, алгоритми та засоби криптографічного захисту інформації в ході її обробки. Крипто аналіз також є напрямом в криптології, що вивчає основні закономірності, протиріччя, методи, алгоритми, системи та засоби аналізу криптографічних систем, ґрунтуючись на їх вхідних та вихідних даних, алгоритмах чи засобах криптографічних перетворень, у тому числі можливо на частині ключових даних , що здійснюється з метою визначення спеціальних (ключових) даних та значущої інформації. При відомих ключах або знанні значущої інформації, можуть бути реалізованими різні загрози, що завжди, я к правило, приводить до суттєвих збитків.
Особливістю криптології, а також її складових – криптографії та крипто аналізу, є широке застосування математичних методів. Вони є основою усіх визнаних криптографічних перетворень – симетричне шифрування , цифровий підпис, направлене шифрування, гешування, автентифікації, захист від несанкціонованого доступу тощо. По суті під впливом запитів криптографії розвиваються, а в деяких випадках і створюються, математичні методи і математичні моделі. Підтвердженням цьому є широке застосування в асиметричній криптографії математичних перетворень в кільцях[ 4 – 7, 63, 141 -142 ], полях Галуа [5-7, 11- 13,62, 63, 57. 74 ], групі точок еліптичних кривих[ 143, 144, 14, 11, 12, 14, 32, 40, 43, 44,49, 52,63], гіпереліптичних кривих[ 145- 152 ], парного відображення (спарювання) точок еліптичних кривих[ 153 – 163 ], в урізаних кільцях поліномів[163 - 166] тощо. Аналогічно в симетричній криптографії при криптографічних перетвореннях застосовуються методи різних розділів алгебри, теорії чисел, полів Галуа, дискретної математики та теорії ймовірностей тощо.
Не менш математичні методи та моделі застосовуються і в крипто аналізі. Тут ситуація ще простіша – крипто аналіз практично повністю ґрунтується на математичних методах. Більш того, задачі крипто аналізу, які потрібно вирішувати, суттєво впливають на розвиток або появу новітніх математичних методів. Підтвердження цьому, наприклад, є лінійка математичних методів в асиметричні й криптографії, що з’явились у зв’язку з необхідністю вирішення задач факторизації модуля - складеного цілого великого числа[4 - 13 ]. Аналогічно розроблено ряд методів вирішення дискретних логарифмічних рівнянь в полі Галуа[4 - 13 ], в групі точок еліптичних кривих[ 9- 14 ], гіпер еліптичних кривих[ 147 - 152 ], розвиваються методи пошуку на алгебраїчних решітках[164 - 167 ] тощо. Особливе місце, на наш погляд, в найближчий час в різних криптографічних додатках може зайняти криптосистема NTRU ( N – th degree truncated polynomial ring)[165 ].
Таким чином, в криптології при створенні криптосистем вирішуються дві фундаментальні та одночасно прикладні задачі – розробки методів криптографічних перетворень та доведення їх стійкості проти крипто аналізу. Причому вони вирішуються, в першу чергу розробниками криптосистем, перевіряються замовником відповідної криптосистеми, що вимагає, по суті, проведення за затратами повноцінного крипто аналізу. Зрозуміло, що при певній зацікавленості, порушники (крипто аналітики) завжди готові атакувати чужі системи, маючи певну зацікавленість та задачі. Прикладів трагедій, недопустимих ризиків та втрат якраз при успішному здійсненні крипто аналізу нині достатньо[ 13, 17 ].
Ми також не ставимо тут завдань викладення математичних методів, що застосовуються в криптології. Йде орієнтація на те, що при необхідності зацікавлена особа сама засвоїть відповідний математичний апарат, або він вивчається в додаткових дисциплінах – теорії чисел, теорії груп, еліптичних та гіпереліптичних груп, різних розділів алгебри, в тому числі геометричної тощо. Ми враховуємо, що криптологія є суттєво динамічною наукою, можна стверджувати, що навіть сам математичний апарат в криптографії та, відповідно, і в крипто аналізі, змінюється або розробляється частіше ніж за 10 років. Прикладом цього є сучасна криптографія та відповідно і крипто аналіз.
У відповідності з наведеною постановкою, нижче в розглядаються математичні постановки задач т а їх сутність відносно основних розділів криптології, що нині розвиваються. Ми також зупиняємось і на методах, які в деяких змістах у вичерпують себе, тобто забезпечують тільки обмежені рівні стійкості, або є неефективними з інших причин.
Вказане визначило відбір та подання матеріалу в цьому розділі. При цьому ми не претендуємо на фундаментальне викладення матеріалу з математичної точки зору. При викладенні матеріалу ми орієнтуємось в основному на ті методи перетворень у групі точок ЕК, що використовуються на практиці або є перспективними. В основному вони різною мірою стандартизовані та містяться в міжнародних і національних стандартах, перш за все ДСТУ ISO/IEC 15946-1, 3; ISO/IEC 15946-1,4; ISO/IEC 14888-2; ISO/IEC-9796-3; ГОСТ Р 34 10-2001; ДСТУ 4145-2002.
По суті в першому розділі міститься в певному поданні довідкові математичні методи, що стосуються широкого застосування або мають перспективи застосування в криптології. Так в 1.2 окремо наводяться основні поняття та властивості полів Галуа. В підрозділі 1.3 наводяться основні положення та математичні спів відношення, які стосуються обчислювальних аспектів криптографії еліптичних кривих. В 1.4 наводяться основні властивості щодо еліптичних кривих. В 1.5 наводяться методи та математичні співвідношення, які можуть бути використані при крипто аналізі перетворень в групі точок еліптичних кривих. Зважаючи на особливу важливість в 1.6 розглядаються та порівнюються основні методи побудування «стійких» загальних параметрів еліптичних кривих.
Далі даються основні положення математичних перетворень в гіпереліптичних кривих( підрозділ 1.7). Також вважаємо за необхідне навести основні положення математики парного відображення (спарювання) точок еліптичних кривих (підрозділ 1.8).
У зв’язку з тим, що автори прогнозують впровадження методів перетворень, які стосуються направленого шифрування в урізаних кільцях поліномів, вважаємо за необхідне окремо навести основні поняття та математичні співвідношення для таких перетворень (підрозділ 1.9). Крім того, в підрозділі 1.10 обговорюються проблемні питання застосування математичних методів та вирішення прикладних задач в криптології.
В цьому розділі використовуються такі терміни, визначення та позначення[21 – 29, 31 – 74, 4, 11, 12 ].
Скінченні поля (Галуа) – будь-яке поле Галуа, що містить кінцеве число елементів.
Примітка. Справедливим є те що для будь-якого позитивного цілого m і простого p існує кінцеве поле, що містить точно pm елементів. Це поле є унікальним аж до ізоморфізму і позначається як F(pm), де p називається характеристикою F(pm).
Еліптична крива – будь-яка кубічна крива E без будь-якої сингулярної точки.
Примітка. Безліч точок кривої E є абелевою групою. Поле, яке містить усі коефіцієнти рівняння, що описує E, називається полем визначення E. Ми будемо розглядати тільки кінцеві поля F. Коли явно описується поле визначення F кривої E, тоді ми ідентифікуємо криву як E/F, тобто в загальному випадку криву над полем Галуа F(pm).
Криптографічне білінійне відображення en, що задовольняє властивості невиродженості, білінійності та можливості його практичного обчислення.
У цьому додатку використовується така система позначень:
d – Особистий ключ користувача (d – випадкове ціле число в безлічі [2, n – 2]);
E – Еліптична крива, задана або рівнянням вигляду
Y2 = X3 + aX + b
над полем F(pm) для p > 3, або рівнянням вигляду
Y2 + XY = X3 + aX2 + b
над полем F(2m), або рівнянням вигляду
Y2 = X3 + aX2 + b
над полем F(3m), разом із допоміжною точкою 0E , що називається точкою на нескінченності. Крива позначається як
E/F(pm), E/F(2m) або E/F(3m) відповідно;
E (F(q)) – безліч F(q)-значних точок E і 0E;
#E (F(q)) – порядок (або потужність) E (F(q));
E[n] – група n-кручення E, тобто {Q ∈ E | nQ = 0E };
|F| – бітовий розмір кінцевого поля F;
F(q) – кінцеве поле, що містить точно q елементів. Це включає випадки F(p), F(2m) і F(pm);
F(q)* F(q)\{0F}, тобто кінцеве поле без точки нескінченності;
G – базова точка на E з порядком n;
< G > – група, що генерує G з потужністю n;
kQ – k-й множник деякої точки Q кривої E, тобто
kQ = Q+…+Q (k доданків), якщо k > 0,
kQ = (–k) (–Q), якщо k < 0, і kQ = OE, якщо k = 0;
µn – циклічна група порядку n, що містить n–х коренів одиничного елемента в алгебраїчному замиканні F(q);
n – простий дільник #E (F(q)).;
0E – точка еліптичної кривої на нескінченності;
P – просте число;
Q – відкритий ключ користувача, причому Q – точка еліптичної кривої групи <G>;
q – простий ступінь, pm для деякого простого p та деякого цілого m ≥ 1;
Q – точка на E з координатами (xQ, yQ);
(Q1 + Q2) – сума еліптичної кривої двох точок Q1 і Q2;
xQ – x-координати Q ≠ OE;
yQ – y-координати Q ≠ OE;
[0, k] – безліч цілих чисел від 0 до k включно;
0F – одиничний елемент F(q) для складання;
1F – одиничний елемент F(q) для множення.