🍋
Menu
Security

PGP

PGP(Pretty Good Privacy)

共通鍵暗号と公開鍵暗号を組み合わせて、メール、ファイル、データの機密性、認証、完全性を提供する暗号化システムで、分散型のWeb of Trustモデルに基づいています。

技術的詳細

PGPはハイブリッド暗号化モードで動作します:ランダムな共通鍵セッション鍵(AES-256)でデータを暗号化し、次に受信者のRSA/ECDH公開鍵でセッション鍵を暗号化します。デジタル署名は送信者の秘密鍵を使用してメッセージのハッシュに署名します。OpenPGP標準(RFC 4880、RFC 9580で更新)はオープンソースの代替であるGnuPG(GPG)によって実装されています。鍵管理は集中型の認証局ではなくWeb of Trustモデル(ユーザーが互いの鍵を保証する)を使用します。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')
);
```

関連ツール

関連用語