14

This question already has an answer here:

SSL uses both asymmetric cryptography and symmetric cryptography.

Why can't it, or why doesn't it, just use one of them?

marked as duplicate by Steffen Ullrich, Xander, Xiong Chiamiov, LvB, paj28 Mar 20 '17 at 15:12

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 11
    It is unclear what your are asking but my guess is that you mean SSL/TLS instead of SSI and mean asymmetric (public key) vs. symmetric ("secret key") cryptography. Still it is unclear what you are trying to ask with "why can't employ one of them?". Also, how does the tag passwords you used apply to this question? If this is about SSL/TLS you might actually find your answer in How does SSL/TLS work?. – Steffen Ullrich Mar 19 '17 at 5:35
  • 10
    Did you make research on what you want to comprehend ? because the question suggests the opposite. – elsadek Mar 19 '17 at 6:06
  • Asymmetric crypto is used just to encrypt the "session key", this one is a symmetric key which is, then, used to ecrypt/decrypt the communication between the server and client. – elsadek Mar 19 '17 at 6:52
  • 2
    SSL is not just "considered" to employ both of those. It does employ both of those. – immibis Mar 19 '17 at 22:32
  • 1
    @MichaelKjörling So does TLS. It has its own key agreement protocol, and that is what is used. – user207421 Mar 20 '17 at 11:09
34

Symmetric cryptography cannot be used for exchanging secrets between machines that had never communicated before, but asymmetric cryptography is limited to encrypting very small data (the size of the key) and is extremely slow when used to encrypt larger blocks. That's why all practical cryptography scheme uses both.

  • Actually, you can use symmetric cryptography to do that; however that requires a trusted middle agent to exchange trust. This is sort of like a CA, however (unlike) a CA, it needs to be an active participant. – poncho Mar 19 '17 at 21:24
  • 1
    @poncho Symmetric key crypto requires unique keys per session, especially if you would use it without prior asymmetric crypto to initiate a secure connection. I have no idea how you would implement a trusted middle part that would correctly manage and handle out the symmetric keys without risking impersonation – BlueCacti Mar 19 '17 at 22:17
  • 1
    [Waited to long to edit last comment] Pure symmetric key communications are often only done between parties who know each other and who have an already trusted method of sharing the symmetric keys amongst each other, preferably using a method where each party can identify/authenticate and authorize the other. – BlueCacti Mar 19 '17 at 22:24
  • @GroundZero: the Kerberos model; Alice shares a secret key with the central authority, Bob shares a secret key with the central authority; it all works from there. Yes, asymmetric crypto really is considerably more convenient, however, there are alternatives... – poncho Mar 20 '17 at 3:13
  • @poncho Then said central authority gets compromised. Note that Kerberos solves the problem of one node authenticating itself to another; it doesn't attempt to solve the problem of key distribution. Key distribution might possibly be superimposed on top of regular Kerberos, but then you are using it to do something it wasn't intended to do, with all of the caveats that follow. – a CVn Mar 20 '17 at 8:28
13

Just to underline how TLS use this

  1. Asymmetric cryptography :: The client check the certificate (from the server) and use the public key specified into it. It makes some good things (you can learn more on Wikipedia) and then establish a secret key for symmetric encryption.
  2. Symmetric cryptography :: Here, the data is securely exchanged between the client and the server, using the secret key generated previously.

Let's say we want just one of them:

  • Symmetric only : As the Red Telephone, then you have to establish a secure way to share the key
  • Asymmetric only : You need to be really patient, an heavy computational cost, and can be less secure, as it's not using session keys.

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