When we authenticate with a server we authenticate with a public key (asymmetric encryption) to transfer a symmetric key. Why don't we keep using the asymmetric key pair instead of the symmetric key?

  • 2
    it simply takes a lot more CPU to use RSA than AES. Sites want to be fast and not kill batteries. – dandavis Jan 29 '17 at 22:16
  • yes I thought of performance but I thought that maybe there is another reason thanks – Muhammed Nagy Jan 29 '17 at 22:36

There are several reasons why this can't work in real world (even though it sounds quite ok with the basic knowledge you are presenting).

  • SSH servers support also password authentication. What asymmetric key would you use in that case?

  • Transferring huge amount of data and serving many clients would make the host keys extremely prone to the various attacks. In cryptographic algorithm, you need to rekey (exchange the keys) after some time or some amount of transfered data. That would be impossible unless you would need to redistribute the server public key very frequently.

  • Last but not least as mentioned in the comments, the CPU cycles to achieve the same security strength with RSA is gradually higher than AES and it is similar with other algorithms.

  • I know that SSH servers support password authentication, in this case, we can't use asymmetric. Thanks for your answer point 2 is very important. – Muhammed Nagy Jan 29 '17 at 22:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.