- GNU Privacy Guard
infobox software
developer =GNU Project
latest_release_version = 2.0.9
latest_release_date = release date and age|2008|03|26
operating_system =Cross-platform
genre = PGP
license =GNU General Public License
website = [http://gnupg.org/ gnupg.org]GNU Privacy Guard (GnuPG or GPG) is a replacement for the PGP suite of cryptographic software. GnuPG is compliant with RFC 4880, which is the current IETF standards track specification of
OpenPGP . Current versions of PGP (and Veridis' Filecrypt) are interoperable with GnuPG and other OpenPGP-compliant systems.GPG is a part of the
Free Software Foundation 'sGNU software project, and has received major funding from theGerman government . Released under the terms of version 3 of theGNU General Public License , GPG isfree software .History
GnuPG was initially developed by
Werner Koch . Version 1.0.0 was released onSeptember 7 ,1999 . The German Federal Ministry of Economics and Technology funded the documentation and the port toMicrosoft Windows in 2000.Because GnuPG is an OpenPGP standard compliant system, the history of OpenPGP is of importance. It was designed to interoperate with PGP, the email encryption protocol developed by
Phil Zimmermann .Version 2.0 was released
13 November 2006 . The old stable 1.x branch, whose last version is 1.4.9 will be continued in parallel with the new GnuPG 2 series, because there were significant changes in the architecture of the program which will not fit every purpose. [ [http://lists.gnupg.org/pipermail/gnupg-announce/2006q4/000239.html GnuPG-2.0 released] , Werner Koch,2006-11-13 ]Usage
GnuPG is frequently included in free
operating system s, such asSolaris ,OpenSolaris ,FreeBSD ,OpenBSD , andNetBSD and nearly allGNU/Linux distribution s.Although the basic GnuPG program has a
command line interface , there exist variousfront-end s that provide it with agraphical user interface . For example, GnuPG encryption support has been integrated intoKMail and Evolution, the graphicale-mail client s found in the most popularLinux desktopsKDE andGNOME . There are also graphical GnuPG front-ends (Seahorse for GNOME,KGPG for KDE). ForMac OS X , the Mac GPG project provides a number of Aqua front-ends for OS integration of encryption andkey management as well as GnuPG installations via Installer packages. [citeweb|title=Mac GNU Privacy Guard|url=http://macgpg.sourceforge.net/|publisher="sourceforge"|accessdate=2008-04-29]Instant messaging applications such as Psi and Fire can automatically secure messages when GnuPG is installed and configured. Web-based software such as Horde also makes use of it. The cross-platformplugin Enigmail provides GnuPG support forMozilla Thunderbird andSeaMonkey . Similarly,Enigform andFireGPG provide GnuPG support forMozilla Firefox .In 2005, G10 Code and
Intevation releasedGpg4win , a software suite that includes GnuPG for Windows,WinPT ,Gnu Privacy Assistant , and GnuPG plug-ins forWindows Explorer and Outlook. These tools are wrapped in a standard Windows installer, making it easier for GnuPG to be installed and used on Windows systems.Process
GnuPG encrypts messages using asymmetric keypairs individually generated by GnuPG users. The resulting public keys can be exchanged with other users in a variety of ways, such as Internet key servers. They must always be exchanged carefully to prevent identity spoofing by corrupting public key ↔ 'owner' identity correspondences. It is also possible to add a cryptographic digital signature to a message, so the message integrity and sender can be verified, if a particular correspondence relied upon has not been corrupted.
GnuPG does not use patented or otherwise restricted software or algorithms, like the IDEA encryption algorithm which has been present in PGP almost from the beginning. Instead, it uses a variety of other, non-patented algorithms such as
CAST5 ,Triple DES , AES, Blowfish andTwofish . It is still possible to use IDEA in GnuPG by downloading a plugin for it, however this may require getting a license for some uses in some countries in which IDEA is patented.GnuPG is a hybrid encryption software program in that it uses a combination of conventional symmetric-key cryptography for speed, and
public-key cryptography for ease of secure key exchange, typically by using the recipient's public key to encrypt asession key which is only used once. This mode of operation is part of the OpenPGP standard and has been part of PGP from its first version.Problems
The OpenPGP standard specifies several methods of digitally signing messages. In 2003, due to an error in a change to GnuPG intended to make one of those methods more efficient, a security vulnerability was introduced. [ [http://www.di.ens.fr/~pnguyen Phong Q. Nguyen] [http://www.di.ens.fr/~pnguyen/pub.html#Ng04 "Can We Trust Cryptographic Software? Cryptographic Flaws in GNU Privacy Guard v1.2.3." EUROCRYPT 2004: 555–570] ] It affects only one method of digitally signing messages, only for some releases of GnuPG (1.0.2 through 1.2.3), and there were less than 1000 such keys listed on the key servers. [ [http://lists.gnupg.org/pipermail/gnupg-announce/2003q4/000160.html GnuPG's ElGamal signing keys compromised] Werner Koch,
November 27 ,2003 ] Most people did not use this method, and were in any case discouraged from doing so, so the damage caused (if any, and none has been publicly reported) would appear to have been minimal. Support for this method has been removed from GnuPG versions released after this discovery (1.2.4 and later). Two further vulnerabilities were discovered in early 2006; the first being that scripted uses of GnuPG for signature verification may result infalse positives , [ [http://lists.gnupg.org/pipermail/gnupg-announce/2006q1/000211.html False positive signature verification in GnuPG] Werner Koch,February 15 ,2006 ] the second that non-MIME messages were vulnerable to the injection of data which while not covered by the digital signature, would be reported as being part of the signed message. [ [http://lists.gnupg.org/pipermail/gnupg-announce/2006q1/000218.html GnuPG does not detect injection of unsigned data] , Werner Koch,March 9 2006 ] In both cases updated versions of GnuPG were made available at the time of the announcement.GnuPG is a command-line based system, that is not written as an API which can be incorporated into other software.
GPGME is an API wrapper around GnuPG which parses the output of GnuPG, and various graphical front-ends based on GPGME have been created. This currently requires an out-of-process call to the GnuPG executable for many GPGME API calls. Because GPGME makes use of a special GnuPG interface designed for machine use, a stable and maintainable API between the components is given. Possible security problems in an application do not propagate to the actual crypto code due to the process barrier.Other software wraps the command line in a
Perl script (e.g.gpg-dialog ) that is menu based and more user friendly.See also
*
E-mail privacy
*Key signing party
*Asymmetric key algorithm
*Cryptosystem
*Enigmail - Thunderbird plug-in
*Enigform
*Claws mail - email client with GPG plugin
* Mutt - email client with PGP/GPG support built-in
*Comparison of e-mail clients
*Psi_(instant_messaging_client) References
External links
* [http://www.gnupg.org/ Project home page]
* [http://lists.gnupg.org/pipermail/gnupg-announce/2007q4/000268.html A Short History of the GNU Privacy Guard] , written by Werner Koch, published on GnuPG's 10th birthday
* [http://freshmeat.net/projects/gnupg/ GPG] onFreshmeat
* [http://www.emiic.net/services/guides/encrypted_email.html Another Thunderbird/GnuPG/Enigmail howto]
* [http://www.napoletano.net/front/node/352 "A contrario": Protect your email with GnuPG] -- A tutorial that covers the installation and configuration of GnuPG with Thunderbird or Microsoft Outlook/Express
Wikimedia Foundation. 2010.