PGP
PGP (Pretty Good Privacy)
Hệ thống mã hóa sử dụng kết hợp mật mã đối xứng và bất đối xứng để cung cấp tính bảo mật, xác thực và toàn vẹn cho email, tệp và dữ liệu, dựa trên mô hình mạng lưới tin cậy phi tập trung.
Chi tiết kỹ thuật
PGP hoạt động ở chế độ mã hóa lai: một khóa phiên đối xứng ngẫu nhiên (AES-256) mã hóa dữ liệu, sau đó khóa công khai RSA/ECDH của người nhận mã hóa khóa phiên. Chữ ký số sử dụng khóa riêng của người gửi để ký hàm băm của tin nhắn. Tiêu chuẩn OpenPGP (RFC 4880, cập nhật bởi RFC 9580) được triển khai bởi GnuPG (GPG), một giải pháp mã nguồn mở. Quản lý khóa sử dụng mô hình Web of Trust (người dùng xác nhận khóa của nhau) thay vì Cơ quan chứng nhận tập trung. Máy chủ khóa như keys.openpgp.org phân phối khóa công khai. PGP thường được dùng cho mã hóa email, mã hóa tệp, ký gói phần mềm và ký Git commit.
Ví dụ
```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')
);
```