PGP
PGP (Pretty Good Privacy)
Система шифрования, сочетающая симметричную и асимметричную криптографию для обеспечения конфиденциальности, аутентификации и целостности электронной почты, файлов и данных на основе децентрализованной модели «сети доверия».
Техническая деталь
PGP работает в режиме гибридного шифрования: случайный симметричный сессионный ключ (AES-256) шифрует данные, затем открытый ключ получателя (RSA/ECDH) шифрует сессионный ключ. Цифровые подписи создаются закрытым ключом отправителя путём подписания хеша сообщения. Стандарт OpenPGP (RFC 4880, обновлённый RFC 9580) реализован в GnuPG (GPG) — свободной альтернативе. Управление ключами использует модель «сеть доверия» (пользователи подтверждают ключи друг друга) вместо централизованных центров сертификации. Серверы ключей, такие как keys.openpgp.org, распространяют открытые ключи. PGP широко применяется для шифрования электронной почты, файлов, подписи программных пакетов и коммитов Git.
Пример
```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')
);
```