Pretty Good Privacy (en français : « Assez Bonne Confidentialité »), plus

connu sous le sigle PGP, est un logiciel de chiffrement et de déchiffrement
cryptographique, créé par l'américain Phil Zimmermann en 1991.

PGP se propose de garantir la confidentialité et l'authentification pour la
communication des données. Il est souvent utilisé pour la signature de
données, le chiffrement et le déchiffrement des textes, des courriels, fichiers,
répertoires et partitions de disque entier pour accroître la sécurité des
communications par courriel. Utilisant la cryptographie asymétrique mais
également la cryptographie symétrique, il fait partie des logiciels de
cryptographie hybride.

PGP et les produits similaires suivent le standard OpenPGP (RFC 48801) pour
le chiffrement et le déchiffrement de données.

Sommaire [masquer]
1 Origine
2 Fonctionnement
3 Pourquoi utiliser PGP ?
4 Développement
5 Notes et références
6 Voir aussi
6.1 Articles connexes
6.2 Liens externes
Origine[modifier | modifier le code]
Philip Zimmermann, son développeur, a mis PGP en téléchargement libre en
1991. Violant de façon subtile les restrictions à l'exportation pour les produits
cryptographiques (il avait été placé sur un site web américain d'où il était
possible de le télécharger depuis n'importe où), PGP a été très mal accueilli
par le gouvernement américain, qui a ouvert une enquête en 1993 —
abandonnée en 1996, sans donner de raison.

À l'époque où GnuPG, un logiciel libre compatible (car utilisant le même
format OpenPGP), n'était pas encore très utilisé, PGP avait la réputation
d'être le logiciel gratuit de cryptographie asymétrique le plus sûr au monde
(en fait, PGP n'est pas un logiciel libre mais un « logiciel semi-libre »). Son
code source étant ouvert (bien qu'il ne soit pas un logiciel libre), et étant
toujours soutenu par son auteur Philip Zimmerman, il possède encore la
confiance d'un grand nombre d'utilisateurs (en particulier envers la présence
éventuelle de « portes dérobées » ).

Zimmermann souligne qu'il a développé PGP dans un souci de droit à la vie
privée et de progrès démocratique : « PGP donne aux gens le pouvoir de
prendre en main leur intimité. Il y a un besoin social croissant pour cela. C'est
pourquoi je l'ai créé. »

Il explique aussi que : « si l'intimité est mise hors la loi, seuls les hors-la-loi
auront une intimité. Les agences de renseignement ont accès à une bonne
technologie cryptographique. De même les trafiquants d'armes et de drogue.
Mais les gens ordinaires et les organisations politiques de base n'avaient pour
la plupart pas eu accès à ces technologies cryptographiques de "qualité
militaire" abordable. Jusqu'à présent. »

Fonctionnement[modifier | modifier le code]
Avec PGP, il devient possible de vérifier si un message provient bien de
l'origine (via les signatures cryptographiques), ainsi que de chiffrer des
messages afin qu'un seul destinataire puisse les lire. En bref, chaque
utilisateur crée une paire de clés cryptographiques asymétriques (une
publique, l'autre privée), et distribue la clé publique. Les signatures
effectuées avec la clé privée peuvent être vérifiées utilisant la clé publique
correspondante, et les messages chiffrés utilisant la clé publique sont
déchiffrables en utilisant la clé privée correspondante.

PGP offre des services d'authentification, de confidentialité, de compression,
et de segmentation tout en étant compatible avec de nombreux systèmes de
messagerie électronique :

Authentification : L'expéditeur crée un condensat de son message (avec par

exemple SHA-1), chiffre ce condensat avec sa clé privée et l'ajoute en début
de message. Le destinataire déchiffre l'ajout en début de message avec la clé
publique de l'émetteur et en extrait le condensat. Il calcule ensuite lui-même
un condensat du message en utilisant la même fonction de condensat et le
compare à celui qu'il a déchiffré : Même résultat ⇒ expéditeur authentifié et
message intègre. Le couple clé publique/clé privée peut être fourni par RSA
ou DSA.
Confidentialité (chiffrer des messages à transmettre ou des fichiers à
enregistrer) : Génération d'une clé secrète de taille 128 bits par exemple
(nommée clé de session, valable pour un seul fichier ou un seul message). Le
message ou le fichier est chiffré au moyen de cette clé de session avec un
algorithme de cryptographie symétrique. Puis cette clé secrète est chiffrée au
moyen de la clé publique RSA ou DSA du destinataire et ajoutée au début du
message ou du fichier. Le destinataire du message déchiffre l'en-tête du
message avec sa clé privée RSA ou DSA et en extrait la clé secrète qui lui
permet de déchiffrer le message. Pour que la sécurité de l'échange soit plus
sûr il ne faudrait pas utiliser chiffrement sans authentification. PGP générant
des clés très souvent (à chaque fichier ou message), le générateur aléatoire
associé à PGP doit être particulièrement efficace afin de ne pas générer des
séquences de clés prévisibles.
Compression : utilisation de ZIP appliqué après la signature mais avant le
chiffrement (l'entropie induite par la compression rend plus difficile la
cryptanalyse du fichier ou du message).
Compatibilité : Comme certains systèmes de messagerie ne permettent
l'utilisation que du format ASCII, PGP contourne cette limitation en
convertissant chaque flot binaire de 8 bits en caractères ASCII imprimables
(conversion RADIX-64 : 3 octets binaires sont convertis en 4 octets ASCII tout
en contenant un CRC pour détecter les erreurs de transmission) ; la taille des
messages grossit de 33% mais la compression compense largement ce
phénomène. PGP applique une conversion RADIX-64 systématiquement, que
le message original soit déjà au format ASCII ou pas.
Segmentation - ré assemblage : Pour outrepasser certaines contraintes (taille
des messages maximum), après tous les traitements précédents PGP peut
tronçonner le message original en segments de taille fixe. L'en-tête
contenant la clé secrète ne sera positionnée que dans le premier segment. Le
destinataire met en mémoire la clé secrète, récupère tous les segments, en
retire les en-têtes inutiles, ré assemble le message avant de le déchiffrer, le
décompresser et vérifier sa signature.
Pourquoi utiliser PGP ?[modifier | modifier le code]
D'après Philip Zimmermann, extraits de son texte Pourquoi j’ai écrit PGP2,3

(1998) :

« Si nous voulons résister à cette tendance perturbante du gouvernement de
rendre illégale la cryptographie, une mesure que nous pouvons adopter est
d’utiliser la cryptographie autant que nous le pouvons actuellement pendant
que c’est encore légal. Quand l’utilisation de cryptographie sûre devient
populaire, il est plus difficile pour le gouvernement de la criminaliser. Par
conséquent, utiliser PGP est bon moyen pour préserver la démocratie. »

« Que se passerait-il si tout le monde estimait que les citoyens honnêtes
devraient utiliser des cartes postales pour leur courrier ? Si un nonconformiste s’avisait alors d’imposer le respect de son intimité en utilisant
une enveloppe, cela attirerait la suspicion. Peut-être que les autorités
ouvriraient son courrier pour voir ce que cette personne cache. »

« De la même manière, ce serait excellent si tout le monde utilisait la
cryptographie de manière systématique pour tous ses courriels, qu’ils soient
innocents ou non, de telle sorte que personne n’attirerait la suspicion en
protégeant l’intimité de ses courriels par la cryptographie. Pensez à le faire
comme une forme de solidarité. »