Do you have a file or message you want to keep private? To keep them safe, you should use GPG encryption keys. If you are running Linux, encrypting files with GPG is easy, provided you have GnuPG installed.

A PGP key also allows you to encrypt files. Anyone with your public key will be able to decrypt those emails or files. Without a PGP key, no can do. Creating a new PGP key pair is incredibly simple with Seahorse. Here’s what you do: Open the Seahorse app. Click the + button in the upper left corner of the main pane. Select PGP Key (Figure 1. 2020-3-19  Generating PGP Keys. This article will guide you through the process of generating public and private keys for encrypting emails. This is for people using command line (unix) mail readers such as Mutt as well as those who use Linux workstations. How to Generate PGP Keys. Run the following commands on your local workstation. 2015-5-27  主题 PGP Linux Overview This blog describes how to generate a private/public key pair using GPG version 1.4.5. The resulting public key will contain two keys, one key for signing and a. Jul 12, 2019 GPG relies on the idea of two encryption keys per person. Each person has a private key and a public key. The public key can decrypt something that was encrypted using the private key. To send a file securely, you encrypt it with your private key and the recipient’s public key. To decrypt the file, they need their private key and your public key.

Generating PGP Keys. This article will guide you through the process of generating public and private keys for encrypting emails. This is for people using command line (unix) mail readers such as Mutt as well as those who use Linux workstations. How to Generate PGP Keys. Run the following commands on your local workstation. 2020-4-8  Import a public key. As others persons can use your public key to send you a message, you can import public from people you trust in to communicate with them. Gpg -import bobpublickey.gpg Conclusion. Now we have notions on the principles to use and generate a public key. You know how GnuPG is functioning and you can use it for secure. 2020-3-29  Public Key Servers. In general, it's not advisable to post personal public keys to key servers. There is no method of removing a key once it's posted and there is no method of ensuring that the key on the server was placed there by the supposed owner of the key. It is much better to place your public key on a website that you own or control.

Today's article will show you how to create GPG keys in Linux with just a few simple terminal commands.

Instructions for creating GPG key in Linux

  • Install GnuPG
  • Create pairs of GPG keys
  • Revoke the key
  • Export public key to a file
  • Export public key to keyserver
  • Encrypt and decrypt files
  • Rest assured with GPG encryption!

Install GnuPG

You need to start by installing GnuPG first. For distributions based on Debian or Ubuntu, open a terminal and run:

Linux distributions using DNF or YUM (like Fedora) will run the following command:

Or:

If you are running Arch, install GnuPG with the following command:

You can also download the source code here and compile it yourself if you like.

Create pairs of GPG keys

When GnuPG is installed, you will need to create your own GPG key pair, including a private and a public key. Private key allows you to decrypt or encrypt files and create signatures with that private key itself.

The public key you share can be used to verify that the encrypted file actually comes from you and is created with your own key. Public keys can also be used by others to encrypt files for you to decrypt.

To create this private and public key pair, open the terminal and enter the following command:

This command will start creating private folders and public keys. You will be asked to enter your full name and email address. Do that and press Enter .

Picture 1 How to create GPG key in Linux download this picture HERE

You will be asked to confirm your choice, edit or exit. Select the option you want and press Enter .

Before the key is created, you will need to provide a secure passphrase. Enter the passphrase and press Enter .

Picture 2 How to create GPG key in Linux download this picture HERE

It may take some time for your key to be created. Once done, you will see a confirmation message.

Picture 3 How to create GPG key in Linux download this picture HERE

Revoke the key

If for some reason, you need to revoke your key, run the following command:

uid is User ID. For example, you can use your email address here. This will create a revocation certificate (you will need to provide a password to do this). You need to give a reason, choose one of the options numbered from 0 to 3 .

Picture 4 How to create GPG key in Linux download this picture HERE

Linux Pgp

You can do this immediately after you create your key. Your certificate will be exported as a file - in this case, the file named 'revoke.asc'.

Generate

Export public key to a file

To share your file or message with others, you will need to share your public key, ie export it from your computer. To export your public key to a file, open a terminal and enter:

If you want the key in readable format (eg ASCII in a text file), run the following command:

After that, you can open this file with any standard text editor.

Export public key to keyserver

You can make your public key easily share and search, by registering it to the keyserver, a public key store. For example, you can use the MIT archive (reference link: https://pgp.mit.edu/) to synchronize your key with other repositories.

First, find the Key ID by opening a terminal and entering:

Locate the key and note the last 8 digits of the User ID (fingerprint of User ID). For example: B852 085C.

Picture 5 How to create GPG key in Linux download this picture HERE

Use the 8-digit User ID to find and enter the following information (replace B852 085C with your own ID):

The public key will then be registered with the keyserver, where others can find and enter it. Remember, there is no problem sharing a public key. It cannot be used to decode files or messages but can be used to encrypt them before sending them to you and only you can decrypt them.

Encrypt and decrypt files

Generate Public Pgp Key Linux Software

/god-of-war-3-key-generator-with-download-link.html. To encrypt a file, open a terminal and run the following command:

You can replace the recipient email with the key fingerprint if you like. Replace the output and input file names with the files you will encrypt, as well as your own output files.

Picture 6 How to create GPG key in Linux download this picture HERE

To decrypt the file, run the following command:

You will be asked to provide a passphrase to allow access to private keys and file decoding. After that, the decrypted content will be exported as a file, listed under the --output flag .

Rest assured with GPG encryption!

In an ideal world, you won't need to worry about encrypting your sensitive files. However, the real world is not ideal at all. If you're worried about prying eyes, GPG encryption will keep your files, messages and emails safe.

If you use Windows, you can encrypt your files with Powershell or Gpg4win.

If you have coding tips or want to share with everyone, leave comments in the comment section below!

Maybe you are interested

How to get back the lost Windows Key or Office?

If you're trying to reinstall Windows with a genuine KEY but can't find the key to activate , you're lucky enough to be able to find it again in the Registry, but you can't go directly to the Registry and copy it anyway. Generate private key from public certificate. out. So in this article, I will show you how to get them back. As you can see in the picture above, your Windows active key is stored in the registry called DigitalProductId , but..Read more »

A readme and a script to generate PGP keys using GnuPG, using the current best practices.

Generate Pgp Key Linux

Its goal is to provide a concise and up-to-date description of best practices regarding the usage of GnuPG. A basic understanding of public key cryptography, and GnuPG in particular is assumed.

If something is not clear or you're new to PGP, then make sure to start with the Glossary below.

Some quick insights

  • Public key cryptography happens between two encryption keys, which is not necessarily only two humans, unless enough care has been taken when exchanging public keys and to keep the secret keys indeed secret.
  • In a digital networked world it's not possible to delete any published information, it must be assumed to be just there forever. This also applies to PGP keys.
  • Properly authenticated revocation requests can be published, though. If such requests are digitally signed (authenticated), then they will be honored by programs handling e.g. PGP keys (key servers, client programs), and the revoked data will be ignored/hidden from the user accordingly.
  • Having a separately stored revocation certificate in your backup comes very handy if your key gets compromised or lost. By publishing it you can tell your peers that your key should not be used anymore.
  • The most precious part of a PGP key block is its master signing key.
  • The master signing key of a PGP key block is rarely needed (mostly when editing/extending the PGP key block itself and when signing other people's keys).
  • You can only trust you generated PGP key to the extent you trust the software environment and/or the computer generating it. Opensource is a minimum in security, so use a Linux live cd or something similar from a trusted source to generate and/or use your master signing key, preferably while being offline (see live CD's in the Glossary)!
  • Specialized hardware solutions offer much better protection for secret keys. See below.
  • If you forget the passphrase for your already published key, and you don't have a revocation certificate either, then your key will be lingering on the keyservers confusing your peers, who will annoy you by sending you messages you cannot read.
  • Passphrases: three to five word long sentences that you make up yourself (based on a non-trivial vocabulary, personal experiences, dreams, preferably with s0me typ0s) are easier to remember than a bunch of random characters, and are better passphrases. You can even build a little story around them to have separate but semantically interconnected passphrases (for the keys, for the revocation certificate, etc.). A vivid dream or delightful fantasies can be a good basis for something you won't forget.. :)
  • ..but at the end of the day it'll always be a tradeoff between security and convenience. Assess your risks and act accordingly.

The PGP algorithm needs an extra parameter, a key, to sign or encrypt data. That parameter is a cryptographic keypair, usually one of the subkeys from a PGP key block. New subkeys can be freely generated and published, so forward secrecy can be achieved by publishing new subkeys, as long as the secret part of the master signing keypair has not been compromised. Therefore the most precious part of a PGP key block is its master signing key, because whenever new information is attached to the key block (e.g. a new subkey is generated), this new data must be signed by the secret part of the master signing keypair, otherwise conforming programs will reject the new unsigned or improperly signed part of the PGP key block. In this scheme publishing valid additions to the key block is only possible by people who know the secret part of the master signing key. This is ideally you, and you only.

So, to conclude: keep the secret part of your master signing key safe!

Generating a key

The aim is to generate a digital identity that can serve to identify you and to facilitate secret communication with you in the future.

Things to consider:

  • If a valid signing subkey exists, then the master signing key is rarely used (only to sign internal parts of the key block itself, when explicitly selected, or when signing other people's keys), so the size of the signatures it generates is not a major concern.
  • Having a strong master signing key (and taking good care of it) can provide a long time span for your digital identity (possibly 10+ years) and for forward secrecy.
  • The security of RSA keys does not scale well beyond 2048 bits, use ECC (Elliptic curve cryptography) instead as recommended. Unfortunately it requires GnuPG 2.1+ (2014 Nov).
  • Longer signing keys generate longer signatures.
  • Signature length: RSA > DSA = ECDSA (Elliptic Curve DSA) (but there's more to this story).
  • Some GnuPG configuration parameters affect newly generated keys (although not in a permanent way); e.g. see setpref to set the preferred hash algorithms for identities here.

Even more thoughts here.

Using GnuPG

GnuPG properly operates with a PGP key block that is missing the secret part of its master signing key, as long as it's not needed for an operation. Therefore it's a good idea not to store the secret part of the master signing key in the regularly used gpg home directory, but rather generate and handle it in a safer environment; e.g. generate and handle it using a live CD without Internet connection, and store it on a pendrive dedicated to this purpose. Then only attach it when needed (e.g. when signing other people's keys or when your own keyblock needs to be modified).

Generate

This script generates (with defaults in parens):

  • a master signing key (RSA 4096 bit, no expiration date marked)
  • a subkey for signing (RSA 4096 bit, 3 years)
  • a subkey for encryption (RSA 2048 bit, 3 years)
  • export the secret part of the master signing key into the file secret-master-key.gpg
  • export the secret parts of the two generated subkeys into the file secret-subkeys.gpg
  • export the public parts of all the three generated keys into the file public-keys.gpg
  • generate and symmetrically encrypt a revocation certificate into the file revocation-certificate-for-[keyid]-passphrase-protected.gpg
  • (planned: support for ssss-split to generate secret sharing to backup the master key and the revocation certificate in a distributed manner)

Once the exported files have been generated, you can import them into the gpg homedir's on your devices (by default ~/.gnupg). Where you should import and what depends on the level of security you want to achieve, but keeping the master key offline is advised as described above.

(the '#' character in the output shows that the secret part of the master signing key is missing)

SmartCards and other hardware keys

SmartCards and USB cryptographic tokens are specialized simple computers that perform cryptographic operations. They are designed to keep the secret keys secret even against physical attacks. They are much more secure than storing a key on a personal computer, but they are not flawless ⁽¹⁾⁽²⁾. Usually they can store three separate keys for signing, encryption, and authentication. The secret keys can be either uploaded or generated on the cards themselves, so that they never get exposed to less secure environments.

  • The OpenPGP Card version 2.0 - a SmartCard with extensive documentation and thus stable Linux support. You can also get one by joining the FSFE Fellowship. Supports three 4096 bit keys and on-card key generation⁽¹⁾.
  • Crypto Stick - a tiny OpenSource USB computer and firmware with an integrated proprietary smart card chip. Supports OATH TOTP as described here.
  • gnuk - a portable OpenSource implementation of the OpenPGP Card specification that can run on e.g. this tiny ARM based OpenSource USB computer.

Some laptops have internal smart card readers, and higher security external readers have their own PIN entry keyboard.

Further information on using smart cards on Linux: Debian wiki, Using an OpenPGP SmartCard, OpenSC – tools and libraries for smart cards, GnuPG wiki.

Glossary

  • PGP key - It's usually a shorthand for PGP key block, which will be the case in this document, too. Not to be confused with asymmetric cryptographic keypairs, which are merely parts of PGP key blocks.
  • PGP key block - a complex structure of information (normally stored in ~/.gnupg/). Examples of the information it can contain: multiple cryptographic (sub)keys; multiple identities (email addresses, photgraphs, etc); digital signatures on various parts of the key block (potentially made by other people's keys, e.g. to communicate the belief to the rest of the world that the same real world person owns the listed digital identities, and also the secret part of the key).
  • subkey - PGP key blocks can have, among other things, multiple asymmetric cryptographic keypairs. One such asymmetric cryptographic keypair is mandatory for normal operation. It's called the master signing key, and it's used to sign various information inside the key block, e.g. identities and/or other cryptographic keys, which are called subkeys.
  • asymmetric cryptographic keypair - they are basically pairs of very big interconnected random numbers, one of them should be made public, while the other one should be kept secret. Asymmetric encryption algorithms use the public part to encrypt data and to verify signature blocks, while use the secret part to decrypt data and to generate signature blocks.
  • OATH is short for Initiative for Open Authentication. Among other things it defines a Time-based One-time Password (TOTP) authentication standard, supported by more and more websites.
  • Live CD is a bootable read-only operating system, like these security focused Linux Live CDs (bootable from USB pendrives also):
    • Liberté Linux.

Alternatives and/or further reading

Credits

Written by Attila Lendvai attila.lendvai@gmail.com (Key fingerprint: 2FA1 A9DC 9C1E BA25 A59C 963F 5D5F 45C7 DFCD 0A39).

If you've found this useful, then tips are welcome:

Generate Public Pgp Key Linux Download

  • Bitcoin (BTC): 1Ej8SeMNTkwjSwhKLu7H1XLVRPZ3HUjM4J (0 BTC as of 2014-01-18)
  • Ripple (XRP): r33NEgyd7HqvrUeB98rQ4VoBxP438gC74Q (0 XRP as of 2014-01-18)
  • Paypal: (0 USD as of 2015-11-10)
Coments are closed
Scroll to top