В криптографии, Curve25519 представляет собой эллиптическую кривую, предлагающую 128 бит безопасности (256 бит размер ключа ) и предназначенную для использования с эллиптической кривой Диффи – Хеллмана (ECDH) схема согласования ключей. Это одна из самых быстрых кривых ECC и не защищена никакими известными патентами. эталонная реализация - это общественное достояние.
. В исходной статье Curve25519 она определяется как функция Диффи – Хеллмана (DH). Дэниел Дж. Бернштейн с тех пор предложил использовать имя Curve25519 для базовой кривой и имя X25519 для функции DH.
Используемая кривая , кривая Монтгомери, над простым полем, определенным простым числом , и используется базовая точка . Эта точка генерирует циклическую подгруппу, порядок - простое число <1378>>8 {index \ Displaystyle 8}. Использование подгруппы простого порядка предотвращает установку атаки алгоритма Полига – Хеллмана.
Протокол использует сжатую эллиптическую точку (только координаты X), поэтому он позволяет эффективно использовать лестницу Монтгомери для ECDH с использованием только координат XZ.
Curve25519 построен таким образом, что позволяет избежать многих потенциальных ошибок при реализации. По своей конструкции он невосприимчив к атакам по времени и принимает любую 32-байтовую строку в качестве действительного открытого ключа и не требует подтверждения того, что данная точка принадлежит кривой или генерируется базовой точкой.
Эта кривая бирационально эквивалентна искривленной кривой Эдвардса, используемой в схеме подписи Ed25519.
В 2005 году Curve25519 был впервые выпущен Дэниелом Дж. Бернштейном.
В 2013 году интерес начал значительно возрастать, когда было обнаружено, что АНБ потенциально внедрило бэкдор в Dual_EC_DRBG. Хотя это и не связано напрямую, подозрительные аспекты констант P-кривой NIST привели к опасениям, что АНБ выбрало значения, которые дали им преимущество при взломе шифрования.
«Я больше не доверяю константам. Я считаю, что АНБ им манипулировало. через их отношения с промышленностью ".
— Брюс Шнайер, АНБ взламывает большинство шифрования в Интернете (2013)С 2013 года Curve25519 стал де-факто альтернативой P-256, используемой в широком разнообразие приложений. Начиная с 2014 года, OpenSSH по умолчанию использует ECDH на основе Curve25519. Поведение для общего протокола SSH все еще стандартизируется по состоянию на 2018 год.
В 2017 году NIST объявил, что Curve25519 и Curve448 будут добавлены в специальную публикацию 800-186, в которой указаны утвержденные эллиптические кривые для использование Федеральным правительством США. Оба описаны в «RFC 7748 ». Черновик «FIPS 186-5» 2019 года подтверждает это утверждение.
В 2018 году в спецификацию DKIM были внесены поправки, позволяющие использовать подписи с этим алгоритмом.
Также в 2018 г. RFC 8446 был опубликован как новый стандарт Transport Layer Security v1.3. Требуется обязательная поддержка алгоритмов X25519, Ed25519, X448 и Ed448.