Pretty Good Privacy
Pretty Good Privacy or PGP is a hybrid cryptosystem for email security, originally developed by Phil Zimmerman.
All versions use a public key cryptosystem to provide digital signatures and to manage keys for a block cipher which does the actual message encryption.
The original PGP used a block cipher called Bassomatic, devised by Zimmerman. This was quickly shown to be weak, and replaced with IDEA in version 2.0. In version 3.0. they switched to CAST-128 which, unlike IDEA, was free of patent restrictions.
Upon original release, it was famously subject to the United States export control of encryption technologies which prevented it's distribution outside of the US. Visitors to the PGP website who attempted to download the software from a non-US IP address were denied. Despite this, PGP quickly found its way to various non-US sites. Zimmerman was investigated by the US Customs Service, for possible violations of the ITAR controls on export of arms. Under those regulations, strong cryptography such as PGP was considered a "dual use" item with military as well as civilian applications, so its export was controlled. Eventually, the investigation was dropped [1].
Later, Zimmerman gave testimony to the US Senate, arguing for a change to the export control laws on the basis of the importance of privacy for civil liberties and human rights. PGP and subsequent encryption software has been used by human rights campaigners and dissidents to protect the privacy of communications and data used in the fight for civil rights in oppressive regimes[1].
Not only export restrictions have affected PGP. At one point, the US patent on RSA meant some versions were restricted in the US that were not elsewhere. This no longer applies; the patent has been released into the public domain. Also, some versions are commercial products which may not be freely used or copied. However, PGP Incorporated has usually offered a free version of the commercial product for personal use. An index of free versions is at PGP International.
There is an Internet standard for "Open PGP", RFC 4880 [2].
An Open Source implementation of that standard, GNU Privacy Guard (GPG), is available [2].
PGP bug
A bug was introduced in version 5.5 and fixed in 6.5.4 [3]. Versions 5.5 to 6.5.3 should not be used. This should not be a problem today; those versions are from the year 2000 or earlier.
The problem has to do with support for "additional decryption keys". These have legitimate uses; for example one might want otherwise secure messages to be decryptable at need by one's lawyer or heirs, or a company might want employees using encryption to encrypt to a corporate key as well as to the recipient. However, insufficient checking during the processing of these keys would allow a malicious third party to add his key as well.
This bug had some political significance. Opponents of escrowed encryption often cite it as part of an argument that adding such features is dangerous and ill-advised.
References
- ↑ Phillip Zimmerman, Letters to Phil from human rights groups
- ↑ Open PGP Message Format RFC at the IETF
- ↑ Computer Emergency Response Team (September 2000). CERT® Advisory CA-2000-18 PGP May Encrypt Data With Unauthorized ADKs.