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

Контрольная работа: Складність деяких методів експоненціювання точки кривої

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

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

З метою підвищення продуктивності під час обчислення точки Складність деяких методів експоненціювання точки кривої багатьма авторами запропоновано різні методи. Дамо стислий опис й оцінку складності найпоширеніших з них.

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

Нехай порядок Складність деяких методів експоненціювання точки кривої і число Складність деяких методів експоненціювання точки кривої подано у двійковій системі


Складність деяких методів експоненціювання точки кривої


Розглянемо спочатку основні алгоритми експоненціювання при невідомій заздалегідь точці Складність деяких методів експоненціювання точки кривої

експоненціювання алгоритм скалярне множення

Алгоритм подвоєння-додавання


Це найприродніший і найпростіший метод, при якому обчислення здійснюються за формулою


Складність деяких методів експоненціювання точки кривої


Ці обчислення на основі методу розрахунку ліворуч-праворуч здійснюються за допомогою наступного алгоритму.

Алгоритм 1.

Вхід: Складність деяких методів експоненціювання точки кривої

Вихід: Складність деяких методів експоненціювання точки кривої

1. Складність деяких методів експоненціювання точки кривої

2. Складність деяких методів експоненціювання точки кривої

2.1 Складність деяких методів експоненціювання точки кривої

2.2 Складність деяких методів експоненціювання точки кривої

3. Складність деяких методів експоненціювання точки кривої.

Реалізація методу вимагає Складність деяких методів експоненціювання точки кривої операцій Складність деяких методів експоненціювання точки кривої подвоєння точки й Складність деяких методів експоненціювання точки кривої додавань Складність деяких методів експоненціювання точки кривої, де Складність деяких методів експоненціювання точки кривої - вага Хеммінга двійкового вектора Складність деяких методів експоненціювання точки кривої (число одиниць цього вектора). Оскільки в середньому число одиниць випадкового вектора дорівнює Складність деяких методів експоненціювання точки кривої, загальне число групових операцій оцінюється величиною Складність деяких методів експоненціювання точки кривої


Алгоритм подвоєння-додавання-віднімання


Попередній алгоритм можна вдосконалити, якщо вести додаткову операцію-віднімання точки. Цей метод запропонований в 1990 році Ф. Морейном і Дж. Олівосом. Наприклад, число Складність деяких методів експоненціювання точки кривої у двійковій системі має вага у Складність деяких методів експоненціювання точки кривої, але його можна подати як Складність деяких методів експоненціювання точки кривої з вагою Складність деяких методів експоненціювання точки кривої Ця ідея знижує вагу Хеммінга і, відповідно, число групових операцій. Реалізувати алгоритм подвоєння - додавання віднімання можна переходом від двійкового подання числа Складність деяких методів експоненціювання точки кривої до трійкового Складність деяких методів експоненціювання точки кривої з коефіцієнтами Складність деяких методів експоненціювання точки кривої Складність деяких методів експоненціювання точки кривої Одне із властивостей подання Складність деяких методів експоненціювання точки кривої - відсутність у ньому суміжних пар ненульових елементів, завдяки чому зростає питома вага нульових елементів Складність деяких методів експоненціювання точки кривої. Для розрахунку Складність деяких методів експоненціювання точки кривої використовується наступний алгоритм.

Алгоритм 2.

Вхід: позитивне ціле число Складність деяких методів експоненціювання точки кривої

Вихід: Складність деяких методів експоненціювання точки кривої

1. Складність деяких методів експоненціювання точки кривої

2. Складність деяких методів експоненціювання точки кривої

2.1 Складність деяких методів експоненціювання точки кривої

2.2 Складність деяких методів експоненціювання точки кривої

2.3 Складність деяких методів експоненціювання точки кривої

3. Складність деяких методів експоненціювання точки кривої

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

Алгоритм 3.

Вхід: Складність деяких методів експоненціювання точки кривої

Вихід: Складність деяких методів експоненціювання точки кривої

1. Складність деяких методів експоненціювання точки кривої

2. Складність деяких методів експоненціювання точки кривої

2.1 Складність деяких методів експоненціювання точки кривої

2.2 Складність деяких методів експоненціювання точки кривої

2.3 Складність деяких методів експоненціювання точки кривої

3. Складність деяких методів експоненціювання точки кривої.

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


Метод вікон з алгоритмом подвоєння - додавання - віднімання


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

Для цього розраховується за допомогою алгоритму 2 трійкове число Складність деяких методів експоненціювання точки кривої, що потім може розбиватися на блоки довжиною, не менше Складність деяких методів експоненціювання точки кривої

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


Складність деяких методів експоненціювання точки кривої


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

