Symmetric encryption uses the same key to encrypt and decrypt information. Symmetric encryption is generally faster than asymmetric encryption. However, it has the issue of finding a secure method of sharing the key (e.g., password) for the encryption so that it may be used.
Symmetric encryption includes:
- Block ciphers such as AES (Advanced Encryption Standard), Blowfish and DES (Data Encryption Standard).
- Stream ciphers such as RC4 and LSFR.
Asymmetric encryption uses two keys (a key pair) which are the private key and the public key. Information is encrypted using the public key to the relevant private key. Asymmetric encryption is generally slower than symmetric encryption.
Asymmetric encryption includes:
- Diffie-Helman key exchange, which is a method of securely exchanging keys.
- Elliptic-Curve Cryptography (ECC), which allows smaller keys then non-ECC to provide equivalent security. Works on the basis that finding the discrete logarithm of a random elliptic curve in regards to a known base point is very hard. ECDH is Elliptic-Curve Diffie-Hellman.