ECIES (eng. Elliptic Curve Integrated Encryption Scheme) — это схема шифрования на открытых ключах, основанная на эллиптических кривых. Эта схема была предложена Виктором Шоупом[en] в 2001 году. ECIES используется в различных стандартах, например, ANSI X9.63, IEEE 1363a, ISO 18033-2 и SECG SEC 1.
В 1997 году учёными Михиром Белларе[en] и Филлипом Рогавэем[en] была изобретена схема DLAES (Discrete Logarithm Augmented Encryption Scheme), которая впоследствии была переименована в DHAES (Diffie-Hellman Augmented Encryption Scheme) в 1998 году, а позже, во избежание путаницы с аббревиатурой AES, переименована в DHIES(Diffie-Hellman Integrated Encryption Scheme). DHIES представляет собой усовершенствованную схему Эль-Гамаля, в которой используются эллиптические кривые, различные алгоритмы имитовставки и хеш-функции.[1]
DHIES была оценена ANSI и с некоторыми модификациями схема была включена в стандарт ANSI X9.63 в 2001 году. Так же, независимо, с некоторыми поправками схема была включена в стандарт IEEE 1363 в 2000 году. В 2004 году, когда стандарт ANSI X9.63 стал общедоступным, IEEE пересмотрела схема с учётом достоинств двух предыдущих из стандартов ANSI X9.63 и IEEE 1363 и включила новую схему в стандарт IEEE 1363a в 2004 году.
Все вышеперечисленные схемы получили общее название ECIES (Elliptic Curve Integrated Encryption Scheme).
В 2009 году одна из версий ECIES вошла в стандарт ISO/IEC 18033-2, а в 2009 в стандарт SECG SEC 1.[1]
ECIES (Elliptic Curve Integrated Encryption Scheme) включает в себя несколько функций:
Первая сторона — Алиса:[2]
Вторая сторона — Боб:[2]
Предположим, Алиса хочет послать сообщение Бобу. У Алисы есть открытый ключ Боба , у Боба — соответствующий закрытый ключ , также Алиса генерирует временную пару своих открытого и закрытого ключей. Закрытые ключи — элементы конечного поля (поля, на котором задана эллиптическая кривая), а открытые ключи — точки, принадлежащие эллиптической кривой и вычисленные как произведение закрытого ключа и генератора g эллиптической кривой.[3]
Для отправки сообщения Алиса выполняет следующие действия:[3]
Относительно процесса расшифрования шаги, которые должен выполнить Боб, являются следующими:[4]
Безопасность ECIES основывается на вычислительной сложности задачи дискретного логарифмирования в группе точек эллиптической кривой (ECDLP). Криптографические алгоритмы также могут основываться на вычислительной сложности задач факторизации (пример алгоритма: RSA) и дискретного логарифмирования (схема Эль-Гамаля). Однако ECDLP считается сложнейшей[5] из этих трёх задач, что приводит к важному преимуществу ECIES: размеру ключа.
Уровень безопасности (бит) | Длина ключа RSA (бит) | Длина ключа ECIES (бит) |
---|---|---|
80 | 1024 | 160-223 |
112 | 2048 | 224-255 |
128 | 3072 | 256-283 |
192 | 7680 | 384-511 |
256 | 15360 | 512-571 |
Преимущество в размер ключа позволяет предъявлять меньшие требования к аппаратному обеспечению (например, к размерам буфера, оперативной и физической памяти; к пропускной способности канала в случае передачи ключей по сети).
Важным недостатком ECIES по сравнению с другими криптографическими алгоритмами является существование нескольких версий ECIES, описываемых различными стандартами (ANSI X9.63, IEEE 1363a, ISO/IEC 18033-2 и SECG SEC 1). Различия между данными стандартами — выбор конкретных функций и параметров для реализации составляющих ECIES (KA, KDF, ENC, MAC, HASH). Недостаток заключается в том, что невозможно реализовать версию ECIES, удовлетворяющую всем стандартам[6].
Виктор Шоуп[en] доказал[7], что если публичный ключ U не включён во входные данные функции KDF и, если в KDF используется только x-координата разделённого секрета, то ECIES подвержен атакам на основе адаптивного шифротекста (eng. Adaptive Chosen Ciphertext Attacks (CCA2)). Уязвимость названа «мягкой», так как никакая атака не смогла получить значимую информацию с использованием этой уязвимости.
Одно из возможных решений, предложенных Шоупом — добавить публичный ключ U во входные данные функции KDF.
Шоуп также доказал[8], что схема ECIES может быть уязвима, когда функция XOR используется при шифровании сообщений переменной длины. В частности, это может привести к уязвимости к атакам на основе адаптивного шифротекста (англ. Adaptive Chosen Ciphertext Attacks (CCA2)). Возможные решения:
Данный тип атак возможен, когда противник специально предоставляет неверный публичный ключ. Если отправитель не проверяет подлинность публичного ключа другой стороны, то противник сможет подменить публичный ключ на ключ меньшего размера с целью получения разделённого секрета или получения информации о закрытом ключе отправителя. Возможные решения:
Пример[12] эффективной и безопасной реализации ECIES, совместимой со стандартами IEEE 1363a и ISO/IEC 18033-2:
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .