This page is about using GnuPG in Debian. For development work, see the GnuPG packaging team page.
GnuPG is a complete and free implementation of the OpenPGP standard. GnuPG allows to encrypt and sign your data and communication, features a versatile key management system as well as access modules for all kinds of public key directories. GnuPG, also known as GPG, is a command line tool with features for easy integration with other applications. A wealth of frontend applications and libraries are available. Version 2 of GnuPG also provides support for S/MIME and Secure Shell (ssh).
Upstream Homepage: https://www.gnupg.org/
Upstream Documentation: https://www.gnupg.org/documentation/
As GnuPG is an implementation of the OpenPGP standards, you can get an understanding of the concepts you'll need from the OpenPGP concepts pages on the KDE wiki.
You should also read riseup's best practices document.
Getting started with GnuPG - Generating and publishing a key
Subkeys - Using subkeys for easier key management
Airgapped Master Key - Generating an airgapped master key and subkeys
Smartcard Subkeys - Exporting subkeys to a smartcard (or other OpenPGP hardware token)