What is the purpose of 'Version:' in PGP public key

You can safely remove that line. RFC 4880, OpenPGP does not declare it as required.

Currently defined Armor Header Keys are as follows:

  • "Version", which states the OpenPGP implementation and version used to encode the message.
  • [...]

I also could not find any evidence of version data being included in the binary version, neither by reading the RFC nor by viewing at the package data using gpg --list-packets.


To remove it, use --no-emit-version. From man gpg:

   --emit-version
   --no-emit-version
          Force inclusion of the version string in ASCII armored output.   --no-emit-
          version disables this option.

This version number will be usefull in the case in the future a known version of OpenGPG will be announced broken on a given set of OS.

Upon receiving a signed or crypted message using this broken version of OpenGPG, you will be able to decide to change your trust level attributed to this key.

On the other hand, I don't see any real advantage to hide the origin tracking information of a key generation.