Эллиптическая кривая
Наука | |
Математика | |
---|---|
Тема | эллиптическая кривая |
Предмет изучения | действия с точками на кривой |
Период зарождения | XVII век |
Основные направления | математика, аналитическая геометрия |
Вспомогат. дисциплины | алгебра, математический анализ, криптография |
Значительные учёные | Ньютон, Вейерштрасс, Даниэл Бернштайн, Таня Ланге |
Эллипти́ческая крива́я над полем — это геометрическое множество точек на плоскости, удовлетворяющее уравнению 3-й степени с коэффициентами из поля и «точкой на бесконечности» (бесконечно удалённая точка)[1]:
Дополнительные определения:
- поле в общей алгебре — множество, для элементов которого определены операции сложения, взятия противоположного значения, умножения и деления (кроме деления на ноль), причём свойства этих операций близки к свойствам обычных числовых операций. Наиболее известными полями являются поле рациональных чисел, поле действительных чисел и поле комплексных чисел[2];
- группа — множество, на котором определена ассоциативная бинарная операция, причём для этой операции имеется нейтральный элемент (аналог единицы для умножения) и каждый элемент множества имеет обратный (зеркальный) элемент.
Эллиптические кривые являются одним из основных направлений в современной теории чисел. Например, они были использованы Эндрю Уайлсом (совместно с Ричардом Тейлором) в доказательстве Великой теоремы Ферма. Они примененяются в криптографии, в частности, на эллиптических кривых основан российский стандат цифровой подписи ГОСТ Р 34.10-2001[3]. Большинство криптографических протоколов полагаются на конечные поля, то есть поля с конечным числом элементов.
История
Древнейшим дошедшим до нашего времени источником, в котором рассматриваются кубические кривые, является «Арифметика» древнегреческого математика Диофанта. В этой работе ставится задача найти рациональные и нетривиальные решения уравнения . Диофант решает эту задачу при помощи подстановки .
В 1670-х годах Ньютон, используя приёмы аналитической геометрии, делает попытку классифицировать кубические кривые. В ходе исследований Ньютон заметил, что решение Диофанта состоит, по существу, в пересечении кривой, заданной уравнением , с касательной .
Открытие Ньютона в конечном итоге привело к формулам сложения точек на эллиптической кривой. В XIX веке эллиптические кривые находят применение в теории эллиптических функций, тесно связанных с эллиптическими интегралами, которые называются так потому, что они используются, в частности, для вычисления длины дуг эллипсов. Таким образом, исторически термин «эллиптическая кривая» происходит от термина «эллиптический интеграл»[4].
Эллиптические кривые над полем действительных чисел
Если характеристика поля (Char K, от англ.character), над которым рассматривается данное уравнение, не равна 2 или 3, то уравнение с помощью замены координат (преобразование координат производится для перехода к более простой или более удобной для анализа математической модели) приводится к одной канонической форме — форме Вейерштрасса[2]:
Как видно из формулы, если точка с координатами () удовлетворяет приведённому уравнению, то этому уравнению удовлетворяет также и точка с координатами ().
В случае если характеристика поля равна 3, общее уравнение кривой можно привести к следующей форме:
Наконец, если характеристика поля равна 2, общее уравнение кривой можно привести к одной из следующих форм:
Во всех указанных случаях коэффициенты и (либо , и ) являются элементами поля и являются вещественными числами.
Определение эллиптической кривой также требует, чтобы кривая не имела особых точек. Геометрически это значит, что график не должен иметь самопересечений. Алгебраически достаточно проверить, что дискриминант не равен нулю.
График эллиптической кривой может иметь две формы:
- Если дискриминант положительный, он состоит из двух компонентов (как на изображении слева, где кривая имеет дискриминант 64). Этот случай соответствует тому факту, что кубический многочлен имеет ровно три различных действительных корня; эти корни являются абсциссами трех точек эллиптической кривой на оси .
- Если дискриминант отрицательный, он имеет только один компонент (как на изображении справа, где кривая имеет дискриминант -368). Этот случай соответствует тому факту, что кубический многочлен имеет ровно один действительный корень. Этот корень — абсцисса точки эллиптической кривой на оси .
Примеры арифметических операций над точками на эллиптической кривой
Геометрическое сложение точек на эллиптической кривой
Сложение двух точек на эллиптической кривой стало возможным благодаря следующему свойству: секущая прямая, проходящая через две точки кривой, пересекает кривую в третьей точке[5].
На множестве точек эллиптической кривой определяют группу по сложению точек эллиптической кривой. Операцией группового сложения называют три точки эллиптической кривой, удовлетворяющих уравнению:
- .
Поскольку точке с координатами () с точки зрения алгебры удовлетворяет также и точка с зеркальными координатами (), имеем так же и зеркальное отображение , то есть элементы , являются взаимно обратными по групповой операции.
В этом случае суммой двух точек и , принадлежащих эллиптической кривой, называется третья точка, которая лежит на секущей прямой и эллиптической кривой одновременно и обозначается как:
Итак, в общем случае для групповой операции по сложению необходимо провести секущую через точки и зеркально отобразить точку как
Существуют следующие частные случаи:
- Если прямая является касательной к кривой в одной из двух точек, мы считаем, что третья точка пересечения одновременно является точкой касания . Это говорит о том, что касательная имеет двойной контакт с кривой:
- Если прямая вертикальна, мы считаем, что третья точка пересечения является точкой на бесконечности и что она сама по себе симметрична относительно оси . Таким образом, сумма двух точек — это бесконечно удаленная точка:
- Наконец, чтобы определить сумму точки к себе (, или ), используем касательную в точке . Она пересекает кривую в третьей точке, сумма точек равна .
Умножение точек на эллиптической кривой
Сложение естественным образом позволяет определить умножение точки на кривой на целое число. Например, по определению равно . Но может случиться так, что возникнет необходимость в других видах умножения.
Например, в случае кривой, определённой уравнением , можно применить процедуру умножения на комплексное число (его ещё называют «мнимая единица»), равное , задав точку с координатами , и в более общем плане мы можем получить умножение точек кривой на любое целое число Гаусса[5].
Для эллиптических кривых, определенных на полях характеристики «ноль» (например, поле рациональных чисел), это, по сути, единственные два возможных случая: либо есть только умножение на относительные целые числа, либо есть комплексное умножение на порядок в мнимом квадратичном поле.
Эллиптические кривые в криптографии
Создание криптографии с открытым ключом Диффри и Хеллманом в 1976 году и последующее изобретение криптосистемы с открытым ключом RSA Ривестом, Шамиром и Адлеманом в 1978 году являются переломными событиями в долгой истории секретных коммуникаций. Трудно переоценить важность электронных систем с открытым ключом и связанных с ними схем цифровой подписи в современном мире компьютеров и интернета[6].
Криптография – это метод защиты информации путём использования специальных алгоритмов кодирования. Информация может находиться на этапе хранения (например, файл на жестком диске), передачи (например, электронная связь между двумя или несколькими сторонами) или использования для вычислений.
Поскольку практически вся информация, используемая в настоящее время, существует в цифровом виде, любое сообщение можно представить в виде какого-то целого числа. Мы можем зашифровать его, используя выражение , где — это зашифрованная посылка, а — это какой-то множитель, изменяющий (шифрующий) исходный код посылки.
Вопрос в том, насколько сложно, имея зашифрованный текст и не зная множитель, восстановить исходное сообщение , если в процедуре шифрования были использованы операции сложения и умножения над точками эллиптической кривой. При этом нужно учитывать, что арифметические операции с точками на эллиптической кривой не эквивалентны арифметическим операциям с их координатами.
Данная задача называется дискретным логарифмированием на эллиптической кривой и не имеет быстрого решения, поскольку методы решения дискретного логарифма на эллиптической кривой имеют сложность порядка:
где — количество точек эллиптической кривой.
Таким образом, даже при использовании самого быстрого алгоритма для решения задачи дискретного логарифмирования на эллиптических кривых, необходимо операций. При этом размер поля должен как минимум в два раза превосходить размер ключа, для 128-битового ключа рекомендуется использовать эллиптическую кривую над полем , где p имеет длину 256 бит.
Для примера: ключ над полем характеристики 2 был найден с использованием 2600 компьютеров в течение 17-ти месяцев [7].
Электронная цифровая подпись с использованием эллиптических кривых
Электронная подпись предназначена для защиты электронного документа, передаваемого посредством различных сред или хранящегося в цифровом виде, от подделки и является атрибутом электронного документа. Она получается в результате криптографического преобразования информации с использованием закрытого ключа электронной цифровой подписи и позволяет идентифицировать владельца сертификата ключа подписи, установить отсутствие искажения информации в электронном документе.
Федеральным законом от 06 апреля 2011 года № 63-ФЗ «Об электронной подписи» определены три вида электронной подписи[8]:
- простая электронная подпись
- неквалифицированная электронная подпись
- квалифицированная электронная подпись
Электронная подпись работает по асимметричному принципу шифрования. То есть документ зашифровывается с помощью закрытого ключа, а расшифровывается с помощью открытого.
Основной алгоритм ECDSA (англ.Elliptic Curve Digital Signature Algorithm — алгоритм цифровой подписи эллиптической кривой) принят в качестве стандартов ANSI X9F1[9] и IEEE P1363[10].
Создание ключей
- Выбирается эллиптическая кривая . Число точек на ней должно делиться на большое простое число .
- Выбирается базовая точка порядка , .
- Выбирается случайное число .
- Вычисляется .
Создание подписи
- Выбирается случайное число .
- Вычисляется и .
- Проверяется условие , так как иначе подпись не будет зависеть от закрытого ключа. Если , то выбирается другое случайное число .
- Вычисляется .
- Вычисляется .
- Проверяется условие , так как в этом случае необходимого для проверки подписи числа не существует. Если , то выбирается другое случайное число .
Подписью для сообщения является пара чисел (, ).
Проверка подписи
- Проверим, что числа и принадлежат диапазону чисел (, ). В противном случае результат проверки отрицательный и подпись отвергается.
- Вычислить и ().
- Вычислить и .
- Вычислить .
- Подпись верна в том и только том случае, когда = [11].
Примечания
- ↑ Коблиц Н. Курс теории чисел и криптографии / пер. с англ. М. А. Михайловой и В. Е. Тараканова. — М.: Научное издательство ТВП, 2001. — 260 с. — ISBN 5-85484-012-X.
- ↑ 2,0 2,1 Ленг С. Алгебра / пер. с англ. Кострикин А. И.. — М.: Мир, 2001. — 564 с.
- ↑ КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ . ГОСТ Р 34.10-2001 (1 июля 2002). Дата обращения: 1 ноября 2023.
- ↑ Эллиптический интеграл . БРЭ (1 ноября 2022). Дата обращения: 1 ноября 2023.
- ↑ 5,0 5,1 Острик В.В, Цфасман М.А. Рациональные и эллиптические кривые. — М.: МЦНМО, 2001. — 48 с.
- ↑ Джеффри Хоффштейн, Джилл Пайфер, Дж. Х. Сильверман. Введение в математическую криптографию. — 2008. — 524 с.
- ↑ Короткевич А.В. Методы и средства криптографической передачи данных на базе эллиптических кривых. — Минск, 2014.
- ↑ Электронная подпись (ЭП) . Единый портал электронной подписи (АО «Аналитический Центр»).
- ↑ Криптографические стандарты . ANSI X9.F.1.
- ↑ IEEE Standard Specifications for Public-Key Cryptography . Institute of Electrical and Electronics Engineers.
- ↑ Ишмухамедов Ш.Т. Методы фактуризации натуральных чисел. — Казань, 2011. — 190 с.
Литература
- Клеменс, Г. Мозаика теории комплексных кривых. — М.: Мир, 1984.
- Лебедев П.А., Нестеренко А.Ю.Арифметика на эллиптических кривых с использованием графических вычислителей.— М.: Чебышевский сборник, том 13, выпуск 2, 2012.