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

Elliptic Curve Integrated Encryption Scheme

Elliptic Curve Integrated Encryption Scheme (ECIES) — это гибридная криптосистема с открытым ключом, основанная на эллиптических кривых, которая обеспечивает конфиденциальность, аутентичность и целостность передаваемых данных. ECIES объединяет в себе алгоритм асимметричного шифрования на основе эллиптических кривых (ECC) и симметричное шифрование с использованием производного ключа, что позволяет эффективно защищать большие объёмы информации при относительно небольших вычислительных затратах. Схема была стандартизирована в ряде международных стандартов, включая ANSI X9.63, IEEE P1363 и ISO/IEC 18033-2, и широко применяется в современных криптографических протоколах, таких как Transport Layer Security (TLS), Signal Protocol и Bitcoin.

История и стандартизация

Разработка

ECIES была предложена в 1990-х годах как развитие схемы шифрования Эль-Гамаля, адаптированной для работы с эллиптическими кривыми. Основной целью было создание гибридной схемы, которая сочетала бы безопасность асимметричного шифрования с производительностью симметричных алгоритмов. В отличие от чистого шифрования Эль-Гамаля, ECIES использует случайный эфемерный ключ для каждой сессии, что предотвращает атаки на основе известных открытых текстов.

Стандартизация

Схема была включена в несколько ключевых стандартов:

В 2010-х годах ECIES была адаптирована для использования в криптовалютах, в частности в Bitcoin (через протокол BIP-32 для детерминированных кошельков) и Ethereum (через EIP-712 для подписей).

Классификация и варианты

ECIES относится к классу гибридных криптосистем, где асимметричная часть отвечает за обмен ключами, а симметричная — за шифрование данных. В зависимости от используемых алгоритмов выделяют несколько вариантов:

Устройство и принцип работы

Основные компоненты

ECIES состоит из четырёх ключевых элементов:

  1. Эллиптическая кривая (например, P-256, secp256k1) с заданной точкой G (генератором) и порядком n.
  2. Открытый ключ получателя Q (точка на кривой) и закрытый ключ d (целое число).
  3. Симметричный шифр (например, AES, ChaCha20) и функция выработки ключа (KDF, например, HKDF-SHA256).
  4. Код аутентификации сообщения (MAC, например, HMAC-SHA256) или аутентифицированное шифрование (AEAD).

Алгоритм шифрования

Процесс шифрования сообщения M (открытый текст) выполняется отправителем, который знает открытый ключ получателя Q:

  1. Генерация эфемерной пары ключей: отправитель случайным образом выбирает целое число k (1 < k < n-1) и вычисляет эфемерный открытый ключ R = k * G.
  2. Вычисление общего секрета: отправитель вычисляет точку S = k * Q = (x, y), где x — координата X точки на кривой.
  3. Выработка ключей: с помощью KDF из координаты x (и, опционально, из других данных) генерируются два ключа: ключ шифрования K_enc и ключ аутентификации K_mac.
  4. Шифрование: сообщение M шифруется симметричным алгоритмом с ключом K_enc, получая шифротекст C.
  5. Аутентификация: для шифротекста C вычисляется MAC с ключом K_mac, получая тег T.
  6. Формирование криптограммы: отправитель передаёт получателю кортеж (R, C, T).

Алгоритм расшифрования

Получатель, имея закрытый ключ d, выполняет обратные операции:

  1. Вычисление общего секрета: получатель вычисляет точку S' = d R = (x, y). Поскольку d R = d (k G) = k (d G) = k * Q = S, то S' = S.
  2. Выработка ключей: из координаты x с помощью той же KDF генерируются K_enc и K_mac.
  3. Проверка MAC: получатель вычисляет MAC' для C с ключом K_mac и сравнивает с T. Если они не совпадают, сообщение отвергается.
  4. Расшифрование: если MAC совпадает, сообщение C расшифровывается с ключом K_enc, восстанавливая M.

Криптографическая стойкость

Безопасность ECIES основана на сложности задачи дискретного логарифмирования на эллиптической кривой (ECDLP). Для стандартной кривой P-256 (256-битная) сложность взлома оценивается как 2^128 операций, что соответствует 128-битному уровню безопасности. Использование эфемерных ключей (k) предотвращает атаки на основе известных открытых текстов, а MAC защищает от атак с подменой сообщения.

Применение

В криптовалютах

ECIES широко используется в блокчейн-системах для шифрования транзакций и обмена ключами:

В защищённых протоколах связи

В государственных и военных системах

ECIES рекомендована для использования в системах, требующих высокой криптографической стойкости, например в шифровальных устройствах ФСБ России (ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012) и в стандартах НАТО (STANAG 4406). В России ECIES адаптирована в рамках стандарта ГОСТ Р 34.10-2012, где используются эллиптические кривые, определённые в этом стандарте, и симметричный шифр ГОСТ 28147-89 (Магма) или ГОСТ Р 34.12-2015 (Кузнечик).

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

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

Недостатки

Критика и уязвимости

Атаки на реализацию

Атаки на параметры

Квантовая угроза

ECIES, как и все схемы на эллиптических кривых, уязвима для квантовых компьютеров, работающих по алгоритму Шора. Для 256-битной кривой потребуется около 2^128 квантовых операций, что делает ECIES потенциально безопасной до создания масштабируемых квантовых систем. В ответ на это разрабатываются постквантовые схемы, такие как CRYSTALS-Kyber (на основе решёток) и Falcon (на основе решёток с короткими подписями).

Сравнение с альтернативами

ХарактеристикаECIESRSA-OAEPЭль-Гамаль
Размер ключа (128-битная безопасность)256 бит3072 бит256 бит (на кривой)
Размер шифротекста~64 байта (R + C + T)~384 байта~64 байта
Скорость шифрованияВысокая (ECC)Низкая (RSA)Средняя
АутентификацияВстроена (MAC)ОтсутствуетОтсутствует
Квантовая устойчивостьНизкаяНизкаяНизкая

Интересные факты

Источники

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

На главную BFOmetr →