Найпоширенішою операцією у всіх криптографічних алгоритмах є
- кратне додавання точки
, позначуване як ![]()
Цю операцію звичайно називають скалярним множенням, або, звертаючись до термінології мультиплікативної групи, експоненціюванням точки кривої.
З метою підвищення продуктивності під час обчислення точки
багатьма авторами запропоновано різні методи. Дамо стислий опис й оцінку складності найпоширеніших з них.
Підхід до розрахунку точки
може відрізнятися залежно від того, чи є точка
фіксованою (заздалегідь відомою) або довільною точкою. У першому випадку завжди можна користуватися передрозрахунками точок, наприклад,
, які зберігаються в пам'яті. Двійкове подання числа
дозволяє селектрувати ті з них, які в результаті підсумовування утворять точку
. У другому, більш загальному випадку, всі обчислення доводиться проводити в реальному часі.
Нехай порядок
і число
подано у двійковій системі
Возможно вы искали - Контрольная работа: Булевы функции

Розглянемо спочатку основні алгоритми експоненціювання при невідомій заздалегідь точці ![]()
експоненціювання алгоритм скалярне множення
Алгоритм подвоєння-додавання
Це найприродніший і найпростіший метод, при якому обчислення здійснюються за формулою

Похожий материал - Контрольная работа: Використання модульної арифметики. Обчислення з многочленами. Методи множення. Складність обчисл
Ці обчислення на основі методу розрахунку ліворуч-праворуч здійснюються за допомогою наступного алгоритму.
Алгоритм 1.
Вхід:![]()
Вихід:![]()
1. ![]()
Очень интересно - Дипломная работа: Евклідова і неевклідова геометрії
2. ![]()
2.1 ![]()
2.2 ![]()
3.
.
Реалізація методу вимагає
операцій
подвоєння точки й
додавань
, де
- вага Хеммінга двійкового вектора
(число одиниць цього вектора). Оскільки в середньому число одиниць випадкового вектора дорівнює
, загальне число групових операцій оцінюється величиною ![]()
Алгоритм подвоєння-додавання-віднімання
Вам будет интересно - Реферат: Методы решения биматричных игр
Попередній алгоритм можна вдосконалити, якщо вести додаткову операцію-віднімання точки. Цей метод запропонований в 1990 році Ф. Морейном і Дж. Олівосом. Наприклад, число
у двійковій системі має вага у
, але його можна подати як
з вагою
Ця ідея знижує вагу Хеммінга і, відповідно, число групових операцій. Реалізувати алгоритм подвоєння - додавання віднімання можна переходом від двійкового подання числа
до трійкового
з коефіцієнтами ![]()
Одне із властивостей подання
- відсутність у ньому суміжних пар ненульових елементів, завдяки чому зростає питома вага нульових елементів
. Для розрахунку
використовується наступний алгоритм.
Алгоритм 2.
Вхід: позитивне ціле число ![]()
Вихід:![]()
1. ![]()
Похожий материал - Реферат: Методи вирішення проблем дискретного логарифмування
2. ![]()
2.1 ![]()
2.2 ![]()
2.3 ![]()