Методи вирішення проблем дискретного логарифмування
1. Метод Поліга-Хелмана
Метод Поліга-Хелмана запропонований в 1978 році для визначення дискретного логарифма в мультиплікативній групі поля
.Він заснований на відомій для групи факторизації порядку
групи за ступенями простих чиселСтосовно до адитивної групи точок з генератором
порядку маємо Відповідно до відомої китайської теореми про залишки існує єдине натуральне число , таке щоПісля визначення значення
дискретний логарифм здобувають за допомогою розширеного алгоритму Евкліда. Наведемо приклад.Приклад 1
Нехай порядок циклічної групи
дорівнює , а точка , тобто . Це значення має бути визначене в підсумку рішення ECDLP.Тут
На першому етапі визначаємо точку Отримуємо точку другого порядку з відомими координатами Оскільки , маємо перше порівнянняНа наступному етапі знаходимо одну із точок третього порядку
Ці точки також відомі, тому з отримуємо наступне порівнянняНарешті, визначаємо точку 5-го порядку
й отримуємо .Наведені три порівняння дають єдине розв’язання
В загальному випадку необхідно знати координати точок із загальної кількості .Задача ускладнюється із зростанням переважно простого співмножника в розкладанні порядку
групи. У цьому зв'язку для захисту від атаки Поліга-Хелмана порядок криптосистеми обирають рівним великому простому числу, при цьому порядок кривої називають ² майже простим ² (з малим множником ).2. Метод ділення точок на два
Метод ділення точок на два. Для кривих над полем
запропонований метод розв’язання , заснований на процедурі, зворотної обчисленню точки шляхом послідовних подвоєнь і додавань при двійковому поданні числа .У звичайній арифметиці двійкове подання цілого числа починається з визначення молодшого біта: при непарних
з віднімається 1 (це молодший біт двійкового подання ) і результат ділиться на 2.Якщо частка парна, ділення триває, у протилежному випадку виконується віднімання 1 і ділення на 2 (отримуємо наступний розряд числа рівний відповідно 0 або 1). Процедура триває до одержання частки, рівної 1. Якщо точка
– генератор простого порядку , то при знанні відповіді на питання про парність (непарність) множника точки легко вирішується ( у поліноміальному часі ) описаною вище послідовною процедурою віднімання-ділення на два.У простому полі
ділення на два тотожно множення на елементВиявляється замість багаторазового додавання ділення точки на два виконується набагато ефективніше й швидше.
Визначимо порядок кривої як
де
- велике просте число (в існуючих криптографічних стандартах ), - непарне число.Нехай
- точка порядку , тоді генератор криптосистеми може бути визначений як точка порядку .Введемо операцію ділення точки несуперсингулярної кривої
на два як зворотну подвоєнню. Нехай маємо точку
та точку з координатами (2)Інакше кажучи, визначення
означає знаходження координат точки з відомої точки Відповідно до (2) для цього необхідно вирішувати квадратне рівняння (3)У загальному випадку це рівняння має два розв'язки
й при наслідку (4)Якщо слід
то точка - непарна точка - непарне). Під час виконання (4) отримуємо дві точки: і ділення точки на два з координатами (5)З (1) і (5) неважко отримати співвідношення між координатами точок ділення
які можуть бути корисні при криптоаналізі. Відзначимо дві властивості точок ділення.