A encryption algorithm that has 2 keys:
- a Public Key for Alice to encrypt messages sent to Bob, and for Alice to decrypt messages recieved by Bob.
- A Private Key for Bob to encrypt messages sent to Alice, and for Bob to decrypt messages sent by Alice

A encryption algorithm that has 2 keys:
