PGP
PGP (Pretty Good Privacy)
Ein Verschlüsselungssystem, das eine Kombination aus symmetrischer und asymmetrischer Kryptographie verwendet, um Vertraulichkeit, Authentifizierung und Integrität für E-Mails, Dateien und Daten bereitzustellen, basierend auf einem dezentralen Web-of-Trust-Modell.
Technisches Detail
PGP arbeitet im hybriden Verschlüsselungsmodus: Ein zufälliger symmetrischer Sitzungsschlüssel (AES-256) verschlüsselt die Daten, dann verschlüsselt der öffentliche RSA/ECDH-Schlüssel des Empfängers den Sitzungsschlüssel. Digitale Signaturen verwenden den privaten Schlüssel des Absenders, um einen Hash der Nachricht zu signieren. Der OpenPGP-Standard (RFC 4880, aktualisiert durch RFC 9580) wird von GnuPG (GPG) implementiert, einer Open-Source-Alternative. Die Schlüsselverwaltung verwendet das Web-of-Trust-Modell (Benutzer bürgen für die Schlüssel anderer) anstelle zentralisierter Zertifizierungsstellen. Keyserver wie keys.openpgp.org verteilen öffentliche Schlüssel. PGP wird häufig für E-Mail-Verschlüsselung, Dateiverschlüsselung, Softwarepaket-Signierung und Git-Commit-Signierung verwendet.
Beispiel
```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')
);
```