एडवांस्ड एन्क्रिप्शन गाइड: AES, RSA, ECC और पोस्ट-क्वांटम क्रिप्टोग्राफी

यह व्यापक गाइड आधुनिक सुरक्षित संचार प्रणालियों में उपयोग की जाने वाली उन्नत encryption अवधारणाओं, algorithms और protocols का अन्वेषण करती है। developers और security professionals के लिए आदर्श।

नोट: यह गाइड बुनियादी encryption अवधारणाओं से परिचित होने की मानती है। शुरुआती लोगों के लिए, हमारे शुरुआती लोगों के लिए Security Tips से शुरू करें।

Symmetric Encryption Algorithms

AES (Advanced Encryption Standard)

Symmetric encryption के लिए gold standard, जिसे 2001 में U.S. सरकार द्वारा अपनाया गया।

प्रमुख विशेषताएं

  • Key sizes: 128, 192, या 256 bits
  • Block size: 128 bits
  • Rounds: key size के आधार पर 10, 12, या 14
  • Performance: अत्यधिक optimized, hardware acceleration उपलब्ध

सामान्य Modes

  • GCM (Galois/Counter Mode): Authenticated encryption, अधिकांश उपयोग के मामलों के लिए अनुशंसित
  • CBC (Cipher Block Chaining): पारंपरिक mode, अलग MAC की आवश्यकता
  • CTR (Counter): Parallelizable, कुछ protocols में उपयोग किया जाता है

ChaCha20

Daniel J. Bernstein द्वारा डिज़ाइन किया गया आधुनिक stream cipher, AES विकल्प के रूप में तेजी से लोकप्रिय हो रहा है।

लाभ

  • Hardware acceleration के बिना devices पर AES से तेज़
  • Constant-time implementation (timing attacks के प्रति प्रतिरोधी)
  • सरल डिज़ाइन, सुरक्षित रूप से implement करना आसान
  • Authenticated encryption के लिए Poly1305 के साथ उपयोग किया जाता है

Asymmetric Encryption

RSA (Rivest-Shamir-Adleman)

Key exchange और digital signatures के लिए व्यापक रूप से उपयोग किया जाता है।

