Смекни!
smekni.com

Проблема дискретного логарифмування (стр. 2 из 3)

Точка колізії при цьому зрушується усередину петлі на відстань, що не перевищує половини довжини петлі. Тим самим відбувається обмін необхідної пам'яті на час обчислень.

Кожен цикл у методі Флойда вимагає обчислення трьох точок відповідно до алгоритму й порівняння двох з них. Вихідні дані – точки

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

Найпростіша ілюстрація цього методу - спрощений алгоритм із обчисленням

. Колізія на
-му циклі
відразу дає розв’язання дискретного логарифму

По суті це прямий метод визначення дискретного логарифму з експоненційною складністю

.

В іншому окремому випадку алгоритму маємо

Колізія на

-му кроці призведе до рівняння

або

Воно не має розв'язку

. Якщо модернізувати алгоритм так, що на кожній ітерації порівнювати точки
й генератор
, то при виконанні
можна отримати розв’язання
за умови, що 2 є примітивним елементом поля
. Цей метод також вимагає об'єму обчислень порядку

Розглянуті дві частки випадку оцінюються максимальною складністю у зв'язку з тим, що при переборі всіх точок криптосистеми колізія виникає лише один раз.

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

, а обчислювальна складність методу
-Полларда, застосованого до групи загальної структури, дорівнює
. Оскільки в групі точок EK зворотні точки визначаються досить просто, об'єм пошуку в просторі точок скорочується вдвічі, а обчислювальна складність зменшується в
раз і стає рівною

На практиці для виявлення колізій замість методу Флойда знайшла застосування його модифікація, запропонована Шнором і Ленстрой. У цієї модифікації пам'ять містить 8 осередків, зрушення вмісту яких здійснюється при

, де
- номери ітерацій в останньому й першому осередках відповідно. Отримано експериментальну оцінку складності цього методу для групи

Алгоритм

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

Число областей, як правило, не перевищує 20, тому що подальше їхнє збільшення практично не впливає на статистичні характеристики алгоритму.

Очевидно колізію точок можна отримати й іншим шляхом, рухаючись із двох (або більше) різних точок

і
до збігу
. Ця ситуація відображується на рисунку 2. Даний метод одержання колізії зветься
-Методом Полларда. Походження терміна прийнято з рисунка.

Розглянемо

-метод Полларда на прикладі ЕК над простим полем Галуа
, тобто

криптографичний дискретний логарифм

(3)

Для всіх точок

задано операції додавання та подвоєння. Наприклад, якщо
а
, то

,


Рисунок 2 - Графічна інтерпретація

-методу Полларда

де

(4)

Для ЕК над полем

виду

причому

, то для двох точок
та
таких, що

виходить

(5)

примітивний поліном m-го степеня;

(6)

Для розв’язання задачі пошуку конфіденційного ключа

в порівнянні (1) розглянемо
метод Полларда над простимо полем
Нехай
– базова точка,
відкритий ключ, шукатимемо пари цілих
та
, таких що