With the new extension of the OpenPGP Standard that provides support for Elliptic Curve OpenPGP keys we have received a question from one of our customers asking what is the difference between AES-256 and the new ECC OpenPGP keys?
The short answer is that the Elliptic Curve cryptography (ECC) OpenPGP keys are asymmetric keys (public and private key) whereas AES-256 works with a symmetric cipher (key).
The long answer is that the new Elliptic Curve cryptography (ECC) OpenPGP keys are designed to replace the existing asymmetric OpenPGP keys which are based on the RSA (both encryption and signing) and Diffie-Hellman (DH) (used for obtaining shared secret) and DSA (used for signature generation).
The ECC keys on the other hand use Elliptic Curve Diffie-Hellman (ECDH) shared secret protocol for encryption and Elliptic Curve Digital Signature Algorithm (ECDSA) for signature generation. An ECC OpenPGP key consists of a master key which is a ECDSA key and a sub key which is a ECDH key and is signed by the master key.
The role of the ECC OpenPGP keys is to encrypt a shared secret known as session key (as each time it is different).
AES-256 as a symmetric cipher is used to actually encrypt the data using the mentioned above session key.
The main reason that the data is not encrypted with the ECDH algorithm is that asymmetric encryption algorithms are much more slower than symmetric ones.
A common confusion is to compare asymmetric encryption algorithms and symmetric ones. In this chapter we have mentioned the new ECC OpenPG keys and the AES-256 algorithm.
You can also check the chapters describing how to specify explicitly the preferred symmetric encryption algorithm with DidiSoft OpenPGP Library: