В некоторых приложениях, таких как QR-коды, экономия 25 байтов из 100 делает разницу в удобстве использования.
Какой выбор есть для схемы подписи с (сначала самые важные критерии)
- Как можно меньше размер подписи (для подписи с приложением) или как можно меньше добавленного размера (измеряется как 40-байтовое произвольное сообщение для схемы подписи с восстановлением сообщения, но я бы предпочел их избегать), при предполагаемом 128-битном уровне безопасности (попытка взломать сопоставимо с поиском по ключу AES-128) Криптографически значимые квантовые компьютеры.
- Стандартизированы или проверены ИСО, МЭК, ЕТСИ, ANSI, СКРИПТ, НИСТ, АНСИ, БСИ, SECG, CFRGкакой-нибудь национальный стандарт или орган, unamit… или даже активный IETF RFC или разумный консенсус криптоэкспертов.
- Не обременено патентом или больше не обременено патентом.
- Не слишком ресурсоемкий для проверки (возможно, использовать ДСА-3072-256 в качестве предела).
Пока я вижу:
- Множество прекрасных 64-байтных схем: Эд25519 вариации в RFC8032 и так далее FIPS 186-5, ЭЦДСА или EC-SDSA-opt (EC-Шнорр) из ИСО/МЭК 14888-3 с секп256р1, ДСА-3072-256.
- Одна 48-байтовая схема: BLS12-381 (Бони-Линн-Шахам), скорее не проверенный властями, таким образом, AFAIK терпит неудачу [2] (я считаю, что это было предложено только ненумерованным просроченным проект RFC), и как сообщается провал [4].
- Несколько 48-байтных схем с восстановлением сообщений (таким образом, более сложные в использовании/менее желательные), в том числе ECAO (Абэ-Окамото) из ИСО/МЭК 9796-3 (который не используется нигде, насколько мне известно), ECPVS (Пинстов-Вэнстон) из АНСИ Х9.92-1 (который я считаю несостоятельным [3], пока не будет показано обратное).
Заметно отсутствует короткая подпись Шнорра (на эллиптической кривой или группе Шнорра), что было бы около 48 байт, но AFAIK терпит неудачу [2]. Возможно, он не был стандартизирован, потому что имеет несколько тревожные характеристики безопасности:
- Лучшая атака грубой силы только на хеш (например, с помощью ASIC, как при майнинге биткойнов) достигается с вероятностью $1/n$ подписанное сообщение практического содержания по себестоимости $2^{128}/n$ хэши и один просто известен пара сообщение/подпись по сравнению со стоимостью $\кв.п$ раз выше и один запрос подписи с выбранный сообщение для 64-байтных конкурентов.
- Владелец закрытого ключа может генерировать пары сообщений с разным и практичным содержанием, но с одной и той же подписью, используя примерно $2^{66}$ хеши.
¹ Я думаю, что люди струхнули после Расширенное сито поля номера башни подстрекают к пересматривать вниз более ранние оценки безопасности удобных для сопряжения кривых, которые ранее считались безопасными, и изменить некоторые развернутые схемы. Тема имеет вырос так сложный Я не могу следовать, но из того, что кажется одностраничное резюме по последним оценкам, для 128-битной безопасности BLS12-381 в лучшем случае не имеет большого запаса, а BN254 кажется подверженным риску, по крайней мере, в некоторых приложениях (я не знаю для подписи BLS).