Asymmetric Encryption
Where encryption and decryption are handled by two different keys.
A user will generate a keypair when they want to use asymmetric encryption. One will be public, and the other will be private. The public key will be used to encrypt message being sent to the user, and only the private key can decrypt it. This is the magic of keypairs, they're simply two mathematically related numbers.
Compared to symmetric encryption, asymmetric encryption has a lot of computing overhead for handling the encryption of large amounts of data. When large amounts of data involved, the overhead issue can be solved by generating a symmetric key for the two users sharing the data using the public key cipher.
Algorithmic Implementations of Asymmetric Encryption
- Rivest-Shamir-Adleman (RSA)
- Elliptic Curve Cryptography (ECC)
- Diffie-Hellman
- Digital Signature Algorithm (DSA)