У загальному випадку в пам'яті зберігається Складність деяких методів експоненціювання точки кривої точок. Число Складність деяких методів експоненціювання точки кривої може бути визначене за допомогою модифікованого алгоритму 2. Модифікація полягає в тому, що: на кроці 2.1 замість Складність деяких методів експоненціювання точки кривої необхідно записати Складність деяких методів експоненціювання точки кривої, де Складність деяких методів експоненціювання точки кривої означає ціле число Складність деяких методів експоненціювання точки кривої, певне в інтервалі Складність деяких методів експоненціювання точки кривої. Далі обчислюється точка Складність деяких методів експоненціювання точки кривої згідно з алгоритмом 4.

Алгоритм 4.

Вхід: Складність деяких методів експоненціювання точки кривоїСкладність деяких методів експоненціювання точки кривої

Вихід: Складність деяких методів експоненціювання точки кривої

1. Складність деяких методів експоненціювання точки кривої

2. Складність деяких методів експоненціювання точки кривої

3. Складність деяких методів експоненціювання точки кривої

3.1 Складність деяких методів експоненціювання точки кривої

3.2 Складність деяких методів експоненціювання точки кривої

Складність деяких методів експоненціювання точки кривої

Складність деяких методів експоненціювання точки кривої

4. Складність деяких методів експоненціювання точки кривої.

Нехай, наприклад,Складність деяких методів експоненціювання точки кривої при цьому Складність деяких методів експоненціювання точки кривої й Складність деяких методів експоненціювання точки кривої Використання трійкового Складність деяких методів експоненціювання точки кривої вимагає, мабуть, двох додавань точок, тоді як у другому випадку за рахунок попереднього розрахунку точки Складність деяких методів експоненціювання точки кривої достатньо одного додавання. Число подвоєнь однаково в обох випадках. Зрозуміло також, що виграш за рахунок вікна з'являється лише при порівняно більших довжинах Складність деяких методів експоненціювання точки кривої числа Складність деяких методів експоненціювання точки кривої

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


Метод Монтгомері


Розглянемо метод Монтгомері. Нехай Складність деяких методів експоненціювання точки кривоїСкладність деяких методів експоненціювання точки кривої з Складність деяких методів експоненціювання точки кривоїПозначимо Складність деяких методів експоненціювання точки кривої Складність деяких методів експоненціювання точки кривої Можна перевірити, що


Складність деяких методів експоненціювання точки кривої (1)


Отже, знаючи Складність деяких методів експоненціювання точки кривої - координати точок Складність деяких методів експоненціювання точки кривої й Складність деяких методів експоненціювання точки кривої, можна обчислити Складність деяких методів експоненціювання точки кривої координати точок Складність деяких методів експоненціювання точки кривої й Складність деяких методів експоненціювання точки кривої, перейти до пари Складність деяких методів експоненціювання точки кривої, або до пари Складність деяких методів експоненціювання точки кривої.

Кожна така ітерація вимагає одного подвоєння й одного додавання з використанням формули (1).

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


Складність деяких методів експоненціювання точки кривої


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

Алгоритм 5. Метод експоненціювання Монтгомері.

Вхід: Складність деяких методів експоненціювання точки кривої

Вихід: Складність деяких методів експоненціювання точки кривої


1. Складність деяких методів експоненціювання точки кривої

2. Складність деяких методів експоненціювання точки кривої

2.1 Складність деяких методів експоненціювання точки кривої

Складність деяких методів експоненціювання точки кривої

Складність деяких методів експоненціювання точки кривої

Складність деяких методів експоненціювання точки кривої

Складність деяких методів експоненціювання точки кривої

Складність деяких методів експоненціювання точки кривої

3.1 Складність деяких методів експоненціювання точки кривої

3.2 Складність деяких методів експоненціювання точки кривої

4. Складність деяких методів експоненціювання точки кривої


Алгоритм 5 вимагає однієї інверсії, а не двох, тому що можна обчислити

Складність деяких методів експоненціювання точки кривої, а Складність деяких методів експоненціювання точки кривої потім отримати множенням на Складність деяких методів експоненціювання точки кривої. Можна домогтися істотного збільшення продуктивності, якщо операцію подвоєння замінити операцією ділення точки на два. Виграш до 40% при цьому досягається у зв'язку з відсутністю операції інверсії елемента в полі. Крім того, групові операції послідовних ділень у НБ зводяться практично до однієї операції множення в полі.


Методи експоненціювання при фіксованій точці


Фіксованою точкою в криптосистемі завжди є генератор або базова точка криптосистеми порядку Складність деяких методів експоненціювання точки кривої. Такі точки - це відкриті ключі користувачів. Якщо в системі є резерв пам'яті, його можна використати для зберігання заздалегідь розрахованих точок. Наприклад, якщо обчислити й записати в пам'яті точки Складність деяких методів експоненціювання точки кривої, то для визначення скалярного добутку Складність деяких методів експоненціювання точки кривої залишиться лише обчислити суми точок відповідно до двійкового подання Складність деяких методів експоненціювання точки кривої. У середньому для цього буде потрібно лише Складність деяких методів експоненціювання точки кривої операцій. Їхнє число можна зменшити до Складність деяких методів експоненціювання точки кривої операцій додавання й віднімання, якщо скористатися трійковим поданням Складність деяких методів експоненціювання точки кривої.

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


Складність деяких методів експоненціювання точки кривої


Тоді


Складність деяких методів експоненціювання точки кривої

де Складність деяких методів експоненціювання точки кривої


Ці обчислення здійснюються за допомогою наступного алгоритму.

Алгоритм 6.

Вхід: ширина вікна Складність деяких методів експоненціювання точки кривої, Складність деяких методів експоненціювання точки кривої,Складність деяких методів експоненціювання точки кривої

Вихід: Складність деяких методів експоненціювання точки кривої

1. Передрозрахунки:Складність деяких методів експоненціювання точки кривої

2. Складність деяких методів експоненціювання точки кривої

3. Складність деяких методів експоненціювання точки кривої

3.1 Складність деяких методів експоненціювання точки кривої

3.2 Складність деяких методів експоненціювання точки кривої

4. Складність деяких методів експоненціювання точки кривої

Середня обчислювальна складність алгоритму оцінюється кількістю додавань :


Складність деяких методів експоненціювання точки кривої.


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


Складність деяких методів експоненціювання точки кривоїСкладність деяких методів експоненціювання точки кривої;

Складність деяких методів експоненціювання точки кривої


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

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

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

Алгоритм 7.

Вхід: ширина вікна Складність деяких методів експоненціювання точки кривої, Складність деяких методів експоненціювання точки кривої,Складність деяких методів експоненціювання точки кривої,Складність деяких методів експоненціювання точки кривої

Вихід: Складність деяких методів експоненціювання точки кривої

1. Передрозрахунки: обчислити всі точки Складність деяких методів експоненціювання точки кривої й

Складність деяких методів експоненціювання точки кривої, Складність деяких методів експоненціювання точки кривої

2. Подати число Складність деяких методів експоненціювання точки кривої у вигляді конкатенації фрагментів шириною Складність деяких методів експоненціювання точки кривої

Складність деяких методів експоненціювання точки кривої Нехай Складність деяких методів експоненціювання точки кривої означає Складність деяких методів експоненціювання точки кривоїй біт фрагмента Складність деяких методів експоненціювання точки кривої

3. Складність деяких методів експоненціювання точки кривої

4. Складність деяких методів експоненціювання точки кривої

4.1 Складність деяких методів експоненціювання точки кривої

4.2 Складність деяких методів експоненціювання точки кривої

5. Складність деяких методів експоненціювання точки кривої

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


Складність деяких методів експоненціювання точки кривої


Обмінюючи час обчислень на пам'ять, можна й далі підвищувати продуктивність експоненціювання точки кривої. Наприклад, для кожного вікна шириною Складність деяких методів експоненціювання точки кривої можна заздалегідь розрахувати Складність деяких методів експоненціювання точки кривої точок, при цьому на згадку рийдеться записати Складність деяких методів експоненціювання точки кривої точок. Операція подвоєння в цьому випадку не використовується, а складність оцінюється числомСкладність деяких методів експоненціювання точки кривої додавань. Цей алгоритм назвемо алгоритмом максимальної пам'яті. У табл.13.1 дані для порівняння величини пам'яті Складність деяких методів експоненціювання точки кривої й тимчасової складності Складність деяких методів експоненціювання точки кривої (числа групових операцій) алгоритму 6 й алгоритму максимальної пам'яті при Складність деяких методів експоненціювання точки кривої. В обох випадках зі збільшенням ширини вікна збільшується пам'ять і знижується число групових операцій. Очевидно, що останній алгоритм за наявності більших резервів пам'яті дозволяє істотно прискорити операцію експоненціювання фіксованої точкиСкладність деяких методів експоненціювання точки кривої


Таблиця 1 - Об'єм пам'яті Складність деяких методів експоненціювання точки кривоїй тимчасова складність Складність деяких методів експоненціювання точки кривої (число групових операцій) алгоритму 6 й алгоритму максимальної пам'яті при Складність деяких методів експоненціювання точки кривої

Метод W = 3 W = 4 W = 5 W = 6

M S M S M S M S
Алгоритм 6 14 900 30 725 62 632 126 529

Алгоритм

максимальної пам'яті.

469 58 750 46 1280 38 2079 33

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