Symmetric Key Cryptography, also known as shared key cryptography, involves two people using the same key to encrypt and decrypt the information.

Public key cryptography makes use of two different keys: a public key for encryption and a private key for decryption. Symmetric key cryptography has an advantage that it is much faster than public key cryptography. It is also generally easier to implement and usually requires less processing power.

On the downside, the two parties sending messages must agree on the same private key before securely transmitting information in Symmetric key cryptography. This is often inconvenient or even impossible at times. If the two parties are geographically separated, then a secure means of communication is needed for one to tell the other what the key will be. In a pure symmetric key scenario, secure communication is generally not available. If it were, there would be little need for encryption to create another secure channel.

Public key cryptography has the advantage that the public key, used for encryption, does not need to be kept secret for encrypted messages to remain secure. This means public keys can be transmitted over insecure channels. Often, applications use public key cryptography using the shared session key and then communicate via symmetric key cryptography using the shared session key. This solution provides the convenience of public key cryptography with the performance of shared key cryptography.

Both public key and symmetric key cryptography are used to get secure information from the web. First, your browser establishes a shared session key with the website using public key cryptography. Then you communicate with the website using symmetric key cryptography to actually obtain the private information.

If you have any questions, Let us know in the comments below.