ECDSA — алгоритм асимметричного шифрования

Об асимметричном шифровании и популярном, но уже уходящим в прошлое асимметричном алгоритме RSA мы подробно рассказывали в наших предыдущих статьях. А теперь поговорим о другом широко известный алгоритм асимметричного шифрования — это ECDSA (Elliptic Curve Digital Signature Algorithm).

Что такое ECDSA

В отличие от RSA, ECDSA базируется на гораздо более сложных математических вычислениях. А используется ECDSA только для цифровых подписей. Впервые использование алгебраических свойств эллиптических кривых в криптографии было предложено в 1985 году. ECDSA в качестве стандарта цифровой подписи начал применяться с конца 1990-х годов.

Криптостойкость ECDSA основана на математической проблеме дискретного логарифма в группе точек эллиптической кривой. Даже из названия видно, что эта математическая задача весьма сложна. Гораздо сложнее, чем математическая задача факторизации числа, на которой основан RSA. Эллиптической кривая — это множество пар точек (X и Y), которые удовлетворяют уравнению: Y2 = ax3 + bx + c. Выглядят эллиптические кривые довольно красиво:

Общий вид эллиптической кривой:

elliptic curve

А эллиптическая кривая Биткоина, описанная уравнением y² = x³ + 7, выглядит так:

elliptic curve of Bitcoin

Удивительные свойства эллиптических кривых

Например, невертикальная прямая, пересекающая эллиптическую кривую в двух точках (P и Q), обязательно пересечет ее и в третьей точке (R):

А если невертикальная прямая является касательной к кривой в какой-либо точке (P), то эта прямая обязательно пересечет кривую в другой точке (R):

ECDSA

ECDSA использует не только алгебраические свойства эллиптических кривых. А еще и конечные поля. Конечное поле — это заданный диапазон положительных чисел, в рамках которого лежат результаты алгебраических вычислений.

Эллиптические кривые в рамках конечного поля меняются до неузнаваемости. Но все математические свойства кривой остаются прежними. Например, эллиптическая кривая Биткоина, совмещенная с конечным полем, выглядит так:

finite fields

Криптостойкость ECDSA

Благодаря всем этим замечательным математическим свойствам до сих пор не удалось взломать ECDSA с помощью вычислительных мощностей. Получилось лишь взломать эллиптическую цифровую подпись на смартфонах. Да и то с помощью так называемой “сторонней атаки”. Дело в том, что смартфоны при генерации цифровой подписи ECDSA потребляют определенное количество энергии. И генерируют при этом электромагнитные волны. Киберпреступник может измерить длину волны. И затем извлечь секретный ключ. Но для этого надо находиться в непосредственной близости от устройства.

В чем преимущество ECDSA перед RSA? Для достижения примерно одинакового уровня защиты для эллиптического шифрования требуется ключ значительно меньшей длины, чем у RSA.

Как мы упоминали, ECDSA используется только в цифровых подписях. Цифровая подпись — это зашифрованный хеш сообщения. Процесс выглядит так. Нам нужно сначала получить хеш сообщения. Исходное сообщение обрабатывается с помощью хеш-функции (хешируют). А затем полученный необратимый хеш (цифровой отпечаток сообщения) преобразуют в битовое число. И уже это число шифруется с помощью ECDSA.

Для создания цифровой подписи ECDSA используется приватный ключ. A вот проверить подлинность цифровой подписи может любой желающий с помощью публичного ключа.

Отметим напоследок, что, несмотря на сложность алгоритма ECDSA, он тоже уязвим перед квантовыми компьютерами. Подробнее об этом читайте тут.

Поделиться в facebook
Поделиться в google
Поделиться в twitter
Поделиться в linkedin
Поделиться в telegram
Поделиться в vk
Поделиться в pocket
Поделиться в email