Скачать презентацию Защита информации Тема 9 Криптосистемы на эллиптических кривых Скачать презентацию Защита информации Тема 9 Криптосистемы на эллиптических кривых

09 Криптосистемы на эллиптических кривых.pptx

  • Количество слайдов: 15

Защита информации Тема 9. Криптосистемы на эллиптических кривых 14. 02. 2018 ИГЭУ. Кафедра ПОКС Защита информации Тема 9. Криптосистемы на эллиптических кривых 14. 02. 2018 ИГЭУ. Кафедра ПОКС

Криптосистемы на эллиптических кривых Исполь зование эллиптических кривых в криптографических целях было впервые предложено Криптосистемы на эллиптических кривых Исполь зование эллиптических кривых в криптографических целях было впервые предложено Коблицом и Миллером в 1985 году. В 1998 году были приняты стандарты США ANSI X 9. 62 и FIPS 186 2, а в 2001 году аналогичный российский стандарт ГОСТ Р 34. 10 2001. Нил Коблиц Neal Koblitz Виктор Миллер Victor Miller Криптографические алгоритмы, основанные на эллиптических кривых имеют более высокую стойкость (по отношению к другим асимметричным алгоритмам) при равной трудоемкости. Это объяс няется тем, что для вычисления обратных функций на эллиптических кривых известны только алгоритмы с экспоненциальным ростом трудо емкости, тогда как для обычных систем предложены субэкспоненциаль ные етоды. В результате м тот уровень стойкости, который достигается, скажем, в RSA при использовании 1024 битовых модулей, в системах на эллиптических кривых реализуется при размере модуля 160 бит. Защита информации. 09 Криптосистемы на эллиптических кривых 2

Математические основы Кривая третьего порядка Е , задаваемая уравнением вида Е: Y 2 = Математические основы Кривая третьего порядка Е , задаваемая уравнением вида Е: Y 2 = X 3 + а. Х + b, (1) называется эллиптической кривой. Поскольку Y = ± Х 3 + а. Х + b , график кривой симметричен от носительно оси абсцисс. Чтобы найти точки его пересечения с осью абсцисс, необходимо решить кубическое уравнение, используя известные формулы Кардано. X 3 + а. Х + b = 0, (2) Дискриминант этого уравне ния (3) Кривая на рис. б) называется сингулярной. a) D < 0; б) D = 0; 4 a 3 + 27 b 2 ≠ 0. (4) в) D > 0. 3

