which rules I should choose for ssh algo selection, provided it will be used near 100% for git operations? I'm going to use it with git on linux laptops, often used on public wifi.

currently I have:

  1. speed
  2. modern (no need to serve old SSH servers)

and that leads me to Curve25519 selection, but do I miss something important?

  • I don't think the Git use case matters. Indeed, Curve25519 is very popular nowadays due to providing a similar security level to large RSA keys in a more efficient manner. Not that efficiency is likely to matter for your use case.
    – amon
    Commented Jan 29, 2022 at 10:10
  • @amon thanks for point provided. The git use case had been mentioned to underline that I don't have anything security-challenging (e.g. I have no large data transfers between authority domains with high security and/or privacy demands; nothing periodical, semi-permanent; nothing I should worry about accounting/auditing). That said, shorter keys make it easier to handle clusters of keys per business case or use case.
    – aytvill
    Commented Feb 1, 2022 at 7:47

2 Answers 2


Typically, I would recommend Ed25519 keys assuming the servers you're using support it. Ed25519 is reasonably well supported among modern SSH clients and servers, and it provides a 128-bit security level, which we presently believe is secure.

Another popular type is RSA keys, but they require a 3072-bit key to provide a 128-bit security level, and unlike Ed25519, which is almost always implemented in a constant-time manner, RSA is slower and may not be constant time in all implementations. Ed25519 also always uses SHA-512, whereas in some case RSA keys can use SHA-1, which is no longer secure.

Mozilla also recommends Ed25519 keys, as does GitHub.


Based on your use case the i would say the preference is dependent upon which algo and key creation and replacement technology you understand best and are most comfortable using

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .