Рефетека.ру / Математика

Реферат: Методи вирішення проблем дискретного логарифмування


Методи вирішення проблем дискретного логарифмування

1. Метод Поліга-Хелмана


Метод Поліга-Хелмана запропонований в 1978 році для визначення дискретного логарифма в мультиплікативній групі поля Методи вирішення проблем дискретного логарифмування.

Він заснований на відомій для групи факторизації порядку Методи вирішення проблем дискретного логарифмування групи за ступенями простих чисел Методи вирішення проблем дискретного логарифмування


Методи вирішення проблем дискретного логарифмування


Стосовно до адитивної групи точок з генератором Методи вирішення проблем дискретного логарифмування порядку Методи вирішення проблем дискретного логарифмування маємо Методи вирішення проблем дискретного логарифмування Відповідно до відомої китайської теореми про залишки існує єдине натуральне число Методи вирішення проблем дискретного логарифмування, таке що


Методи вирішення проблем дискретного логарифмування


Після визначення значення Методи вирішення проблем дискретного логарифмування дискретний логарифм Методи вирішення проблем дискретного логарифмування здобувають за допомогою розширеного алгоритму Евкліда. Наведемо приклад.

Приклад 1

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

Тут Методи вирішення проблем дискретного логарифмування На першому етапі визначаємо точку Методи вирішення проблем дискретного логарифмування Методи вирішення проблем дискретного логарифмування Отримуємо точку Методи вирішення проблем дискретного логарифмування другого порядку з відомими координатами Методи вирішення проблем дискретного логарифмування Оскільки Методи вирішення проблем дискретного логарифмування, маємо перше порівняння

Методи вирішення проблем дискретного логарифмування


На наступному етапі знаходимо одну із точок третього порядку Методи вирішення проблем дискретного логарифмування Ці точки також відомі, тому з Методи вирішення проблем дискретного логарифмування отримуємо наступне порівняння


Методи вирішення проблем дискретного логарифмування


Нарешті, визначаємо точку 5-го порядку Методи вирішення проблем дискретного логарифмування й отримуємо


Методи вирішення проблем дискретного логарифмування.


Наведені три порівняння дають єдине розв’язання Методи вирішення проблем дискретного логарифмування В загальному випадку необхідно знати координати Методи вирішення проблем дискретного логарифмування точок із загальної кількості Методи вирішення проблем дискретного логарифмування.

Задача ускладнюється із зростанням переважно простого співмножника в розкладанні порядку Методи вирішення проблем дискретного логарифмування групи. У цьому зв'язку для захисту від атаки Поліга-Хелмана порядок Методи вирішення проблем дискретного логарифмування криптосистеми обирають рівним великому простому числу, при цьому порядок кривої Методи вирішення проблем дискретного логарифмування називають І майже простим І (з малим множником Методи вирішення проблем дискретного логарифмування).


2. Метод ділення точок на два


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

У звичайній арифметиці двійкове подання цілого числа починається з визначення молодшого біта: при непарних Методи вирішення проблем дискретного логарифмування з Методи вирішення проблем дискретного логарифмування віднімається 1 (це молодший біт двійкового подання Методи вирішення проблем дискретного логарифмування) і результат ділиться на 2.

Якщо частка парна, ділення триває, у протилежному випадку виконується віднімання 1 і ділення на 2 (отримуємо наступний розряд числа рівний відповідно 0 або 1). Процедура триває до одержання частки, рівної 1. Якщо точка Методи вирішення проблем дискретного логарифмування– генератор простого порядку Методи вирішення проблем дискретного логарифмування, то при знанні відповіді на питання про парність (непарність) множника Методи вирішення проблем дискретного логарифмування точки Методи вирішення проблем дискретного логарифмування Методи вирішення проблем дискретного логарифмування легко вирішується ( у поліноміальному часі ) описаною вище послідовною процедурою віднімання-ділення на два.

У простому полі Методи вирішення проблем дискретного логарифмування ділення на два тотожно множення на елемент


