RFC-4880bis
These are notes created during planning of an updated OpenPGP specifiction in 2015/2016. GnuPG meanwhile implements nearly everything from a draft which got rough consensus in the WG in early 2018.
The current state of the OpenPGP specification is rfc4880bis.
Up to "New MUST algorithms" section the following notes are the topics from dkg's list.
Fingerprints
Update the fingerprint format (avoid inclusion of creation date, use stronger digest algorithm; i'm dubious about embedding algorithm agility in the fingerprint itself, but explicit version info in the fingerprint might be reasonable so we don't have to keep guessing by fpr structure for future versions)
Key IDs
get rid of keyids entirely -- when referring to a key, use the fingerprint where a compact hint is needed (e.g. in a replacement of the issuer subpacket) or the full primary key where it is more sensitive (e.g. in designated revoker). With EC keys, we could consider using the full key (not the full cert) even in the issuer subpacket case, which could make things cleaner.
Hash algo
deprecate MD5, SHA1, and RIPEMD160
Cleartext sigs
clarify that cleartext signatures should all use charset/encoding UTF-8.
S2K
update S2K with something more modern (PBKDF2, scrypt?), deprecate all the other mechnanisms explicitly
- Jon Callas suggests the use of PBKDF2.
- Peter Gutmann suggests to wait for the outcome of PHC and use that.
- Nils Durner maintains a patch for RFC4880bis to include the PHC winner Argon2i
Curves
standardize the two new curves coming out of the CFRG: 25519 and curve448 ("goldilocks") for both signatures and encryption (Werner has already started this process for 25519 signatures)
Compression
remove compression entirely
Terminology
clean up the language: clearly distinguish between "public key" and "certificate", and ensure that the use of the terms "trust" and "validity", if still present, are used unambiguously.
Literal data packet
declare a literal data packet type "m" that means "MIME content" so that we can punt on the rest of the message structure/format/encoding/type craziness to MIME.
Deprecated 3DES et al.
deprecate 3DES, IDEA, and as many of the weaker ciphers as we can get away with.
AEAD
provide a modern streamable/chunkable AEAD replacement for Symmetrically-Encrypted Integrity-Protected Data (SEIPD) packets
New MUST algorithms
change MTI algorithms: SHA512, the two new ECs, and the new AEAD mechanism should be the baseline.
New key flags
- A new key flag to support GNS
New notation data
In the past we add a few requests for new IETF namespace notations:
- "nick" for GNS
- [fixme]
RFC-3156bis
- Define application/pgp-message for binary OpenPGP messages
- Define application/pgp-keydata for binary OpenPGP keys
- Remove the micalg parameter