Композиция точек R = Р + Q Возьмем две точки Р = (x 1, Композиция точек R = Р + Q Возьмем две точки Р = (x 1, y 1), Q = (x 2, y 2) Е и проведем через них наклонную прямую. Эта прямая пересечет кривую в точке R'. Точку R = (хз, уз) получим путем измене ния знака ординаты точки '. R Будем обозначать описанную операцию композиции точек следу ющим образом: R = Р + Q. Пусть точка Р Е имеет координаты (х, у). Тогда точку с ко ординатами (х, у), будем обозначать Р. Будем считать, что вер тикальная прямая, проходящая через Р и Р, пересекает кривую в бесконечно удаленной точке О, т. е. Р + ( -Р) = O. По соглашению Р + О = О + Р = Р. Точка О будет играть роль нуля в Защита информации. 08 Системы электронной подписи операциях на эллиптической кривой. 4

Удвоение точки R = Р + Р = [2]Р Теперь представим, что точки Р Удвоение точки R = Р + Р = [2]Р Теперь представим, что точки Р и Q сближаются друг с другом и, наконец, сливаются в одну точку Р = Q = (x 1, y 1). Тогда композиция R = (хз, yз) = Р+Q = Р+Р будет получена путем проведения касательной в точке Р и отражения ее второго пересечения с кривой R' относительно оси абсцисс. Используем следующее обозначение: R = Р + Р = [2]Р. Композицию точек часто называют сложением точек. Удобно ввести следующие обозначения: [m]P = Р + Р+…+ Р (m слагаемых), [0]Р = О, [-т]Р = - ( Р + Р+…+ Р) (m слагаемых). Защита информации. 09 Криптосистемы на эллиптических кривых 5

Формулы для x 3 и y 3 Обозначим через k угловой коэффициент прямой. Тогда Формулы для x 3 и y 3 Обозначим через k угловой коэффициент прямой. Тогда формулы для вычисления координат точки R: x 3 = k 2 – x 1 – x 2, y 3 = k ( x 1 – x 3 ) – y 1, (5) (6) (7) (8) В криптографии используется кривая: Ер(a, b): Y 2 = X 3 + а. Х + b (mod p). (9) В уравнении (9) переменные X, Y и коэффициенты a, b, где a, b < р , принимают целочисленные значения, а все вычисления выполняются по модулю р. В соответствии с (4) на a, b накладывается ограничение (4 а 3 + 27 b 2) mod р ≠ 0. (10) Количе ство очек в будем обозначать #Ер(а, b). т Защита информации. 09 Криптосистемы на эллиптических кривых 6

Элиптические кривые. Пример Рассмотрим кривую: E 7(2, 6): Y 2 = Х 3 + Элиптические кривые. Пример Рассмотрим кривую: E 7(2, 6): Y 2 = Х 3 + 2 Х + 6 (mod 7). (11) Проверим условие (10): 4 • 23 + 27 • 62 = 4 • 1 + 6 • 1 = 3 ≠ 0 (mod 7). Данная кривая несингулярна. Найдем какую нибудь (случайную) точку. Пусть x = 5. Тогда Y 2 = 5 3 + 2 • 5 + 6 = 6 + 3 + 6 = 1 (mod 7) у = 1 (mod 7) или у = 1 = 6 (mod 7). Мы нашли сразу две точки: (5, 1) и (5, 6). Найдем еще пару точек путем вычисления композиции. Вначале найдем [2](5, 1). Используя (8), (6) и (7), вычисляем Мы получили [2](5, 1) = (4, 6) (можно убедиться, что полученная точка лежит на кривой, подставив ее координаты в уравнение (11) ). Найдем еще одну точку [3](5, 1) = (5, 1) + (4, 6). Используя (5), (6) и (7), вычисляем х3 = 22 – 5 – 4 = 2 (mod 7), у3 = 2 · (5 – 2) – 1 = 2 · 3 – 1 = 5 (mod 7). Мы получили [3](5, 1) = (2, 5). Защита информации. 08 Системы электронной подписи Итак, мы нашли четыре точки. 7

ЭЦП на эллиптической кривой (ГОСТ Р 34. 10‑ 2001) Данный метод полностью аналогичен описанному ЭЦП на эллиптической кривой (ГОСТ Р 34. 10‑ 2001) Данный метод полностью аналогичен описанному ранее методу ГОСТ Р 34. 10 94, но возведение в степень заменяется операцией композиции на кривой. Для сообщества пользователей выбирается общая эллиптическая кривая Ep(a, b) и точка G на ней, такая, что G, [2]G , [3]G, . . . , [q]G суть все различные точки множества Ep(a, b), и q = #Ер(а, b), причем [q]G = О. Число точек на кривой, при надлежащем выборе параметров р, а и b, может быть простым числом, #Ер(а, b) = q. В этом случае любая точка (кроме О) являет ся генератором всего множества точек. Длина числа q берется равной 256 бит. Каждый пользователь U выбирает случайное число d. U (секретный ключ), 0

ЭЦП на эллиптической кривой (ГОСТ Р 34. 10‑ 2001). Алгоритм Чтобы подписать сообщение m ЭЦП на эллиптической кривой (ГОСТ Р 34. 10‑ 2001). Алгоритм Чтобы подписать сообщение m пользователь А делает следующее: 1) вычисляет значение хеш функции сообщения h = h(m); 2) выбирает случайно число k , 0 < k < q ; 3) вычисляет P = [k]G = (x, у) ; 4) вычисляет r = х mod q (при r = 0 возвращается к шагу 2); 5) вычисляет s = (k h + r d. А) mod q (при s = 0 возвращается к шагу 2); 6) подписывает сообщение парой чисел (r, s). Для проверки подписанного сообщения (m; r, s) любой пользователь, знающий открытый ключ QA , делает следующее: 1) вычисляет h = h(m); 2) убеждается, что 0 < r, s < q; 3) вычисляет u 1 = s · h-1 mod q и u 2 = -r · h-1 mod q; 4) вычисляет композицию точек на кривой P = [u 1]G + [u 2]QA = (х, у) и если Р = О , отвергает подпись; 5) если х mod q = r, принимает подпись, в противном случае отвергает ее. Защита информации. 09 Криптосистемы на эллиптических кривых 9

