uses a public key to encrypt and a private key to decrypt

used in https