
Практичне заняття № 1 з дисципліни
„ Прикладна криптологія „
Тема заняття
Аналіз методів скалярного множення в групі точок еліптичних кривих, афінне та проективне подання точок еліптичних кривих, порівняльний аналіз складності операцій додавання та подвоєння точок еліптичних кривих для різних подань.
Джерела що рекомендуються для самостійної роботb
Горбенко І.Д., Горбенко Ю.І. Прикладна криптологія. Монографія (електронний варіант). Харків, ХНУРЕ, 2011 р.
Горбенко І.Д., Горбенко Ю.І. Прикладна криптологія. Електронний конспект лекцій. Харків, ХНУРЕ, 2011 р.
Горбенко І. Д. Гриненко Т. О. Захист інформації в інформаційно-телекомунікаційних системах: Навч. посібник. Ч.1. Криптографічний захист інформації - Харків: ХНУРЕ, 2004 - 368 с.
Горбенко Ю.І., Горбенко І.Д. Інфраструктури відкритих ключів . Системи ЕЦП. Теорія та практика. Харків. Форт. 2010 , 593с.
Додаткова література
А. Менезис, П. Ван Аршот, С. Ватсон. Руководство по прикладной криптографии CRC Press, 1997, электронная копия, 662 с
2.Брюс Шнайер. Прикладная криптография. М., изд. Триумф. 2002 г., 797 с
1.1 Основні теоретичні положення до пз
.1 Основні теоретичні відомості відносно ЕК
1.1.1 Визначення еліптичних кривих )[ 11 – 14, 47 – 49, 143 - 144 ].
Еліптичні криві над F(pm)
Нехай F(pm) є кінцевим полем з простим p > 3 і позитивним цілим m. Тоді існує еліптична крива E, яка описується афінним рівнянням Вейєрштраса вигляду [32]
Y2 = X3 + aX + b, (1.1)
причому a, b ∈ F(pm), якщо виконується умова що 4a3 + 27b2 ≠ 0F у полі F(pm).
Якщо 4a3 + 27b2 = 0F у полі, то крива називається сингулярною і не є еліптичною кривою.
Уся безліч F(pm) - значних точок E задається як
E(F(pm)) = {Q = (xQ, yQ) ∈ F(pm) × F(pm) | yQ2 = xQ3 + axQ + b} ∪ {0E},
де 0E – допоміжна точка, що називається точкою нескінченності кривої E.
Еліптичні криві над полем F(2m)
Нехай F(2m), для деякого m ≥ 1 буде кінцевим полем. Тоді існує еліптична крива E, яка описується афінним рівнянням Вейєрштраса вигляду [49, 143]
Y2 + XY = X3 + aX2 + b, 1.2)
причому a, b ∈ F(2m), якщо тільки b ≠ 0F у F(2m).
У криптографічних застосунках m повинне бути простим, оскільки за таких умов забезпечується запобігання певним видам атак на криптосистему.
Якщо b = 0F, то така крива називається сингулярною кривою і не є еліптичною кривою.
Уся безліч F(2m) - значних точок E задається як
E (F(2m)) = {Q = (xQ, yQ) ∈ F(2m) × F(2m) | yQ2 + xQyQ = xQ3 + axQ2 + b} ∪ {0E},
де 0E – допоміжна точка, що називається точкою нескінченності кривої E.
Еліптичні криві над F(3m)
Нехай F(3m) буде кінцевим полем, де m – позитивне ціле. Тоді існує еліптична крива E, яка описується афінним рівнянням Вейєрштраса вигляду [49, 143]
Y 2 = X 3 + aX 2 + b з a, b ∈ F(3m), (1.3)
якщо a, b ≠ 0F у полі F(3m).
Якщо a або b = 0F, то така крива називається сингулярною кривою і відповідно не є еліптичною кривою.
Уся безліч F(3m) - значних точок E задається як
E (F(3m)) = {Q = (xQ, yQ) ∈ F(3m) × F(3m) | yQ2 = xQ3 + axQ2 + b} ∪ {OE},
де OE – допоміжна точка, що називається точкою на нескінченності E.
1.1.2 Груповий закон для еліптичних кривих E(F(P)) в афінних координатах
Огляд систем координат
Зазвичай еліптична крива визначається в афінних координатах. Тому базова точка або відкритий ключ користувача задається в афінних координатах. Головним недоліком афінних координат є складність операції ділення в полі F(q) при виконанні як складання, так і подвоєння [49]. Зменшення складності в цілому при складанні та подвоєнні точок може досягатись засобом уникнення операції ділення, причому якомога більше. Це досягається використанням при множенні (складанні та подвоєнні точок) інших координат, таких як проективні координати, координати Якобі та модифіковані координати Якобі тощо, які є трьохмірними [49, 143]. Причому має забезпечуватись вимога, щоб усі і системи координат, що використовуються, були сумісні.
Груповий закон в афінних координатах
Нехай F(q) є кінцевим полем Галуа з p > 3. Нехай E є еліптичною кривою над F(q), що задається «коротким рівнянням Вейєрштраса » [49],
Y2 = X3 + aX + b, a, b ∈ F(q), (1.4)
а також 4a3 + 27b2 ≠ 0F у полі F(q). Тоді в афінних координатах груповий закон складання та подвоєння на еліптичній кривій (А.4) задається таким чином:
точка на нескінченності OE є одиничним елементом до операції додавання «+»;
усі точки R = (x, y) є такими, що R ≠ OE;
якщо R1 = (x1, y1) і R2 = (x2, y2) є дві різні точки на E – такі, що R1 ≠ ± R2 і R1, R2 ≠ OE, то сумою точок R1 та R2 є точка R3 = (x3, y3), координати якої визначаються як:
x3 = r2 – x1 – x2;
y3 = r (x1 – x3) – y1, (1.5)
r = (y2 – y1) / (x2 – x1);
якщо R = (x, y) є точка на E – така, що R ≠ 0E і y ≠ 0F, то її подвоєнням є точка 2R = (x3, y3), координати якої визначаються як:
x3 = r2 – 2x;
y3 = r (x – x3) – y, (1.6)
r = (3x2 + a) / (2y).
У разі якщо R = (x, 0F), подвоєнням цієї точки є точка 2R = 0E.
Геометрична інтерпретація складання двох точок з координатами (х1, у1) та (х2, у2) на еліптичній кривій наведено на рис .2.1
Рис.2.1 Геометрична інтерпретація складання двох точок.
1.1. 3 Груповий закон у проективних координатах
Особливістю проективного базису є те, що при використанні проективних координат необхідно виконувати більше операцій множення, але немає операції ділення за модулем (інверсії). Після виконання скалярного множення в проективному базисі необхідно зробити зворотне перетворення на афінні координати. Але при виконанні перетворення з проективних координат на афінні, необхідне одне ділення в полі.
Проективний аналог короткого афінного рівняння Вейєрштраса (1.4) визначається однорідним кубічним рівнянням [49]
Y2Z = X3 + aXZ2 + bZ3, a, b ∈ F(q). (1.7)
Безліч усіх трійок еквівалентна (X, Y, Z) і позначається як (X, Y, Z)/~.
Еліптична крива, що задається в проективних координатах, складається з усіх точок R = (X, Y, Z) рівняння (А.7) так, що трійка (X, Y, Z) є рішенням рівняння.
Існує співвідношення між точками Q кривої E, коли крива задана в афінних координатах, а точка R – у проективних координатах. У цьому випадку справедливі твердження:
Якщо Q = (XQ, YQ) є точка в афінних координатах, то R = (XQ, YQ, 1F) є відповідною точкою в проективних координатах.
Якщо R = (X, Y, Z) (з Z ≠ 0F) є рішенням (А.7), то Q = (X/Z, Y/Z) є відповідною точкою в афінних координатах кривої E.
Існує тільки одне рішення (А.7) із Z = 0, а саме: точка (0F, 1F, 0F), яка відповідає 0E.
У проективних координатах груповий закон задається таким чином:
точка (0F, 1F, 0F) є одиничним елементом 0E відносно операції «+»;
точка R = (X, Y, Z) ≠ (0F, 1F, 0F) є точкою на E, що задана в проективних координатах, тоді точка – R = (X, – Y, Z);
нехай R1 = (X1, Y1, Z1) і R2 = (X2, Y2, Z2) є дві відмінні точки на E – такі, що R1 ≠ R2 і R1, R2 ≠ (0F, 1F, 0F), тоді сума R1 та R2 є R3 = (X3, Y3, Z3). Координати X3, Y3 і Z3 можуть бути обчисленні за допомогою таких формул:
X3 = –su,
Y3 = t (u + s2X1Z2) – s3Y1Z2, (1.8)
Z3 = s3Z1Z2,
де
s = X2Z1 – X1Z2, t = Y2Z1 – Y1Z2, і u = s2 (X1Z2 + X2Z1) – t2Z1Z2.
якщо R = (X, Y, Z) ≠ (0F, 1F, 0F) є точкою на E, тоді її подвоєння є 2R = (X3, Y3, Z3).
Координати точки 2R – (X3, Y3, Z3) можуть бути обчислені за допомогою таких формул:
X3 = –su,
Y3 = t (u + s2X) – s3Y, (1.9)
Z3 = s3Z,
де
t = 3X2 + aZ2, s = 2YZ і u = 2s2X – t2Z.
Груповий закон у проективних координатах Якобі
Особливістю групового закону в проективних координатах Якобі є те, що скалярне множення вимагає більше множень, але не вимагає обчислення інверсій.
Аналогом рівняння Якобі в проективних координатах відносно короткого рівняння Вейєрштраса (1.5) є кубічне рівняння [49]
(Jac) Y2 = X3 + aXZ4 + bZ6, a, b ∈ F(q). (1.10)
Безліч усіх трійок еквівалентна (X, Y, Z) і позначається як (X, Y, Z)/~.
Існує відношення між точками Q кривої E, коли крива задана в афінних координатах, а точки R – у проективних координатах. Так, справедливими є твердження:
Якщо Q = (XQ, YQ) є точкою в афінних координатах E, то R = (XQ, YQ, 1F) є відповідною точкою в координатах Якобі.
Якщо R = (X, Y, Z) (Z ≠ 0F) є рішенням (1.10), тобто в координатах Якобі, то Q = (X/Z2, Y/Z3) є відповідною точкою в афінних координатах точки E.
Існує тільки одне рішення (1.10) зі значенням Z = 0F, а саме точка (1F, 1F, 0F), яка відповідає 0E.
У проективних координатах Якобі груповий закон для (1.10) задається таким чином [49]:
точка (1F, 1F, 0F) є одиничним елементом 0E щодо «+»;
якщо R = (X, Y, Z) ≠ (1F, 1F, 0F) є точкою на E, заданою в координатах Якобі, тоді точка – R = (X, – Y, Z);
якщо R1 = (X1, Y1, Z1) і R2 = (X2, Y2, Z2) є дві відмінні точки на E, але такі, що R1 ≠ R2 і R1, R2 ≠ (1F, 1F, 0F), тоді сумою точок R1 та R2 є точка R3 = (X3, Y3, Z3). Координати X3, Y3 і Z3 можуть бути обчислені за допомогою таких формул:
X3 = – h3 – 2u1h2 + r2,
Y3= – s1h3 + r (u1h2 – X3), (1.11)
Z3 = Z1Z2h,
де
u1 = X1Z22, u2 = X2Z21, s1 = Y1Z32, s2 = Y2Z31, h = u2 – u1, і r = s2 – s1;
якщо R = (X, Y, Z) ≠ (1F, 1F, 0F) є точкою на E, тоді її подвоєння є 2R = (X3, Y3, Z3). Координати X3, Y3 і Z3 можуть бути обчислені за допомогою таких формул:
X3 = t,
Y3 = – 8Y4 + m (s – t),
Z3 = 2YZ,
де
s = 4XY2, m = 3X2 + aZ4 і t = – 2s + m2.
Груповий закон у модифікованих координатах Якобі
Згідно з тим же кубічним рівнянням (1.10) груповий закон у модифікованих координатах Якобі задається шляхом представлення координат Якобі четвіркою координат (X, Y, Z, aZ4). Таке представлення забезпечує найменшу складність операції подвоєння для еліптичної кривої E (F(q)).
У модифікованих координатах Якобі груповий закон на еліптичній кривій задається таким чином [49]:
якщо R1 = (X1, Y1, Z1, aZ41) і R2 = (X2, Y2, Z2, aZ42) є дві відмінні точки на E – такі, що R1 ≠R2 і R1, R2 ≠ (1F, 1F, 0F, 0F), тоді сумою є точка R3 = (X3, Y3, Z3, aZ43). Координати X3, Y3 і Z3 можуть бути обчислені за допомогою таких формул:
X3 = – h3 – 2u1h2 + r2,
Y3 = – s1h3 + r (u1h2 – X3), (1.13)
Z3 = Z1Z2h,
aZ43 = aZ43,
де
u1 = X1Z22, u2 = X2 Z21, s1 = Y1Z32, s2 = Y2 Z31, h = u2 – u1, і r = s2 – s1;
якщо R = (X, Y, Z, aZ4) ≠ (1F, 1F, 0F, 0F) є точкою на E, тоді її подвоєння позначається як 2R = (X3, Y3, Z3, aZ4 3). Координати X3, Y3 і Z3 можуть бути обчислені за допомогою формули:
X3 = t,
Y3 = m (s – t) – u, (1.14)
Z3 = 2YZ,
aZ 43 = 2u (aZ4),
де
s = 4XY2, u = 8Y4, m = 3X2 + (a Z4), і t = –2s + m2. (1.15)
Змішані координати
Представлення точки еліптичної кривої в афінних, проективних координатах, координатах Якобі або модифікованих координатах Якобі має обчислювальні переваги й недоліки. Немає ніякої системи координат, яка забезпечує обидва як швидкі складання, так і швидкі подвоєння. Можливо змішування різних координат, тобто додання двох точок, де перша задається в деякій одній системі координат, а друга – в деякій іншій системі координат. Ми можемо також вибрати систему координат результату. Оскільки ми маємо чотири різні види систем координат, це надає велике число можливостей. Змішані координати надають кращу комбінацію систем координат для подвоєнь або складань для мінімізації часу для піднесення до ступеня еліптичної кривої. Змішані координати діють найефективніше в алгоритмі попереднього обчислення [49].