How to Decrypt Files Using GPG

This help file is intended to give more detailed, platform-specific instructions on how to decrypt files using GNU Privacy Guard (GPG) for those that need it.

First, some background: File encryption is required by U.S. Federal law when transmitting the proprietary information utilized in peer reviews. We have endeavored to make this process as simple as possible while using free software that is supported on all popular OS platforms, but we recognize that it is obviously not as easy as it could be. Please accept our apologies for the inconvenience and our thanks for the additional time and effort it takes to decrypt these files.

Windows

  1. First, download and install the latest version of GPG4Win. You will need administrator access to install it. Make sure you install the GPA component. It may not be part of the default installation.

  2. After GPG4Win has been successfully installed, launch GPA (gpa.exe), either by clicking on its icon or selecting it from the Windows "Start" menu.

  3. After it has launched, click on the "Files" icon in the toolbar of the "GNU Privacy Assistant - Key Manager" window. It is the third icon from the right in the toolbar, next to the "Clipboard" icon. This will open up the "GNU Privacy Assistant - File Manager" window.

  4. In that window, click on the "Open" icon in the toolbar (the first icon on the left of the "File Manager" toolbar) and then navigate to the encrypted (*.asc) file and open it. The file should now be listed in the "File Manager" window.

  5. Finally, click on the "Decrypt" button. This will present a dialog box for you to enter the passphrase. Type (or paste) the passphrase, which should have already been supplied to you by the mission's peer review staff. After a few moments, the file will be decrypted and you can quit GPA.

  6. You will likely still need to untar the decrypted file, but there are many Windows programs to do that (e.g., 7zip, WinZip, Winrar, Winace), and you may already have one of those utilities installed.

  • Alternatively, you can use the command line interface in a Terminal session. Note that the executable may be named "gpg2.exe" instead of "gpg.exe". It will probably be installed in C:\Program Files\GNU\GnuPG\. If that is the case, you should amend the recommended command line from "gpg" to "gpg2" accordingly.

Mac OS X

  1. First, download and install the latest GPG Suite to use GPG 2.x.

    Alternatively, if you already use and are familiar with MacPorts or Homebrew or Fink, you can install gpg2 using one of those Mac package managers and skip to step 5.

  2. Locate the downloaded image file ("GPG_Suite-2017.2.dmg" or similar) in the Finder and double-click it to mount it.

  3. After the image mounts, double-click on the "Install" icon in the image's window and follow the installer's instructions to install GPG on your Mac. We recommend that you click on the Customize button and uncheck every sub-package except for the "MacGPG2" sub-package (unless you plan on using GPG for other things on your Mac and want those other features). You will need administrator access to perform the install.

  4. Next, launch the Terminal application, which should be located in the "Utilities" folder inside your main "Applications" folder. Alternatively, use Spotlight to locate it by searching for "Terminal" (without the quotes).

  5. Once you have a Terminal window open, you will need to change directory to where the encrypted file was downloaded. For example, if the encrypted file is in your Downloads folder, you would type:

    cd ~/Downloads/

    If the encrypted file is on your desktop, you would type:

    cd ~/Desktop/

    If the encrypted file is in your home directory, you would just type:

    cd
  6. Finally, copy and paste one of the Unix-compatible commands for decrypting files, as given in the peer review instructions, into the Terminal window. The second command should work on Mac OS X and is recommended. If you get an error in the Terminal window that says "gpg: command not found" or similar, replace "gpg" with "/usr/local/MacGPG2/bin/gpg" in the decryption command and try again. If that doesn't work, try "/usr/local/bin/gpg" instead and/or use the following commands to determine where GPG was installed:

    /usr/local/bin/gpg --version
    /usr/local/MacGPG2/bin/gpg2 --version
    /usr/local/MacGPG1/bin/gpg --version
    /usr/local/gnupg-2.2/bin/gpg --version
    /opt/local/bin/gpg --version
    

    You may find it convenient to create a command alias so that you do not have to type the complete path each time. Depending on what type of shell you are using, you can do that by typing one of the following commands, chosen appropriately, in a Terminal window (for the bash shell):

    alias gpg=/usr/local/bin/gpg
    alias gpg=/usr/local/MacGPG1/bin/gpg
    alias gpg=/usr/local/MacGPG2/bin/gpg2
    alias gpg=/usr/local/gnupg-2.2/bin/gpg2
    alias gpg=/opt/local/bin/gpg
    

    If your shell is tcsh instead, defining an alias is the same except you should not type the equal sign (=) in the above examples.

    If you are not sure which shell you are using or this is confusing, you can skip defining an alias and instead just type the full path to the command when issuing the decryption command.

  7. Depending on which Terminal command you used, you might still need to untar the decrypted file. We recommend utilizing the free utility The Unarchiver for that purpose. It can also be downloaded for free from the Mac App Store.

If at some point you ever encounter a gpg error message that says "Bad session key" on the Mac, here are the steps to resolve it:
  1. Launch the Keychain Access application. It should be located in the "Utilities" folder inside your main "Applications" folder. Alternatively, use Spotlight to locate it by searching for "Keychain Access" (without the quotes).

  2. In the search box in the top right corner of the Keychain Access window, type "gnupg" (without the quotes).

  3. That should reveal a keychain named "GnuPG" in the list below. Click on it and hit the the Delete key on your keyboard. Then, click on the "Delete" button to confirm deletion of the GnuPG keychain.

  4. Quit the Keychain Access application.

  5. Open the Terminal application (as described in the steps above), and, in the Terminal window, type the following command:

    killall gpg-agent

Linux, BSD, Solaris, or Other Unix-Like OS

Most popular Linux distributions ship with GPG already installed. You should be able to just copy and paste the decryption command (as given in the peer review instructions) into any terminal window. If not, consult your distribution's software package manager on how to install GPG (a.k.a. "gnupg"). Alternatively, the source code is also available.