🍋
Menu
Security

PGP

PGP (Pretty Good Privacy)

Un cadre de chiffrement et de signature qui utilise la cryptographie à clé publique pour permettre aux individus d'envoyer des e-mails chiffrés, de signer des documents et de vérifier des identités sans dépendre d'une autorité centrale.

Détail technique

PGP utilise le chiffrement hybride : les données sont chiffrées avec une clé de session symétrique (AES), et la clé de session est chiffrée avec la clé publique RSA/ECDH du destinataire. Les signatures numériques appliquent RSA/ECDSA au hash du message. Le standard OpenPGP (RFC 4880, avec le RFC 9580 en brouillon) définit les formats de paquets pour les clés, signatures, données chiffrées et compression. La toile de confiance remplace les CA centralisées : les utilisateurs signent les clés les uns des autres pour établir la confiance. GnuPG (GPG) est l'implémentation open source la plus répandue.

Exemple

```javascript
// AES-256-GCM encryption (Web Crypto API)
const key = await crypto.subtle.generateKey(
  { name: 'AES-GCM', length: 256 }, true, ['encrypt', 'decrypt']
);
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
  { name: 'AES-GCM', iv },
  key,
  new TextEncoder().encode('secret message')
);
```

Outils associés

Termes associés