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

Самое важное и интересное о шифровании.
Серия статей, понятных даже неспециалистам.

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

В отличие от 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 в том, что для достижения примерно одинакового уровня защиты при использовании ECDSA требуется ключ значительно меньшей длины, чем у RSA.
Как мы упоминали, ECDSA используется только в цифровых подписях. Цифровая подпись — это зашифрованный хеш сообщения. Процесс выглядит так. Нам нужно сначала получить хеш сообщения. О том, что такое хеш, хеш-функция и как сравниваются хеш-отпечатки, вы можете почитать тут. Исходное сообщение обрабатывается с помощью хеш-функции (хешируют), а полученный необратимый хеш (цифровой отпечаток сообщения) преобразуют в битовое число, которое уже шифруется с помощью ECDSA.
Для создания цифровой подписи ECDSA используется приватный ключ. A вот проверить подлинность цифровой подписи может любой желающий с помощью публичного ключа.
Отметим напоследок, что, несмотря на сложность алгоритма ECDSA, он тоже уязвим перед квантовыми компьютерами. Подробнее об этом читайте тут.

Статьи из этой серии
Поделиться в facebook
Поделиться в google
Поделиться в twitter
Поделиться в linkedin
Поделиться в telegram
Поделиться в vk
Поделиться в pocket
Поделиться в email

Decentralized VPN service of a new generation based on the post-quantum blockchain

40% off

don't miss it!