File Encryption Made Easy With Basic GPG | by Tate Galbraith | Nov, 2022

Versatile, secure, and best of all: FREE

photo by Michael Dzidzik Feather unsplash

Do you have anything to hide?

are you keeping secrets?

Maybe a little light corporate espionage?

OK, maybe not that extreme, but at one point we’ve all run into a situation where we need to encrypt some trade secrets. This could be a password, a key, or some top-secret product schemes. Preferably all legal ones too.

Whether you’re testing them under source control (which you probably shouldn’t, even if they’re encrypted) or sending them over the public Internet, the need for strong encryption is critical. There are a ton of paid products out there touting all kinds of features and fancy utilities, but if all you need to do is encrypt a file or two and get on with your life there’s no point blowing money on a whole suite of those. About things you’ll never use.

In this article, we will explore how to use one of the best encryption tools that is also built directly into Linux: GnuPG (GPG). You can do all kinds of encryption tasks using this tool. Straightforward, simple and doesn’t require you to install anything or spend a dime.

If you have a small file containing some sensitive information and you just want to protect it with a password, GPG can easily do that. Execute the following command to encrypt the file with a passphrase:

gpg -c 

You will be prompted to enter a password for the file. After you confirm and save the password, the file will be encrypted as a new one .gpg file.

Now when you want to decrypt the file, you can simply execute:

gpg -d 

You will be prompted for the password again and then the contents of the file will be printed stdout, You can also redirect the output to a new file by passing the following parameters:

gpg -d  -o 

By default will encrypt the file using GPG AES256 Spec, which is very secure. However, since it is symmetric encryption This means that the same password encrypts and decrypts the file. You can very quickly compromise the security of the file if you choose a weak password or share it widely among multiple parties.

Make sure you choose very strong passwords for your encryption and limit sharing them.

Now, let’s say you have the same file and you want to encrypt it using a key pair. You can do this quite easily with GPG as well. If you already have a GPG key pair that you want to use, simply execute the following command to encrypt the file:

gpg -e --recipient  

This command will encrypt the input file using the public key from the user ID you specified. It can be a little confusing at first, but it’s actually quite simple once you understand what’s going on.

let’s dig in --recipient parameter. GPG assumes you are encrypting this file public key from user id pair (using specified) --recipient) is so that you can send the encrypted file to the recipient and they can use them Personal The key to decrypt it.

If you don’t have any GPG keys, you can create them using the command below:

gpg --gen-key

It will prompt you for some basic information like creating a certificate or SSH key. Once you enter the user ID for the key, it will automatically be added to your local GPG database. You can reference the user ID when you want to encrypt files for recipients.

Remember that you are encrypting using the public key for this user and this assumes they already have the private key to be able to decrypt the message. There are several methods for obtaining your remote recipient’s public key, but the easiest way for them is to simply send it over the public Internet. It’s a public key and unless an attacker has the private key, they won’t be able to do much with it. Therefore it is a. is called public key.

If you want to export the public key from another user’s GPG system, you can issue the following command:

gpg --export --armor  > .asc

This will output the key a .asc file which can then be imported into your GPG database for encryption use. To import the key, execute:

gpg --import .asc

This whole process is an example asymmetric encryption Which takes advantage of public and private keys. It is a more robust method of encryption that allows you to send encrypted data to third parties who hold the private key in order to decrypt it. All without telling them any sensitive information. All you need is the public key to perform encryption.

Leave a Reply