Эффективная реализация операций. Вычисление m-кратной композиции ВХОД: точка Р, число m = (mt mt-1…m Эффективная реализация операций. Вычисление m-кратной композиции ВХОД: точка Р, число m = (mt mt-1…m 1)2. ВЫХОД: Q = [m]P. 1 Q ← O; 2 FOR i = t, t-1, …, 1 DO 3 Q ← [2]Q; 4 IF mi = 1 THEN Q ← Q + P; 5 RETURN Q. Данный алгоритм требует t удвоений и в среднем t/2 сложений. Пример: Вычислим [21]P. Здесь 21 = (10101)2 , t = 5. i 5 4 3 2 1 mi 1 0 1 : : : Q O, Q [2]Q = [2]P ; Q [2]Q = [4]P, Q [2]Q = [10]P ; Q [2]Q = [20]P, Q Q + P = P ; Q Q + P = [5] P ; Q Q + P = [21] P. Вместо 20 сложений было выполнено 4 удвоения и 3 сложения. Защита информации. 09 Криптосистемы на эллиптических кривых 10

Сложение в проективном представлении При вычислении композиции можно избавиться от вычисления инверсии, если в Сложение в проективном представлении При вычислении композиции можно избавиться от вычисления инверсии, если в качестве координат использовать рациональные числа, производя вычисления отдельно с числителем и знаменателем. Наиболее выгодным оказалось взвешенное проективное представление координат: Формулы вычисления x 3 и y 3: Защита информации. 09 Криптосистемы на эллиптических кривых 11

Сложение в проективном представлении Алгоритм: ВХОД: P 1 = (X 1, Y 1, Z Сложение в проективном представлении Алгоритм: ВХОД: P 1 = (X 1, Y 1, Z 1), P 2 = (X 2, Y 2, Z 2), P 1, P 2 ≠ O, P 1 ≠ ±P 2 ВЫХОД: P 3 = (X 3, Y 3, Z 3) = P 1 + P 2 λ 1 = X 1 Z 22 λ 2 = X 2 Z 12 λ 3 = λ 2 – λ 1 λ 4 = Y 1 Z 23 λ 5 = Y 2 Z 13 λ 6 = λ 5 – λ 4 λ 7 = λ 1 + λ 2 λ 8 = λ 4 + λ 5 Z 3 = Z 1 Z 2 λ 3 X 3 = λ 62 – λ 7λ 32 λ 9 = λ 7λ 32 – 2 X 3 Y 3 = (λ 9λ 6 – λ 8λ 33) / 2 Пример. P 1 = (5, 1, 1), P 2 = (4, 6, 1) λ 1 = 5 · 1 = 5, λ 2 = 4 · 1 = 4, λ 3 = 4 – 5 = 6, λ 4 = 1 · 1 = 1, λ 5 = 6 · 1 = 6, λ 6 = 6 – 1 = 5, λ 7 = 5 + 4 = 2, λ 8 = 1 + 6 = 0, Z 3 = 1 · 6 = 6, X 3 = 52 – 2 · 62 = 2, λ 9 = 2 · 62 – 2 · 2 = 2 – 4 = 5, Y 3 = (5 · 5 – 0 · 63) / 2 = 25 / 2 = (25+7) / 2 = 16 = 2. P 3 = (2, 2, 6) = (2/62, 2/63) = (2· 6 2, 2· 6 3) = (2· 6· 6, 2· 6· 6· 6) = (2· 1, 2· 6) = (2, 5). Защита информации. 09 Криптосистемы на эллиптических кривых 12

Удвоение в проективном представлении Формулы вычисления x 3 и y 3: Алгоритм: ВХОД: P Удвоение в проективном представлении Формулы вычисления x 3 и y 3: Алгоритм: ВХОД: P 1 = (X 1, Y 1, Z 1), P 1≠ O ВЫХОД: P 3 = (X 3, Y 3, Z 3) = [2]P 1 λ 1 = 3 X 12 + a. Z 14 λ 2 = 4 X 1 Y 12 Z 3 = 2 Y 1 Z 1 X 3 = λ 12 2λ 2 λ 3 = 8 Y 14 Y 3 = λ 1(λ 2 – X 3) – λ 3 Защита информации. 09 Криптосистемы на эллиптических кривых 13

Пример параметров кривой В контрольном примере в ГОСТ Р 34. 10‑ 2001 приводятся следующие Пример параметров кривой В контрольном примере в ГОСТ Р 34. 10‑ 2001 приводятся следующие значения параметров: Модуль эллиптической кривой: p = 8000000000000000000000000000000431 16 Коэффициенты эллиптической кривой: a = 716 b = 5 FBFF 498 AA 938 CE 739 B 8 E 022 FBAFEF 40563 F 6 E 6 A 3472 FC 2 A 514 COCE 9 DAE 23 B 7 E 16 Порядок циклической подгруппы точек эллиптической кривой: q = 8000000000000000150 FE 8 A 1892976154 C 59 CFC 193 ACCF 5 B 3 16 Координаты порождающей точки G: x. G = 216 y. G = 8 E 2 A 8 A 0 E 65147 D 4 BD 6316030 E 16 D 19 C 85 C 97 FOA 9 CA 267122 B 96 ABBCEA 7 E 8 FC 8 16 Секретный ключ подписи: d = 7 A 929 ADE 789 BB 9 BE 10 ED 359 DD 39 A 72 C 11 B 60961 F 49397 EEE 1 D 19 CE 9891 EC 3 B 28 16 Окрытый ключ проверки: x. Q= 7 F 2 B 49 E 270 DB 6 D 90 D 8595 BEC 458 B 50 C 58585 BA 1 D 4 E 9 B 788 F 6689 DBD 8 E 56 FD 80 B 16 y. Q= 26 F 1 B 489 D 6701 DD 185 C 8413 A 977 B 3 CBBAF 64 D 1 C 593 D 26627 DFFB 101 A 87 FF 77 DA 16 Защита информации. 08 Системы электронной подписи 14

Литература 1. ГОСТ Р 34. 10 2001. Информационная технология. Криптографическая защита информации. Процессы формирования Литература 1. ГОСТ Р 34. 10 2001. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи [http: //www. e nigma. ru/stat/gost/ ]. Защита информации. 08 Системы электронной подписи 15