Открыть сервис

Эллиптическая криптография

Эллиптическая криптография — это раздел криптографии, основанный на алгебраической структуре эллиптических кривых над конечными полями. Она используется для построения криптосистем с открытым ключом, цифровых подписей и протоколов обмена ключами, обеспечивая высокий уровень безопасности при относительно небольших размерах ключей по сравнению с классическими методами, такими как RSA.

История

Идея использования эллиптических кривых в криптографии была независимо предложена Нилом Коблицом (Neal Koblitz) и Виктором Миллером (Victor Miller) в 1985 году. Они показали, что группа точек эллиптической кривой над конечным полем может быть использована для реализации криптосистем с открытым ключом, аналогичных протоколу Диффи-Хеллмана или схеме Эль-Гамаля. Однако практическое внедрение началось лишь в конце 1990-х — начале 2000-х годов после накопления математических результатов и стандартизации алгоритмов.

Первым коммерческим применением эллиптической криптографии стали устройства для подписи документов и системы шифрования в смарт-картах. В 2000 году Национальный институт стандартов и технологий США (NIST) включил алгоритмы на эллиптических кривых в свой стандарт цифровой подписи (ECDSA). С тех пор технология получила широкое распространение в протоколах HTTPS, криптовалютах (например, Биткойн и Эфириум), а также в системах электронной подписи в России.

В России применение эллиптической криптографии регулируется национальными стандартами ГОСТ Р 34.10-2012 (цифровая подпись) и ГОСТ Р 34.11-2012 (хеширование), которые базируются на операциях с эллиптическими кривыми.

Математические основы

Определение эллиптической кривой

Эллиптическая кривая над конечным полем F (порядок которого — простое число p или степень двойки) задается уравнением Вейерштрасса:

y² = x³ + ax + b,

где a и b — элементы поля F, удовлетворяющие условию 4a³ + 27b² ≠ 0 (отсутствие сингулярностей). Все точки на кривой вместе с бесконечно удаленной точкой O образуют абелеву группу с операцией сложения.

Операция сложения точек

Для двух различных точек P = (x₁, y₁) и Q = (x₂, y₂) на кривой (P ≠ Q) сумма P + Q определяется как точка R, которая является зеркальным отражением третьей точки пересечения прямой, проходящей через P и Q, с кривой. Если P = Q (удвоение точки), прямая заменяется касательной к кривой в этой точке. Для точек с противоположными по знаку y-координатами (P = -Q) результатом является бесконечно удаленная точка O (нейтральный элемент группы).

Порядок группы и дискретный логарифм

Группа точек эллиптической кривой конечна и имеет некоторый порядок N. Для криптографических целей выбираются кривые, порядок которых делится на большое простое число n. Задача дискретного логарифмирования на эллиптической кривой (ECDLP) формулируется так: для заданной точки G (базовой точки) и точки Q = kG (где k — целое число) найти k. На сегодняшний день не известен эффективный (полиномиальный) алгоритм решения ECDLP, что и обеспечивает криптостойкость систем.

Ключевые алгоритмы и протоколы

Обмен ключами ECDH (Elliptic Curve Diffie-Hellman)

Протокол позволяет двум сторонам (Алисе и Бобу) получить общий секретный ключ по незащищенному каналу. Алиса генерирует свой закрытый ключ a и вычисляет открытый ключ A = aG. Боб делает то же самое для b и B. Затем Алиса вычисляет S = aB, а Боб — S = bA. Полученная точка S одинакова для обоих (благодаря свойству ассоциативности: a(bG) = b(aG)). На основе координат точки S вырабатывается симметричный ключ.

Цифровая подпись ECDSA (Elliptic Curve Digital Signature Algorithm)

Схема цифровой подписи, стандартизированная NIST (США) и используемая в Биткойне, Эфириуме и ряде криптовалют. Процесс создания подписи:

  1. Владелец закрытого ключа d и открытого ключа Q = dG выбирает случайное число k (1 < k < n-1).
  2. Вычисляется точка R = kG и значение r = x_R mod n (x-координата точки R).
  3. Вычисляется хеш сообщения h = H(m).
  4. **s = k⁻¹ (h + d*r) mod n**.
  5. Подписью является пара (r, s).

Проверка подписи производится путем вычисления **u₁ = hs⁻¹ mod n, u₂ = rs⁻¹ mod n и точки P = u₁G + u₂Q. Если x_P mod n == r**, подпись верна.

Схема шифрования EC-ElGamal

Вариант шифрования Эль-Гамаля на эллиптических кривых. Отправитель генерирует случайное число k, вычисляет C₁ = kG и C₂ = M + kQ, где M — точка, представляющая сообщение, а Q — открытый ключ получателя. Получатель расшифровывает: M = C₂ - dC₁, где d — его закрытый ключ.

Преимущества и недостатки

Преимущества

Недостатки

Выбор безопасных кривых

Для практического применения не подходит произвольная эллиптическая кривая. Необходимо выбирать кривые, защищённые от известных атак, таких как атака на эндоморфизм, атака с изменением порядка, атака Полларда-Харди и атаки с использованием парных спариваний. Рекомендованные кривые:

Применение в современных технологиях

Государственное регулирование и стандартизация

В России эллиптическая криптография регулируется ГОСТами. В частности, ГОСТ Р 34.10-2012 (для электронной подписи) и ГОСТ Р 34.11-2012 (для хеширования) являются обязательными для применения в государственных информационных системах. Эти стандарты определяют параметры кривых и алгоритмы, устойчивые к атакам на квантовый компьютер (хотя пока это не критично). За использование несертифицированных криптоалгоритмов в государственных системах может наступать административная или уголовная ответственность.

Критика и ограничения

Критика эллиптической криптографии чаще всего связана с:

Будущее развития

Современные усилия направлены на:

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →