GnuPG is a complete and free implementation of the OpenPGP standard as defined by RFC4880 (also known as PGP). GnuPG allows you to encrypt and sign your data and communications; it features a versatile key management system, along with 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. GnuPG also provides support for S/MIME and Secure Shell (ssh).
Source:
A set of keys will allow you to sign, encrypt, authenticate and certify. In real life this will be pratical for mail, connections like ssh, commit and lot of other thing.
Check this awsome tutorial from drduh Even if you don't possede any yubikey the method and generation of the keys is really good