Реферат Методи вирішення проблем дискретного логарифмування
Работа добавлена на сайт bukvasha.net: 2015-10-28Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего
от 25%

Подписываем
договор
Методи вирішення проблем дискретного логарифмування
1. Метод Поліга-Хелмана
Метод Поліга-Хелмана запропонований в 1978 році для визначення дискретного логарифма в мультиплікативній групі поля
Він заснований на відомій для групи факторизації порядку
Стосовно до адитивної групи точок з генератором
Після визначення значення
Приклад 1
Нехай порядок циклічної групи
Тут
На наступному етапі знаходимо одну із точок третього порядку
Нарешті, визначаємо точку 5-го порядку
Наведені три порівняння дають єдине розв’язання
Задача ускладнюється із зростанням переважно простого співмножника в розкладанні порядку
2. Метод ділення точок на два
Метод ділення точок на два. Для кривих над полем
У звичайній арифметиці двійкове подання цілого числа починається з визначення молодшого біта: при непарних
з
віднімається 1 (це молодший біт двійкового подання
) і результат ділиться на 2.
Якщо частка парна, ділення триває, у протилежному випадку виконується віднімання 1 і ділення на 2 (отримуємо наступний розряд числа рівний відповідно 0 або 1). Процедура триває до одержання частки, рівної 1. Якщо точка
– генератор простого порядку
, то при знанні відповіді на питання про парність (непарність) множника
точки
легко вирішується ( у поліноміальному часі ) описаною вище послідовною процедурою віднімання-ділення на два.
У простому полі
ділення на два тотожно множення на елемент
Виявляється замість багаторазового додавання ділення точки на два виконується набагато ефективніше й швидше.
Визначимо порядок кривої як
де
Нехай
Введемо операцію ділення точки несуперсингулярної кривої
на два як зворотну подвоєнню. Нехай маємо точку
Інакше кажучи, визначення
У загальному випадку це рівняння має два розв'язки
Якщо слід
З (1) і (5) неважко отримати співвідношення між координатами точок ділення
які можуть бути корисні при криптоаналізі. Відзначимо дві властивості точок ділення.
Точки ділення пов'язані як
тому що
Якщо
ає порядок
У порівнянні з подвоєнням точки (2), яке вимагає обчислення двох множень й інверсії елемента
Найбільш ефективне розв’язання рівняння (3) і операцій (4), (5) виконуються в НБ (нормальному базисі) мінімальної складності, зокрема, в ОНБ (оптимальному нормальному базисі).
Розв’язання квадратного рівняння в НБ здійснюється за допомогою простої
Піднесення у квадрат (добування кореня квадратного) у нормальному базисі зводиться до циклічного зсуву вправо (вліво)
Поряд з додаванням елементів за модулем 2 перераховані операції часто називають ²безкоштовними² і не враховують у наближених розрахунках обчислювальної складності. Ділення відповідно до (5) вимагає лише двох множень у нормальному базисі
Розглянемо можливі підходи до розв’язання задач дискретного логарифма. Найбільш проста ситуація виникає для кривої
з коефіцієнтом
Максимальний простий порядок
Вони мають відповідно непарну й парну вагу
то після множення
При
Відзначимо, що при послідовному діленні на два для половини всіх кривих (з коефіцієнтом
Для цього при кожному діленні обчислюється лише розв'язання
Згідно з (5) (перша формула)
отримуємо з урахуванням першого ділення
де кожне з рішень
Як видно, рекурентне обчислення за формулою (6) не вимагає обчислення
Таким чином, відповідно до (6) алгоритм послідовного ділення на дві точки із групи
Якщо припустити, що для будь-якої точки
Значення
Для кривої
Визначити, яка з них має порядок
Приклад 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) (друга з формул) в ОНБ із ізоморфізмом, тобто
У нормальному базисі маємо
Відповідно до таблиці 2
Таблиця 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 маємо
Отримано дві точки:
Для визначення кожної необхідно виконати по два множення елементів поля. Неважко перевірити виконання умови
дискретне логарифмування метод
зокрема,
Обидві точки мають сліди
і, отже, діляться на два, але мають різні порядки. Точка
Размещено на http://www.allbest.ru/