Методи вирішення проблем дискретного логарифмування


Виявляється замість багаторазового додавання ділення точки на два виконується набагато ефективніше й швидше.

Визначимо порядок кривої як


Методи вирішення проблем дискретного логарифмування


де Методи вирішення проблем дискретного логарифмування - велике просте число (в існуючих криптографічних стандартах Методи вирішення проблем дискретного логарифмування), Методи вирішення проблем дискретного логарифмування - непарне число.


Нехай Методи вирішення проблем дискретного логарифмування- точка порядку Методи вирішення проблем дискретного логарифмування, тоді генератор криптосистеми може бути визначений як точка Методи вирішення проблем дискретного логарифмування порядку Методи вирішення проблем дискретного логарифмування.

Введемо операцію ділення точки несуперсингулярної кривої

Методи вирішення проблем дискретного логарифмування: Методи вирішення проблем дискретного логарифмування (1)


на два як зворотну подвоєнню. Нехай маємо точку Методи вирішення проблем дискретного логарифмування та точку Методи вирішення проблем дискретного логарифмування з координатами


Методи вирішення проблем дискретного логарифмування (2)


Інакше кажучи, визначення Методи вирішення проблем дискретного логарифмування означає знаходження координат точки Методи вирішення проблем дискретного логарифмування з відомої точки Методи вирішення проблем дискретного логарифмування Відповідно до (2) для цього необхідно вирішувати квадратне рівняння


Методи вирішення проблем дискретного логарифмування (3)


У загальному випадку це рівняння має два розв'язки Методи вирішення проблем дискретного логарифмування й Методи вирішення проблем дискретного логарифмування при наслідку


Методи вирішення проблем дискретного логарифмування (4)


Якщо слід Методи вирішення проблем дискретного логарифмуванняМетоди вирішення проблем дискретного логарифмування то точка Методи вирішення проблем дискретного логарифмування - непарна точка Методи вирішення проблем дискретного логарифмування- непарне). Під час виконання (4) отримуємо дві точки: Методи вирішення проблем дискретного логарифмування і Методи вирішення проблем дискретного логарифмування ділення точки Методи вирішення проблем дискретного логарифмування на два з координатами

Методи вирішення проблем дискретного логарифмування (5)


З (1) і (5) неважко отримати співвідношення між координатами точок ділення


Методи вирішення проблем дискретного логарифмування


які можуть бути корисні при криптоаналізі. Відзначимо дві властивості точок ділення.

Точки ділення пов'язані як Методи вирішення проблем дискретного логарифмування , де Методи вирішення проблем дискретного логарифмування- точка другого порядку, дорівнює Методи вирішення проблем дискретного логарифмування. Дійсно,


Методи вирішення проблем дискретного логарифмування,


тому що Методи вирішення проблем дискретного логарифмування

Якщо Методи вирішення проблем дискретного логарифмування - точка непарного порядку Методи вирішення проблем дискретного логарифмування, тобто Методи вирішення проблем дискретного логарифмування, то точка


Методи вирішення проблем дискретного логарифмування


ає порядок Методи вирішення проблем дискретного логарифмування, тому що


Методи вирішення проблем дискретного логарифмування й Методи вирішення проблем дискретного логарифмування.

У порівнянні з подвоєнням точки (2), яке вимагає обчислення двох множень й інверсії елемента Методи вирішення проблем дискретного логарифмування (найбільш трудомістка обчислювальна операція), ділення (5) не вимагає інверсії елемента й може бути реалізоване набагато швидше.

Найбільш ефективне розв’язання рівняння (3) і операцій (4), (5) виконуються в НБ (нормальному базисі) мінімальної складності, зокрема, в ОНБ (оптимальному нормальному базисі).

Розв’язання квадратного рівняння в НБ здійснюється за допомогою простої Методи вирішення проблем дискретного логарифмування-бітової рекурентної послідовності. Слід (4) елементів парної ваги дорівнює 0, а непарної ваги - 1.

Піднесення у квадрат (добування кореня квадратного) у нормальному базисі зводиться до циклічного зсуву вправо (вліво) Методи вирішення проблем дискретного логарифмування-бітового елемента поля.

Поряд з додаванням елементів за модулем 2 перераховані операції часто називають ІбезкоштовнимиІ і не враховують у наближених розрахунках обчислювальної складності. Ділення відповідно до (5) вимагає лише двох множень у нормальному базисі Методи вирішення проблем дискретного логарифмування як найбільш складних операцій. Це приблизно на порядок збільшує швидкість виконання операцій ділення на два в порівнянні з операцією подвоєння точки.

Розглянемо можливі підходи до розв’язання задач дискретного логарифма. Найбільш проста ситуація виникає для кривої


Методи вирішення проблем дискретного логарифмування,

Методи вирішення проблем дискретного логарифмування, Методи вирішення проблем дискретного логарифмування


з коефіцієнтом Методи вирішення проблем дискретного логарифмування, порядок якої Методи вирішення проблем дискретного логарифмування

Максимальний простий порядок Методи вирішення проблем дискретного логарифмування досягається при Методи вирішення проблем дискретного логарифмування. Покладемо, що Методи вирішення проблем дискретного логарифмування, а генератор Методи вирішення проблем дискретного логарифмування має порядок Методи вирішення проблем дискретного логарифмування. У циклічній групі Методи вирішення проблем дискретного логарифмування всі точки є точками подільності на два, відповідно до (4) їх Методи вирішення проблем дискретного логарифмування-координати мають слід Методи вирішення проблем дискретного логарифмування й, отже, непарну вагу при поданні в НБ. При діленні на два отримуємо дві точки, одна з яких належить групі Методи вирішення проблем дискретного логарифмування й має порядок Методи вирішення проблем дискретного логарифмування, а інша максимальний порядок Методи вирішення проблем дискретного логарифмування

Вони мають відповідно непарну й парну вагу Методи вирішення проблем дискретного логарифмування-координат і легко розрізнюються без множення на Методи вирішення проблем дискретного логарифмування Вибір однієї із точок (5) порядку Методи вирішення проблем дискретного логарифмування здійснюється досить просто. Оскільки в групі Методи вирішення проблем дискретного логарифмування випливає, що


Методи вирішення проблем дискретного логарифмування


то після множення Методи вирішення проблем дискретного логарифмування визначається вага елемента Методи вирішення проблем дискретного логарифмування або його слід.

При Методи вирішення проблем дискретного логарифмування (парна вага елемента) користуються другою формулою (5), у протилежному випадку - першою формулою (5). Таким чином, ділення на два з вибором точки порядку Методи вирішення проблем дискретного логарифмування практично зводиться до двох множень у поле.

