PGP (англ.: Pretty Good Privacy — даволі добрая прыватнасць) — камп'ютарная праграма для шыфравання і электроннага лічбавага подпісу паведамленняў, файлаў і іншай інфармацыі. Упершыню распрацавана Піліпам Цымерманам у 1991 годзе.
PGP мае вялікую колькасць розных рэалізацый, сумяшчальных адна з другой і шэрагам іншых праграм (GnuPG, FileCrypt і інш.) дзякуючы стандарту OpenPGP (RFC 4880), якія ў сваю чаргу маюць розныя магчымасці. Такім чынам, рэалізацыі PGP існуюць ва ўсіх распаўсюджаных аперацыйных сістэмах. Поруч з вольна распаўсюджванымі, ёсць камерцыйныя распрацоўкі.
Карыстальнік PGP робіць пару ключоў: адкрыты і закрыты ключ. Падчас генерацыі ключоў уводзяць звесткі аб іх уладальніку (імя і адрас электроннай пошты), тып ключа, даўжыню ключа і тэрмін яго дзейснасці.
PGP падтрымлівае тры тыпы ключоў: RSA v4, RSA legacy (v3) і Fiffie-Hellman/DSS (Elgamal у тэрміналогіі GnuPG).
Для ключоў RSA legacy даўжыня ключа можа складаць ад 1024 да 2048 біт, а для Diffie-Hellman/DSS і RSA — ад 1024 да 4096. Ключы RSA legacy маюць адну ключавую пару, а ключы Diffie-Hellman/DSS і RSA могуць мець адзін галоўны ключ і дадатковыя ключы для шыфравання. У гэтым выпадку ключ электроннага подпісу ў ключах Diffie-Hellman/DSS заўсёды мае памер 1024 біт. Тэрмін дзейнасці для кожнага тыпу ключоў можа быць вызначаны як неабмежаваны ці да пэўнай даты. Для абароны ключавога кантэйнера задаецца сакрэтная фраза.
Ключы RSA legacy (v3) зараз не выкарыстоўваюцца і выдалены са стандарту OpenPGP[1].
Электронны лічбавы подпіс фармуецца шляхам подпісу хэш-сумы паведамлення (файла) закрытым ключом адпраўніка (аўтара). Для фармавання хэш-суммы выкарыстоўваюцца алгарытмы MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512. У новых версіях PGP падтрымка MD5 ажыццяўляецца для захавання сумяшчальнасці са старымі версіямі. Для подпісу выкарыстоўваюцца алгарытмы RSA ці DSA (залежыць ад тыпу ключа).