RSA, DSA и ECDSA — алгоритмы шифрования, которые используются при создании SSH-ключей, но они имеют разные особенности: 14
- RSA (Rivest–Shamir–Adleman) — самый старый и распространённый алгоритм шифрования с открытым ключом. 4 Основывается на вычислительной сложности задачи факторизации больших полупростых чисел. 4 По сравнению с DSA, RSA быстрее проверяет подпись, но медленнее её генерирует. 4 Рекомендуемая минимальная длина ключа — 2048 бит. 4
- DSA (Digital Signature Algorithm) — криптографический алгоритм для создания цифровой подписи (не для шифрования, в отличии от RSA) с использованием пары ключей. 4 Алгоритм DSA основывается на вычислительных задачах, связанных с дискретным логарифмированием. 4 DSA по сравнению с RSA быстрее генерирует подпись, но медленнее её проверяет. 4 Стойкость ключа зависит от качества RNG. 4 На данный момент считается небезопасным, не поддерживается OpenSSH с версии 7 и не рекомендуется к использованию. 4
- ECDSA (Elliptic Curve Digital Signature Algorithm) — асимметричный алгоритм шифрования с открытым ключом для создания цифровой подписи, использующий математические свойства эллиптических кривых для генерации ключей и выполнения операций над ними. 4 Способен обеспечить относительно тот же уровень безопасности, что и RSA, но с меньшей длиной ключа. 4 Рекомендуемый минимальный размер ключа для ECDSA — 256 бит. 4 Поскольку ECDSA является развитием DSA, то он имеет тот же недостаток — чувствительность к качеству RNG. 4