PGP

PGP (Pretty Good Privacy) is an encryption program, and its encryption format which eventually became the OpenPGP standard.

Created by Phil Zimmerman in 1991, it got into some legal trouble early on because encryption of this grade was classified as a munition under U.S. law and restricted from export. These laws, while not completely repealed even now, have been considerably liberalized since, and now export of PGP and related software is only restricted when it's being exported to countries such as Iran that are under special sanction. Zimmerman's PGP company was eventually acquired by Network Associates (now McAfee), which eventually rebranded the original command-line-based PGP as "McAfee E-Business Server" and sold off all other PGP assets to some PGP developers who formed a new PGP company, which was eventually acquired by Symantec. Meanwhile, the specifications of the file format had been released as the OpenPGP spec and published as an RFC document, making it available for use in other products.

GNU Privacy Guard (GnuPG, GPG) is a commonly-used encryption tool using PGP format, running on Linux systems.

PGP uses a combination of several encryption techniques applied serially, including symmetric-key and public-key cryptography.

File detection
PGP data may be stored as raw binary, but it is common for them to be encoded in the "ASCII Armor" format documented in the OpenPGP standard, which can be embedded anywhere ASCII text can be (e.g., in e-mail messages). This can be detected by the presence of a header line starting with  (followed by different strings depending on what sort of data it is, such as a signature, message, key block, etc.).

Standards documents

 * RFC 2440 (old version of OpenPGP spec)
 * RFC 4880 (new version of OpenPGP spec)
 * RFC 3156 (MIME security with OpenPGP)

Utilities

 * Crypt-OpenPGP library for Perl
 * Profanity65: transform PGP messages into a stream of obscenities, still decryptable

Other links

 * Wikipedia article
 * OpenPGP site
 * Symantec encryption page
 * Monkeysphere: project to extend OpenPGP's web of trust
 * Store and share your files with OpenPGP encryption on any device via HTML5
 * 13 reasons not to start using PGP
 * GPG Linux man page
 * GPG And Me