Mã hóa ECDH cho OpenPGP được định nghĩa trong RFC6637 không phải RFC4880 và để tương thích với (các) định dạng thư hiện có cũng như cho phép nhiều người nhận, nó không sử dụng trực tiếp kết quả ECDH mà sử dụng kết quả này để bọc khóa 'phiên' bằng AES-KW (RFC3394).
KDF được sử dụng trong thỏa thuận ECDH không phải là PBKDF2 và không phải là PBKDF2; không có ích gì khi sử dụng KDF nhằm cung cấp khả năng kéo dài mật khẩu trên dữ liệu không phải là mật khẩu và không cần kéo dài. Trên thực tế, đây là một trong những KBKDF từ SP800-56A và khá tầm thường (mặc dù điều quan trọng là phải chỉ định, vì điều quan trọng là tất cả những người tham gia thực hiện chính xác cùng một điều).
Cuối cùng, một nit: tin nhắn hoặc mã hóa 'số lượng lớn' trong OpenPGP là CFB (đã được tinh chỉnh), nhưng không nhất thiết phải là AES; một số mật mã khối đối xứng được hỗ trợ.
Mặc dù AES phổ biến và vì những lý do chính đáng.
Tôi không chắc là tôi hiểu 2 câu hỏi đầu tiên của bạn.Cả mã hóa sử dụng gói RSA và mã hóa sử dụng gói ECDH+ đều là tiêu chuẩn. Bạn có thể sử dụng mã hóa RSA khi gửi cho người nhận có khóa RSA (việc sử dụng của họ cho phép mã hóa) và mã hóa ECDH khi gửi cho người nhận có khóa ECDH; bạn có thể sử dụng cả hai khi gửi cho người nhận một số người trong số họ có một loại khóa và một số khác.
Bạn có thể sử dụng không khi gửi cho ai đó bằng khóa ElGamal (FFC/modp), nếu bạn có thể tìm thấy bất kỳ ai vẫn đang làm điều đó.
Rõ ràng, OpenPGP cũng hỗ trợ RSA cho chữ ký/xác thực, nhưng điều đó hoàn toàn khác với việc sử dụng nó để mã hóa. Bạn có thể ký bằng RSA (sử dụng khóa của riêng bạn) và mã hóa bằng ECDH (sử dụng khóa của người nhận) trong một tin nhắn nếu sự kết hợp đó được áp dụng.