ECDSA (Elliptic Curve Digital Signature Algorithm) — алгоритм с открытым ключом для создания цифровой подписи, аналогичный по своему строению DSA, но определённый, в отличие от него, не над кольцом целых чисел, а в группе точек эллиптической кривой.
В отличие от RSA, ECDSA базируется на гораздо более сложных математических вычислениях, а используется ECDSA только для цифровых подписей. Впервые использование алгебраических свойств эллиптических кривых в криптографии было предложено в 1985 году. ECDSA в качестве стандарта цифровой подписи начал применяться с конца 1990-х годов.
Криптостойкость ECDSA основана на математической проблеме дискретного логарифма в группе точек эллиптической кривой. Даже из названия видно, что эта математическая задача посложнее, чем математическая задача факторизации числа, на которой основан RSA.
Преимущество ECDSA перед RSA в том, что для достижения примерно одинакового уровня защиты при использовании ECDSA требуется ключ значительно меньшей длины, чем у RSA.
ECDSA используется только в цифровых подписях. Цифровая подпись — это зашифрованный хеш сообщения. Процесс выглядит так. Нам нужно сначала получить хеш сообщения. Исходное сообщение обрабатывается с помощью хеш-функции, а полученный необратимый хеш (цифровой отпечаток сообщения) преобразуют в битовое число, которое уже шифруется с помощью ECDSA.
Для создания цифровой подписи ECDSA используется приватный ключ. A вот проверить подлинность цифровой подписи может любой желающий с помощью публичного ключа.