Cryptography is the study of hiding information, and it is used when communicating over an untrusted medium such as internet, where information needs to be protected from other third parties. Modern cryptography focuses on developing cryptographic algorithms that can encrypt data so that it is hard to break by an adversary due to the computational hardness (therefore could not be broken by a practical means). Encryption uses an algorithm called a cipher to encrypt data and it can be decrypted only using a special key. Encrypted information is known as ciphertext and the process of obtaining the original information (plaintext) from the ciphertext is known as decryption. Two of the widely used encryption methods are Symmetric Key Encryption and Public Key Encryption. Symmetric key cryptography involves encryption methods, where both the sender and the receiver share the same key used to encrypt the data. In Public key cryptography, two different but mathematically related keys are used.
What is Symmetric Key Encryption?
In Symmetric Key Encryption (also known as secret key, single key, shared key, one key or private key encryption), both the sender and the receiver share the same key used for both encryption and decryption of the data. In fact, the two keys may be identical or trivially related (i.e. there is a very simple transformation required to go between the two). In real life usage, a secret is being shared by two or more parties that can be used for the maintenance of a private link for communication. AES (Advanced Encryption Standard) is a very popular algorithm, which belongs to the family of symmetric key encryption algorithms.
What is Public Key Encryption?
In Public Key Encryption, two different but mathematically related keys are used. Public key encryption encrypts data using the recipient’s public key, and it cannot be decrypted without using a matching private key. In other words, you need one key to lock (encrypt the plaintext) and another key to unlock (decrypt the cypertext). Important thing is that one key cannot be used in the place of the other. Depending on which key is published, public key encryption can be used for two purposes. If the locking key is made public, then this system can be used by anybody to send private communication to the holder of the unlocking key. If it is the other way around, the system makes it possible to verify documents locked by the owner. Public key encryption is an asymmetric key algorithm. But only some asymmetric key algorithms have the special property of being unable to reveal one key with the knowledge of the other. So, the asymmetric key algorithms with this special property are called public key encryption algorithms.
What is the difference between Symmetric Key Encryption and Public Key Encryption?
Main difference between symmetric key encryption and public key encryption is the fact that symmetric key encryption use the same (private, secret) key for encryption/decryption, while public key encryption uses both a public and a private key. Both parties should know the key in symmetric key encryption, while there is no such requirement for the public key encryption. Only, either one of the keys is known by the two parties in public key encryption. Because this removes the need to share your private key (as in symmetric key encryption) and the risk of having it compromised, public key encryption can be considered more secure in this regard.
But a major disadvantage of public key encryption is that it is many times slower than symmetric key encryption. So, symmetric key encryption may be better for encrypting large amounts of data. Furthermore, public key encryption algorithms must use a comparatively stronger key than symmetric key encryption to achieve the same strength (for the simple reason that one key is made public in public key cryptography).