AES
AES (Advanced Encryption Standard)
सबसे व्यापक रूप से उपयोग किया जाने वाला सिमेट्रिक एन्क्रिप्शन एल्गोरिदम, जिसे 2001 में अमेरिकी सरकार (NIST) द्वारा मानक के रूप में अपनाया गया। AES 128, 192 या 256 बिट की कुंजियों का उपयोग करके निश्चित 128-बिट ब्लॉक में डेटा को एन्क्रिप्ट करता है।
तकनीकी विवरण
AES सब्स्टिट्यूशन (S-box), रो शिफ़्टिंग, कॉलम मिक्सिंग और की एडिशन ट्रांसफ़ॉर्मेशन के कई राउंड (128/192/256-बिट कुंजियों के लिए 10/12/14 राउंड) के माध्यम से कार्य करता है। ब्लॉक सिफ़र मोड निर्धारित करते हैं कि एकाधिक ब्लॉक कैसे प्रोसेस होते हैं: ECB (असुरक्षित, पैटर्न उजागर करता है), CBC (ब्लॉक चेन करता है, IV आवश्यक), CTR (काउंटर मोड, पैरेललाइज़ेबल), और GCM (Galois/Counter Mode, एन्क्रिप्शन और ऑथेंटिकेशन दोनों प्रदान करता है)। Web Crypto API AES-GCM, AES-CBC, AES-CTR और AES-KW को सपोर्ट करता है। AES-256-GCM TLS 1.3, फ़ाइल एन्क्रिप्शन और डिस्क एन्क्रिप्शन (BitLocker, FileVault) के लिए मानक है।
उदाहरण
```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')
);
```