What is PGP(Pretty Good Privacy) in Cryptography?
In this tutorial, we are going to see What is PGP(Pretty Good Privacy) in Cryptography?
PGP (Pretty Good Privacy) is a cryptosystem invented by Philip Zimmermann, a computer analyst. Philip Zimmermann worked from 1984 to 1991 on a program to run RSA on personal computers (PGP).
However, since this one used RSA without the agreement of its authors, it was sued for 3 years, so it is sold for about 150$ since 1993.
It is very fast and secure which makes it almost impossible to cryptanalysis.
How does PGP works?
PGP is a hybrid cryptographic system, using a combination of public-key cryptography and symmetric cryptography features.
When a user encrypts text with PGP, the data is first compressed. This data compression reduces transmission time over any communication medium, saves disk space, and, most importantly, enhances cryptographic security.
Most cryptanalysts exploit patterns found in plaintext to break the encryption. Compression reduces these patterns in plaintext, thus greatly improving resistance to cryptanalysis.
Then, the encryption process is mainly done in two steps:
- PGP creates a secret IDEA key randomly and encrypts the data with this key
- PGP encrypts the secret IDEA key and transmits it using the recipient’s public RSA key.
The decryption operation is also done in two steps:
- PGP decrypts the secret IDEA key using the private RSA key.
- PGP decrypts the data with the previously obtained IDEA secret key.

Image source: https://commons.wikimedia.org/wiki/File:PGP_diagram.svg
This encryption method combines the easy-to-use nature of public-key encryption with the speed of conventional encryption. Conventional encryption is about 1000 times faster than public-key encryption algorithms. Public key encryption solves the problem of key distribution. Used together, these two methods improve performance and key management without compromising security.
PGP Features:
PGP offers the following features:
- Digital signature and message integrity verification: a function based on the simultaneous use of a hash function (MD5) and the RSA system. MD5 hashes the message and provides a 128-bit result that is then encrypted, thanks to RSA, by the sender’s private key.
- Encryption of local files: function using IDEA.
- Public and private key generation: each user encrypts his messages using IDEA private keys. IDEA digital key transfer uses the RSA system, so PGP offers key generation mechanisms adapted to this system. RSA key sizes are available in several security levels: 512, 768, 1024, or 1280 bits.
- Key management: this function distributes the user’s public key to correspondents who wish to send encrypted messages.
- Key certification: this function adds a digital signature that guarantees the authenticity of the public keys. This is an original feature of PGP, which relies on social proximity rather than a central certification authority.