प्रमुख विचार

  • न्यूनतम key size: 2048 bits (दीर्घकालिक सुरक्षा के लिए 4096 bits अनुशंसित)
  • Performance: Symmetric encryption की तुलना में computationally महंगा
  • Padding schemes: Encryption के लिए OAEP, signatures के लिए PSS का उपयोग करें
  • Quantum threat: Quantum computers के प्रति संवेदनशील (Shor's algorithm)

Elliptic Curve Cryptography (ECC)

छोटे key sizes पर समतुल्य सुरक्षा के साथ RSA का अधिक कुशल विकल्प।

लोकप्रिय Curves

  • Curve25519: ECDH key exchange के लिए डिज़ाइन किया गया, व्यापक रूप से अपनाया गया
  • Ed25519: Digital signatures के लिए, SSH, GPG में उपयोग किया जाता है
  • P-256 (secp256r1): NIST standard, व्यापक रूप से समर्थित
  • P-384, P-521: उच्च सुरक्षा स्तर

RSA पर लाभ

  • 256-bit ECC ≈ 3072-bit RSA security
  • तेज़ computation
  • छोटे keys और signatures
  • कम bandwidth और storage आवश्यकताएं

Key Exchange Protocols

Diffie-Hellman (DH)

दो पक्षों को असुरक्षित channel पर shared secret स्थापित करने की अनुमति देता है।

Variants

  • Classic DH: मूल implementation
  • ECDH: Elliptic Curve संस्करण (अधिक कुशल)
  • X25519: Curve25519 का उपयोग करने वाला आधुनिक ECDH

Perfect Forward Secrecy (PFS)

यह सुनिश्चित करता है कि दीर्घकालिक keys से समझौता होने पर भी पिछले संचार सुरक्षित रहें।

Implementation

  • प्रत्येक session के लिए ephemeral key pairs उत्पन्न करें
  • उपयोग के बाद session keys को नष्ट करें
  • TLS 1.3, Signal Protocol, आदि में उपयोग किया जाता है

Hash Functions

SHA-2 Family

  • SHA-256: 256-bit output, व्यापक रूप से उपयोग किया जाता है
  • SHA-384, SHA-512: उच्च सुरक्षा स्तर
  • Applications: Digital signatures, certificate validation, password hashing (उचित तकनीकों के साथ)

SHA-3 (Keccak)

  • SHA-2 से अलग construction (sponge function)
  • Length extension attacks के प्रति प्रतिरोधी
  • उच्च सुरक्षा margins की आवश्यकता वाले applications के लिए उपयुक्त

BLAKE2/BLAKE3

  • SHA-2 और SHA-3 से तेज़
  • Cryptographically secure
  • BLAKE3: अत्यधिक parallelizable, बड़े data के लिए उत्कृष्ट

Key Derivation Functions (KDFs)

PBKDF2 (Password-Based Key Derivation Function 2)

  • उद्देश्य: Passwords से cryptographic keys derive करें
  • Iterations: न्यूनतम 100,000 (OWASP अनुशंसा)
  • Use case: Password storage, key derivation

Argon2

Password Hashing Competition (2015) का विजेता, नए applications के लिए अनुशंसित।

Variants

  • Argon2id: Hybrid (अधिकांश उपयोग के मामलों के लिए अनुशंसित)
  • Argon2i: Side-channel attacks के खिलाफ optimized
  • Argon2d: GPU attacks के खिलाफ अधिकतम प्रतिरोध

scrypt

  • Memory-hard function (hardware attacks के प्रति प्रतिरोधी)
  • Litecoin, Tarsnap द्वारा उपयोग किया जाता है
  • सुरक्षा और compatibility का अच्छा संतुलन

Message Authentication Codes (MACs)

HMAC (Hash-based MAC)

  • Hash function को secret key के साथ जोड़ता है
  • Authentication और integrity प्रदान करता है
  • सामान्य: HMAC-SHA256, HMAC-SHA512

Poly1305

  • One-time authenticator
  • Authenticated encryption के लिए ChaCha20 के साथ उपयोग किया जाता है
  • तेज़ और constant-time

Authenticated Encryption

यह महत्वपूर्ण क्यों है

केवल Encryption integrity की गारंटी नहीं देता है। एक attacker बिना पता लगाए ciphertext को संशोधित कर सकता है। Authenticated encryption इसे हल करता है।

AEAD (Authenticated Encryption with Associated Data)

  • AES-GCM: सबसे व्यापक रूप से समर्थित
  • ChaCha20-Poly1305: Mobile devices पर बेहतर
  • AES-CCM: कुछ wireless protocols में उपयोग किया जाता है

Digital Signatures

RSA Signatures

  • Padding: PSS (Probabilistic Signature Scheme) का उपयोग करें
  • Hash function: SHA-256 या उच्चतर
  • Key size: न्यूनतम 2048 bits

ECDSA (Elliptic Curve Digital Signature Algorithm)

  • RSA से छोटे signatures
  • सावधानीपूर्वक nonce generation की आवश्यकता (कमजोर RNG = compromised key)
  • Deterministic variant (RFC 6979) अनुशंसित

Ed25519

  • Deterministic (RNG की आवश्यकता नहीं)
  • तेज़ signature generation और verification
  • छोटे signatures (64 bytes)
  • Side-channel attacks के प्रति प्रतिरोधी

आधुनिक Protocols

Signal Protocol

अत्याधुनिक end-to-end encryption protocol जिसका उपयोग Signal, WhatsApp, Facebook Messenger द्वारा किया जाता है।

प्रमुख विशेषताएं

  • Double Ratchet: लगातार keys को अपडेट करता है
  • Perfect Forward Secrecy: पिछले messages सुरक्षित रहते हैं
  • Post-Compromise Security: Key compromise से recover करता है
  • Asynchronous: तब भी काम करता है जब recipient offline हो

TLS 1.3

Transport Layer Security protocol का नवीनतम संस्करण।

सुधार

  • कमजोर algorithms और cipher suites को हटा दिया गया
  • हमेशा forward secrecy प्रदान करता है
  • तेज़ handshake (1-RTT, 0-RTT विकल्प)
  • Encrypted Server Hello

Noise Protocol Framework

सुरक्षित संचार प्रणालियों के निर्माण के लिए आधुनिक cryptographic protocol framework।

Applications

  • WireGuard VPN
  • Lightning Network
  • I2P messaging

Post-Quantum Cryptography

खतरा

Quantum computers Shor's algorithm का उपयोग करके RSA और ECC को तोड़ सकते हैं। Symmetric algorithms कम प्रभावित होते हैं लेकिन बड़े keys की आवश्यकता होती है।

NIST Post-Quantum उम्मीदवार

  • Kyber: Lattice-based key encapsulation
  • Dilithium: Lattice-based digital signatures
  • SPHINCS+: Hash-based signatures

संक्रमण रणनीति

  • Hybrid दृष्टिकोण: Classical और post-quantum algorithms को मिलाएं
  • Symmetric key sizes को 256 bits तक बढ़ाएं
  • NIST standardization प्रक्रिया की निगरानी करें
  • Algorithm agility के लिए योजना बनाएं

Implementation सर्वोत्तम प्रथाएं

अपनी खुद की Crypto न बनाएं

स्थापित, peer-reviewed libraries का उपयोग करें:

  • libsodium: High-level, उपयोग में आसान
  • OpenSSL: व्यापक, व्यापक रूप से समर्थित
  • BoringSSL: Google का OpenSSL fork
  • Ring: Rust cryptography library

Key Management

  • महत्वपूर्ण keys के लिए hardware security modules (HSMs) का उपयोग करें
  • Key rotation policies लागू करें
  • कभी भी source code में keys को hardcode न करें
  • कई उद्देश्यों के लिए key derivation का उपयोग करें
  • उपयोग के बाद memory से keys को सुरक्षित रूप से delete करें

सुरक्षित Random Number Generation

  • Cryptographically secure RNG (CSPRNG) का उपयोग करें
  • कभी भी standard rand() functions का उपयोग न करें
  • Operating system RNGs: /dev/urandom (Linux), CryptGenRandom (Windows)
  • Language-specific: crypto.randomBytes (Node.js), secrets module (Python)

Timing Attack रोकथाम

  • Secrets के लिए constant-time comparison का उपयोग करें
  • Secret data के आधार पर branching से बचें
  • Cache timing attacks के बारे में जागरूक रहें
  • Timing attack resistance के साथ डिज़ाइन की गई libraries का उपयोग करें

Testing और Validation

Security Audits

  • नियमित penetration testing
  • Security experts द्वारा code reviews
  • Third-party security audits
  • Bug bounty programs

Compliance

  • FIPS 140-2/3: U.S. सरकारी मानक
  • Common Criteria: अंतर्राष्ट्रीय सुरक्षा प्रमाणन
  • PCI DSS: Payment card industry आवश्यकताएं

आगे सीखने के लिए संसाधन

पुस्तकें

  • "Cryptography Engineering" by Ferguson, Schneier, and Kohno
  • "Serious Cryptography" by Jean-Philippe Aumasson
  • "Applied Cryptography" by Bruce Schneier

ऑनलाइन संसाधन

  • Cryptopals Crypto Challenges
  • Stanford's Cryptography courses (Coursera)
  • IACR ePrint Archive
  • Crypto Stack Exchange
Encryption को क्रिया में देखें: SecretNote आपके messages की सुरक्षा के लिए secure key derivation के साथ AES-256-GCM encryption का उपयोग करता है। अभी आज़माएं!