According to RFC4880 standard
1.Refer to section 2.1 Confidentiality via Encryption --> OpenPGP combines symmetric-key encryption and public-key encryption to provide confidentiality
+To protect the session key --> encrypted with the receiver’s public key
+To decrypt session key --> use receiver’s private key
2.Refer to section 5.1 Public-Key Encryption session key Packets
+RSA encryption
+Elgamal encryption (Diffie-Hellman)
- ECDH
- sender: calculate shared secret --> KDF --> derived key --> AES-CFB
- receiver: calculate shared secret --> KDF --> derived key --> AES-CFB
So, my question is:
- which case use RSA to comply with the OpenPGP standard
- which case use ECDH to comply with the OpenPGP standard
- Is my understand about ECDH model as mention above correct ? (sender encrypt message only ? not encrypt session key as RSA encryption) and is it possible to use PBKDF2 instead of KDF as standard?