Encryption and Decryption using Public and Private Key | Encryption, Signatures and Hashing