Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конс.ТСО(2)послСАМ.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
4.44 Mб
Скачать

Лекція 12 Еліптичні криві й операції в групах точок еліптичних кривих.

План

  1. Поняття еліптичної кривої.

  2. Класифікація еліптичних кривих.

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

4. Проективні координати.

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

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

Операції з однобічною функцією

(gгенератор мультиплікативної групи, p просте число) можна з обмеженнями перевести в групову операцію якої-небудь скінченної групи. Як таку групу В. Міллером і Н. Кобліцем у середині 80-х років було запропоновано використовувати групу точок еліптичної кривої (ЕК ) з операцією додавання точок. Стійкість криптосистем при цьому базується на проблемі дискретного логарифмування на ЕК. Ця ідея виявилася досить продуктивною. Багаторічні спроби вчених знайти субекспоненційні методи розв’язання цієї проблеми не увінчалися успіхом, тому складність її розв’язання оцінюється нині як експоненційна. Криптосистеми на еліптичних кривих пропонують широкий вибір загальносистемних параметрів, на порядок виграють в обсязі пам'яті і швидкодії в порівнянні з попередниками. Вони є основними несиметричними криптосистемами початку ХХІ століття і рекомендуються до застосування міжнародними і національними стандартами.

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

Нагадаємо, що еліптичною кривою Е над полем F називається гладка крива, що задається рівнянням виду

(12.1)

Іноді замість (12.1) зручно користуватися алгебраїчним рівнянням для функції двох змінних.

. (12.2)

Крива називається сингулярною (особливою), якщо існує хоча б одна точка , у якій часткові похідні функції (12.2) одночасно обертаються в 0, тобто . У противному випадку крива називається несингулярною (не особливою).

Позначатимемо  F безліч точок (x, y)  F2 , які задовольняють цьому рівнянню враховуючи, крім того, нескінченно віддалену точку, що позначається О. Якщо  розширення поля , то позначає безліч точок (x, y)  K2, , котрі задовольняють рівнянню разом із точкою О. Щоб крива, що задається рівнянням (12.1) була еліптичною кривою в або , вона повинна бути гладкою (несингулярною). Це означає, що в або в не повинно бути точок, у яких дорівнюють нулю обидві часткові похідні. Іншими словами два рівняння

не повинні задовольнятися в жодній точці або .

З рівнянням еліптичної кривої можна зв'язати поняття дискримінанту

d =  16 (4а2 + 27b2).

(це для рівняння еліптичної кривої у формі Вейєрштрасса )

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

Замість загального запису рівняння часто розглядають канонічні рівняння трьох типів кривих

(12.3)

де характеристика поля.

Нехай еліптична крива над полем дійсних чисел, задана рівнянням (12.2 ), і нехай і  дві точки на еліптичній кривій. Визначимо протилежний елемент до точки (тобто зворотній елемент ) і суму за наступним правилом:

  1. якщо є точкою , то ми визначимо як . Для кожної точки ми маємо , тобто точка виконує роль одиниці за додаванням;

  2. протилежною є точка з тією ж х-координатою, але з протилежною у-координатою, тобто  (х, у) = (х, у). Якщо , то ми визначаємо суму як точку на нескінченності ;

  3. якщо і мають різні х-координати, то можна показати, що пряма лінія, яка проходить через і , перетинає криву точно в одній точці (ця точка може збігатися з або і тоді пряма є дотичною до кривій в точці або і тоді ми маємо або відповідно). Потім ми визначаємо як , тобто як дзеркальне щодо осі х відображення точки перетину ;

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

  5. сума будь-яких трьох точок на еліптичній кривій , що лежать на одній прямій, дорівнює .

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

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

Y -R

Q

P

X

R

Рисунок 12.1  Геометрична інтерпретація додавання двох

різних точок і .

Знайдемо координати точки , виразивши них через координати точок і . При цьому точки і можуть бути різними і співпадаючими. Ми опустимо висновок цих формул (він буде вам наведений у дисципліні Розширення полів та еліптичні криві).

1. (12.4)

2. (12.5)

Ці формули справедливі для кривих над усіма полями, у тому числі і скінченними, крім полів характеристик 2 і 3.

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

Для кривих над полями характеристики два розрізнюють два типа кривих і відповідних їм рівнянь. Розглядають так звані суперсингулярні і несуперсингулярні криві (їх означення докладніше вам буде наведено у дисципліні Розширення полів та еліптичні криві).

Для суперсингулярних кривих закони додавання точок приймають вигляд

1. (12.6)

2. (12.7)

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

Закони додавання точок для несупесингулярних кривих переписуються так. Координати точки дорівнюють

1. (12.8)

2. (12.9)

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

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

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

В афінних координатах рівняння кривій запишеться як

Формально введемо нові змінні підстановкою , ,

Тоді при

Множачи це рівняння на , маємо

(12.10)

Це так називане гомогенне (однорідне) кубічне рівняння (усі мономи 3-го степеня).

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

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

Нескінченно віддалена пряма в задається рівнянням . Єдиною точкою , що задовольняє при цьому рівнянню (12.9) над будь-яким полем , є точка В проективній площині вона задає координати нескінченно віддаленої точки або нульового елемента групи

Точка є третьою точкою перетинання точок і на нескінченності. Наприклад, кривій

у проективних координатах відповідає крива

.

Нехай Пряма, що проходить через точки і , задається в афінних координатах як , а в проективних як Підставимо останню рівність у рівняння кривій, тоді Це рівняння має три розв’язання Таким чином, пряма перетинає криву в проективних координатах у трьох точках , , . Остання точка  це точка на нескінченності Проективна площина дозволяє задати координати цієї точки.