Re: Время ssl handshake RSA & ECDSA
Maxim Dounin
mdounin на mdounin.ru
Чт Сен 26 17:15:00 UTC 2019
Hello!
On Thu, Sep 26, 2019 at 07:47:41PM +0300, Vasiliy Tolstov wrote:
> ср, 25 сент. 2019 г. в 16:27, Maxim Dounin <mdounin at mdounin.ru>:
> >
> > Начать стоит с вопроса как именно и где вы измеряете время (и
> > зачем). Если время измерять на клиенте - то ECDSA медленнее RSA,
> > такак операция проверки подписи в ECDSA сильно дороже.
> >
> > Скажем, для ECDSA P-256 и RSA 2048 ситуация выглядит так:
> >
> > $ openssl speed rsa2048 ecdsap256
> > ...
> > sign verify sign/s verify/s
> > rsa 2048 bits 0.005821s 0.000168s 171.8 5958.5
> > sign verify sign/s verify/s
> > 256 bit ecdsa (nistp256) 0.0003s 0.0012s 3588.2 858.3
> >
> > То есть операция проверки подписи для ECDSA в разы дороже, чем для
> > RSA. Соответственно если измерять время handshake'а между ничего
> > не делающим быстрым сервером и клиентом фиксированной и не очень
> > большой производительности - от ECDSA-сертификатов будет сплошной
> > вред, ибо на него ляжет на порядок больше вычислительной работы.
> >
> > Основная польза от ECDSA-сертификатов - это существенно меньшая
> > нагрузка на сервер, и соответственно возможность обслуживать
> > существенно большее количество клиентов. Но её в таком тесте
> > просто не будет видно.
>
> Прошу прощения за небольшой оффтоп, а если используется mTLS - что
> выгоднее использовать в плане производительности ECDSA или RSA?
> Учитывая что там все друг другу клиенты и серверы.
Ну вот выше циферки же по аналогичным размерам ключей - в случае
RSA 2048 вы получите максимальную производительность, ограниченную
количеством подписей в секунду - 171.8 sign/s (стоимость
верификации в разы меньше, и ей можно пренебречь), а в случае
ECDSA P-256 - количеством верификаций, 858.3 verify/s (стоимостью
подписи, опять же, можно пренебречь). То есть ECDSA на круг
получается раз в 5 выгоднее.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru