Термінологія тут успадкована із класичної проблеми дискретного логарифмування (
) у мультиплікативній групі поля криптосистеми розподілу ключів Діффі-Хеллмана, у якій однобічна функція експоненціювання елемента поля обчислюється швидко (у поліноміальному часі), а зворотна функція дискретного логарифмування - повільно (за експоненційний час). Суть цієї проблеми для не міняється, якщо операцію множення замінити операцією додавання (в адитивній групі точок ), при цьому експоненціювання переходить в -кратне додавання точок.Розмір поля, Біт | Порядок криптосистеми, Біт | Складність | Час обчислень -роки |
163 | 160 | ||
191 | 186 | ||
239 | 234 | ||
359 | 354 | ||
431 | 426 |
Операція експоненціювання
у мультиплікативній групі найбільш ефективно здійснюється методом послідовного піднесення до квадрата. Для цього число подається у двійковій системі численняяк
-розрядне двійкове число . Наприклад, мінімальним 5-розрядним числом (з 1 у старшому розряді) є двійкове число (рівне 16 у десятковій системі), а максимальним – число 11111 (рівне 31 у десятковій системі). Тоді експоненціювання елемента зводиться до послідовного піднесення до квадрата і множення на (останнє за наявності 1 у двійковому записі від старшого розряду до молодшого):У першому випадку виконується 4 операції множення, у другому 8-множень. У загальному випадку експоненціювання у двійкову
-розрядний степінь цим методом здійснюється за допомогою від до операцій множення за модулем . Об'єм обчислень пропорційний розрядності числа . Така обчислювальна складність називається поліноміальною а - коефіцієнт пропорційності).Зворотна функція дискретного логарифмування
у найгіршому разі може зажадати перебору до значень, при цьому говорять про експонентну складність обчисленьВзагалі кажучи, поняття обчислювальної складності визначається через співвідношення вхідного й вихідного об'ємів даних деякого обчислювального алгоритму. Алгоритми поліноміального часу (швидкі алгоритми) характеризуються лінійним співвідношенням об'ємів даних на виході й вході процесора, а алгоритми експонентного часу (повільні), відповідно, експонентним. Зі збільшенням об'єму вхідних даних експонентна складність веде до практично нереалізованих обчислювальних витрат.
Сьогодні відомі досить ефективні субекспоненційні методи рішення DLP над скінченними полями. Це пов'язано з тим, що елемент поля
- ціле число, яке можна факторизувати у вигляді добутку ступенів простих чисел. Це затребувано з метою безпеки істотно збільшити розміри поля для криптосистем Діффі-Хеллмана й Ель-Гамала (до тисяч біт). З іншого боку, точку еліптичної кривої факторизувати на зразок цілого числа не вдається. Тому для ЕСС поки не відомі методи розв’язання , більш ефективні, ніж класичні методи з експонентною складністю обчислень. Цим і пояснюється високий рівень безпеки криптосистем на еліптичних кривих.Криптоатаки на
прийнято розділяти на дві групи: атаки на загальну структуру й атаки ізоморфізму. До першого звичайно відносять:– метод Шенкса( Shenks Method- Giant Step-Baby step);
–
методи Полларда (Pollard¢s Method);– метод Поліга- Хеллмана (Pohlig-Hellman Method);
– метод обчислення степенів (Index Calculus Method).
Ці методи застосовні для будь-якої скінченної групи, у тому числі й для еліптичної кривої (крім останнього). Атаки ізоморфізму специфічні для ECC. Серед них найбільш відомі:
– атака Менезиса, Окамото й Ванстоуна, або MOV- атака;
– ізоморфізм Семаєва;
– метод спуску Вейля й ін.
Атаки ізоморфізму базуються на перетвореннях, що переводять абелеву групу точок
в елементи мультиплікативної групи поля. Оскільки, рішення у поле набагато простіше, ніж на еліптичній кривій (при порівнянних порядках), то знаходження ізоморфізму між двома групами істотно знижує безпека ЕСС. Поки відомі кілька класів криптографічно слабких кривих, для яких ці атаки успішні.2. Метод Шенкса
Прямий метод розрахунку дискретного логарифма може використати два варіанти:
- кратне додавання точки до збігу із точкою (шлях від точки до точки ) або шлях від точки до точки . У найгіршому випадку для визначення числа із точки може знадобитися до додавань точки ( при маємо множину зворотних за знаком точок, - координати яких уже відомі). Обчислювальна складність безпосереднього розрахунку дискретного логарифма оцінюється числом операцій . Щоб скоротити шлях до збігу (колізії) з відомою точкою, природно на всьому шляху поставити маркери , , координати яких визначено на етапі попередніх обчислень. Рухаючись від точки до найближчого маркера, ми істотно скорочуємо зону пошуку (рис 1). Виникає лише питання, як розставити маркери?