Відзначимо, що при послідовному діленні на два для половини всіх кривих (з коефіцієнтом Методи вирішення проблем дискретного логарифмування і порядком Методи вирішення проблем дискретного логарифмування достатнім виявляється лише одне множення в поле.

Для цього при кожному діленні обчислюється лише розв'язання Методи вирішення проблем дискретного логарифмування квадратного рівняння (4) і Методи вирішення проблем дискретного логарифмування координата точки ділення. Нехай Методи вирішення проблем дискретного логарифмуванняМетоди вирішення проблем дискретного логарифмування, і при послідовному діленні на два з вибором точки із групи Методи вирішення проблем дискретного логарифмування одержуємо


Методи вирішення проблем дискретного логарифмування.

Згідно з (5) (перша формула) Методи вирішення проблем дискретного логарифмування, . . . , Методи вирішення проблем дискретного логарифмування, тому підсумовуючи рівності


Методи вирішення проблем дискретного логарифмування


отримуємо з урахуванням першого ділення


Методи вирішення проблем дискретного логарифмування (6)


де кожне з рішень Методи вирішення проблем дискретного логарифмування вибирається так, щоб виконувалася умова Методи вирішення проблем дискретного логарифмування тобто в НБ вагу вектора Методи вирішення проблем дискретного логарифмування була непарним.

Як видно, рекурентне обчислення за формулою (6) не вимагає обчислення Методи вирішення проблем дискретного логарифмування координати на кожному кроці ділення, замість неї слід лише запам'ятати параметри Методи вирішення проблем дискретного логарифмування й Методи вирішення проблем дискретного логарифмування. За необхідності Методи вирішення проблем дискретного логарифмування– координата обчислюється як Методи вирішення проблем дискретного логарифмування

Таким чином, відповідно до (6) алгоритм послідовного ділення на дві точки із групи Методи вирішення проблем дискретного логарифмування вимагає лише одного множення елементів у поле Методи вирішення проблем дискретного логарифмування. Це чудова властивість операції ділення на два можна використати з метою збільшення продуктивності обчислень як при криптоаналізі, так і при швидкому експоненціюванні Методи вирішення проблем дискретного логарифмування будь-якої точки із групи Методи вирішення проблем дискретного логарифмування.

Якщо припустити, що для будь-якої точки Методи вирішення проблем дискретного логарифмування ми знайшли спосіб визначення парності (непарності) Методи вирішення проблем дискретного логарифмування, то послідовна процедура віднімання й ділення на два з вибором точки із групи Методи вирішення проблем дискретного логарифмування за поліноміальний час приведе нас до відомої точки Методи вирішення проблем дискретного логарифмування.

Значення Методи вирішення проблем дискретного логарифмування у двійковому поданні визначається самою процедурою віднімання-ділення. Зрозуміло, що така функція вже не однобічна. Це питання поки залишається відкритим і Методи вирішення проблем дискретного логарифмування доводиться вирішувати відомими методами з експонентною складністю.

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

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

Приклад 1. Розглянемо криву Коблиця Методи вирішення проблем дискретного логарифмування над полем Методи вирішення проблем дискретного логарифмування, яка має порядок Методи вирішення проблем дискретного логарифмування. Всі точки Методи вирішення проблем дискретного логарифмування з генератором Методи вирішення проблем дискретного логарифмування наведено в таблиці 1


Таблиця 1- Координати точок Методи вирішення проблем дискретного логарифмування кривої Методи вирішення проблем дискретного логарифмування над полем Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

Методи вирішення проблем дискретного логарифмування

5 29 13 16 20 30 10 4 9 23 0

Методи вирішення проблем дискретного логарифмування

9 7 22 7 5 19 30 29 10 28 _

Методи вирішення проблем дискретного логарифмування

12P 13P 14P 15P 16P 17p 18P 19P 20P 21P 22P

Методи вирішення проблем дискретного логарифмування

8 22 27 21 1 11 15 18 2 26 _

Методи вирішення проблем дискретного логарифмування

19 30 28 26 14 15 25 23 28 27 0

Методи вирішення проблем дискретного логарифмування

23P 24P 25P 26P 27P 28P 29P 30P 31P 32P 33P

Методи вирішення проблем дискретного логарифмування

26 2 18 15 11 1 21 27 22 8 0

Методи вирішення проблем дискретного логарифмування

13 30 20 19 21 15 23 14 11 27 0

Методи вирішення проблем дискретного логарифмування

34P 35P 36P 37P 38P 39P 40P 41P 42P 43P 44P

Методи вирішення проблем дискретного логарифмування

23 9 4 10 30 20 16 13 29 5 *

Методи вирішення проблем дискретного логарифмування

25 27 25 18 7 29 23 29 14 15 *

Приймемо


Методи вирішення проблем дискретного логарифмування.


При діленні точки Методи вирішення проблем дискретного логарифмування на два отримаємо дві точки


Методи вирішення проблем дискретного логарифмування й Методи вирішення проблем дискретного логарифмування.


Розглянемо всі операції при діленні точки відповідно до (3), (5) (друга з формул) в ОНБ із ізоморфізмом, тобто


Методи вирішення проблем дискретного логарифмування, Методи вирішення проблем дискретного логарифмування.


У нормальному базисі маємо Методи вирішення проблем дискретного логарифмування. Розв’язуємо рівняння (3)


Методи вирішення проблем дискретного логарифмування.


Відповідно до таблиці 2 Методи вирішення проблем дискретного логарифмування, тоді одне з розв’язань для Методи вирішення проблем дискретного логарифмування легко отримати, задаючи перший біт, скажімо, рівним 0.


Таблиця 2 - Елементи поля Методи вирішення проблем дискретного логарифмування як степені елемента Методи вирішення проблем дискретного логарифмування в ОНБ

0 00000 1 11111 - -

Методи вирішення проблем дискретного логарифмування

10000

Методи вирішення проблем дискретного логарифмування

00011

Методи вирішення проблем дискретного логарифмування

01101

Методи вирішення проблем дискретного логарифмування

01000

Методи вирішення проблем дискретного логарифмування

10001

Методи вирішення проблем дискретного логарифмування

10110

Методи вирішення проблем дискретного логарифмування

00100

Методи вирішення проблем дискретного логарифмування

11000

Методи вирішення проблем дискретного логарифмування

01011

Методи вирішення проблем дискретного логарифмування

00010

Методи вирішення проблем дискретного логарифмування

01100

Методи вирішення проблем дискретного логарифмування

10101

Методи вирішення проблем дискретного логарифмування

00001

Методи вирішення проблем дискретного логарифмування

00110

Методи вирішення проблем дискретного логарифмування

11010

Методи вирішення проблем дискретного логарифмування

10010

Методи вирішення проблем дискретного логарифмування

10111

Методи вирішення проблем дискретного логарифмування

10011

Методи вирішення проблем дискретного логарифмування

01001

Методи вирішення проблем дискретного логарифмування

11011

Методи вирішення проблем дискретного логарифмування

11001

Методи вирішення проблем дискретного логарифмування

10100

Методи вирішення проблем дискретного логарифмування

11101

Методи вирішення проблем дискретного логарифмування

11100

Методи вирішення проблем дискретного логарифмування

01010

Методи вирішення проблем дискретного логарифмування

11110

Методи вирішення проблем дискретного логарифмування

01110

Методи вирішення проблем дискретного логарифмування

00101

Методи вирішення проблем дискретного логарифмування

01111

Методи вирішення проблем дискретного логарифмування

00111

При цьому інші біти визначаються із суми


Методи вирішення проблем дискретного логарифмування, тобто


Методи вирішення проблем дискретного логарифмування.


Друге розв’язання, мабуть, дорівнює Методи вирішення проблем дискретного логарифмування. Легко перевірити, що отримані розв’язання задовольняють рівняння


Методи вирішення проблем дискретного логарифмування.


Згідно з (5) (перша з формул) і даних таблиці 2 маємо

Методи вирішення проблем дискретного логарифмування


Отримано дві точки:


Методи вирішення проблем дискретного логарифмування і Методи вирішення проблем дискретного логарифмування.


Для визначення кожної необхідно виконати по два множення елементів поля. Неважко перевірити виконання умови

дискретне логарифмування метод

Методи вирішення проблем дискретного логарифмування, Методи вирішення проблем дискретного логарифмування,

зокрема,


Методи вирішення проблем дискретного логарифмуванняМетоди вирішення проблем дискретного логарифмуванняМетоди вирішення проблем дискретного логарифмування.


Обидві точки мають сліди


Методи вирішення проблем дискретного логарифмування,


і, отже, діляться на два, але мають різні порядки. Точка Методи вирішення проблем дискретного логарифмування має порядок 22, а точка Методи вирішення проблем дискретного логарифмування - порядок Для визначення порядку достатньо виконати ще одне ділення на два. Якщо поділити точкуМетоди вирішення проблем дискретного логарифмування, то отримаємо дві точки порядку 44, що не діляться на два (з непарною вагою x координат). При діленні точки Методи вирішення проблем дискретного логарифмування отримаємо дві точки з порядками 22 й 11 (з парною вагою x координат).

Размещено на

Рефетека ру refoteka@gmail.com