Which of the following cryptographic algorithm uses public key and private key to encrypt or decrypt data ?