Использование Curve25519 в ECDSA

Я в настоящее время исследую использование curve25519 для подписания. Исходное распределение и реализация Cвторая реализация C).

Bernstein предлагает использовать ECDSA для этого, но я не мог найти код.

10
задан mikemaccana 11 July 2016 в 10:31
поделиться

1 ответ

ECDSA определяется ANSI X9.62. Этот стандарт определяет тип кривых, на которых определяется ECDSA, включая подробные уравнения кривых, ключевые представления и так далее. Они не соответствуют Curve25519: часть оптимизаций, которые делают Curve25519 быстрее, чем стандартные кривые того же размера, основаны на специальном уравнении кривой, которое не входит в формализм X9.62. Соответственно, не может быть никакой реализации ECDSA, которая одновременно соответствует ANSI X9.62 и использует Curve25519. На практике я не знаю ни одной реализации алгоритма, подобного ECDSA, на Curve25519.

Короче говоря, вы сами по себе. Вы можете реализовать ECDSA поверх реализации Curve25519, следуя X9.62 (есть черновик 1998 года, который можно загрузить из нескольких мест, например там , либо вы можете потратить сотню долларов и получить подлинный 2005 год. версия из Techstreet ). Но имейте в виду, что вы выходите за пределы тщательно проторенных путей анализируемой криптографии; Другими словами, я категорически отрицаю какие-либо гарантии того, насколько безопасным будет такой вид ECDSA.

Я бы посоветовал придерживаться стандартных кривых (например, NIST P-256). Обратите внимание, что хотя Curve25519 быстрее, чем большинство кривых того же размера, стандартные кривые меньшего размера будут быстрее, но при этом обеспечат адекватную безопасность для большинства целей. Например, NIST P-192 обеспечивает «96-битную безопасность», что-то вроде 1536-битного RSA.Кроме того, стандартные кривые уже обеспечивают производительность порядка нескольких тысяч подписей в секунду на небольшом ПК, и мне сложно представить сценарий, в котором требуется более высокая производительность.

13
ответ дан 3 December 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: