История изменений
Исправление Riniko, (текущая версия) :
И вообще, ничего же не изменилось, с момента написания статьи?
Теперь возникает следующий вопрос: откуда берутся случайные порождающие значения для кривых NIST? Ответ: к сожалению, мы не знаем. Эти значения не имеют никакого обоснования.
Возможно ли, что NIST обнаружил «значительно большой» класс слабых эллиптических кривых, попробовал различные возможные варианты порождающих значений и нашёл уязвимую кривую? Я не могу ответить на этот вопрос, но это закономерный и важный вопрос. Мы знаем, что NIST как минимум успешно стандартизировал уязвимый генератор случайных чисел (генератор, который, как ни странно, основан на эллиптических кривых). Возможно, он успешно стандартизировал и множество слабых эллиптических кривых? Как это проверить? Да никак.
А проверка анононимуса показывает следующее:
Команда для измерения скорости работы алгоритмов в OpenSSL v1.1.1: openssl speed -seconds 5 -multi 12 ecdsap384 ecdsap256 ed25519 rsa2048 rsa3072 rsa4096. Ключ -multi 12 означает, что тест распараллеливается по 12 процессам. Тест выполнялся на сервере с двумя процессорами Intel® Core™ i7-6900K, всего 16 ядер или 32 потока. Результат:
sign verify sign/s verify/s
rsa 2048 bits 0.000074s 0.000002s 13565.2 491119.6
rsa 3072 bits 0.000211s 0.000004s 4749.4 241443.6
rsa 4096 bits 0.000474s 0.000007s 2107.9 142365.4
sign verify sign/s verify/s
256 bits ecdsa (nistp256) 0.0000s 0.0000s 367450.0 124632.8
384 bits ecdsa (nistp384) 0.0001s 0.0001s 8689.6 11658.6
sign verify sign/s verify/s
253 bits EdDSA (Ed25519) infs 0.0000s 0.0 199860.0
Авторы Википедии считают, что RSA с ключом 3078 бит соответствует эллиптической кривой над полем с характеристикой размером 256 бит:for example, a 256-bit elliptic curve public key should provide comparable security to a 3072-bit RSA public key. Получается, RSA в два раза быстрее вычислений над эллиптической кривой. Вычисления над кривой Эдвардса более чем на 60% производительнее вычислений над эллиптической кривой, но всё равно не дотягивает до RSA.
Исходная версия Riniko, :
И вообще, ничего же не изменилось, с момента написания статьи?
Теперь возникает следующий вопрос: откуда берутся случайные порождающие значения для кривых NIST? Ответ: к сожалению, мы не знаем. Эти значения не имеют никакого обоснования.
Возможно ли, что NIST обнаружил «значительно большой» класс слабых эллиптических кривых, попробовал различные возможные варианты порождающих значений и нашёл уязвимую кривую? Я не могу ответить на этот вопрос, но это закономерный и важный вопрос. Мы знаем, что NIST как минимум успешно стандартизировал уязвимый генератор случайных чисел (генератор, который, как ни странно, основан на эллиптических кривых). Возможно, он успешно стандартизировал и множество слабых эллиптических кривых? Как это проверить? Да никак.
А проверки анононимуса показывает следующее:
Команда для измерения скорости работы алгоритмов в OpenSSL v1.1.1: openssl speed -seconds 5 -multi 12 ecdsap384 ecdsap256 ed25519 rsa2048 rsa3072 rsa4096. Ключ -multi 12 означает, что тест распараллеливается по 12 процессам. Тест выполнялся на сервере с двумя процессорами Intel® Core™ i7-6900K, всего 16 ядер или 32 потока. Результат:
sign verify sign/s verify/s
rsa 2048 bits 0.000074s 0.000002s 13565.2 491119.6
rsa 3072 bits 0.000211s 0.000004s 4749.4 241443.6
rsa 4096 bits 0.000474s 0.000007s 2107.9 142365.4
sign verify sign/s verify/s
256 bits ecdsa (nistp256) 0.0000s 0.0000s 367450.0 124632.8
384 bits ecdsa (nistp384) 0.0001s 0.0001s 8689.6 11658.6
sign verify sign/s verify/s
253 bits EdDSA (Ed25519) infs 0.0000s 0.0 199860.0
Авторы Википедии считают, что RSA с ключом 3078 бит соответствует эллиптической кривой над полем с характеристикой размером 256 бит:for example, a 256-bit elliptic curve public key should provide comparable security to a 3072-bit RSA public key. Получается, RSA в два раза быстрее вычислений над эллиптической кривой. Вычисления над кривой Эдвардса более чем на 60% производительнее вычислений над эллиптической кривой, но всё равно не дотягивает до RSA.