PGP
PGP (Pretty Good Privacy)
एक एन्क्रिप्शन प्रणाली जो ईमेल, फ़ाइलों और डेटा के लिए गोपनीयता, प्रमाणीकरण और अखंडता प्रदान करने हेतु सिमेट्रिक और असिमेट्रिक क्रिप्टोग्राफ़ी के संयोजन का उपयोग करती है, जो एक विकेंद्रीकृत वेब ऑफ़ ट्रस्ट मॉडल पर आधारित है।
तकनीकी विवरण
PGP हाइब्रिड एन्क्रिप्शन मोड में कार्य करता है: एक यादृच्छिक सिमेट्रिक सेशन कुंजी (AES-256) डेटा को एन्क्रिप्ट करती है, फिर प्राप्तकर्ता की RSA/ECDH पब्लिक की सेशन कुंजी को एन्क्रिप्ट करती है। डिजिटल हस्ताक्षर प्रेषक की प्राइवेट की का उपयोग करके संदेश के हैश पर हस्ताक्षर करते हैं। OpenPGP मानक (RFC 4880, RFC 9580 द्वारा अपडेटेड) GnuPG (GPG) द्वारा लागू किया जाता है, जो एक ओपन-सोर्स विकल्प है। कुंजी प्रबंधन Web of Trust मॉडल का उपयोग करता है (उपयोगकर्ता एक-दूसरे की कुंजियों की पुष्टि करते हैं) बजाय केंद्रीकृत Certificate Authorities के। 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')
);
```