SSH supports two signature algorithms for key pairs: RSA and DSA. Which is preferred, if any? For RSA, what is the minimum acceptable key length?
RSA is generally preferred (now that the patent issue is over with) because it can go up to 4096 bits, where DSA has to be exactly 1024 bits (in the opinion of 


The man page for sshkeygen says:
Supposedly, according to Bruce Schneier, "both DSA and RSA with the same length keys are just about identical in difficulty to crack." I haven't been able to substantiate that exact wording, but did find a couple references that imply that's what he believes (or believed at one point): Seeing as how the only legal value for DSA keys is 1024 bits, I suppose it comes down to whether a 1024 bit key is sufficient. It looks like the answer is quite possibly not. 


It's not about symmetric or asymetric encryption. It's about particular algorithms (RSA and DSA) requiring higher bit count to achieve acceptable security level. For example, ECC is also an asymmetric encryption, but it provides good security at much lower bit counts than RSA or DSA. 


If you have a recent implementation of SSH, you may also consider ECDSA ! 


256 bit certificates that banks use for SSL connections are symmetric cyphers such as 3DES or AES, hence the lower bit count. When you see 1024 and 2048 (and even 4096) these are asymmetric ciphers. 


DSA keys have much shorter signaures than RSA keys (for the same "level of security"), so one reason for using DSA would be in constrained environments. 

