Não existe um algoritmo que seja o "mais seguro". Uma vez que um algoritmo tenha atingido o ponto em que seria necessário um enorme avanço matemático ou bilhões de bilhões de anos de poder computacional, as comparações de força tornam-se sem sentido.
O motivo pelo qual o RSA é comum é que é comum. Já existe há muito tempo, portanto, todas as implementações suportam RSA, portanto, todas as implementações continuam oferecendo RSA para interoperabilidade.
RSA é seguro, desde que você escolha um tamanho de chave grande o suficiente: 1024 é ininterrupto, mas pode ser quebrado em poucos anos por invasores de nível NSA; 2048 (o tamanho padrão para ssh-keygen
nas versões atuais do OpenSSH) é seguro a médio prazo. (RSA1 é uma versão antiga do protocolo SSH que tem pontos fracos e não deve ser mais usada. É praticamente extinta de qualquer maneira.)
ssh-dss
).
ECDSA é uma nova família de algoritmos; É significativamente mais rápido que RSA ou DSA para o mesmo nível de segurança e possui chaves menores. O apoio do ECDSA é menos onipresente que o RSA, em parte porque é mais recente e em parte por causa de patentes em técnicas de implementação eficientes. Qualquer tamanho de chave suportado pelo OpenSSH é seguro.
O Ed25519 é uma alternativa mais recente ao ECDSA. Para um usuário final, ele não tem vantagem significativa sobre o ECDSA (para um implementador, ele carrega menos risco de violação de patente). Mas como é mais recente, você pode querer se conectar a máquinas que ainda não suportam; isso é menos provável com o ECDSA.
Assim, o RSA padrão é bom, mas se você usar computadores menos potentes (por exemplo, smartphone, roteador, etc.), prefira ECDSA (ou Ed25519) se suportado.