AES-256 एन्क्रिप्शन समझाया: आपके डेटा के लिए इसका क्या अर्थ है

AES-256 एन्क्रिप्शन समझाया: आपके डेटा के लिए इसका क्या अर्थ है

AES-256 समझाया: सिफर कैसे काम करता है, 256-बिट कुंजियाँ क्यों मायने रखती हैं, GCM मोड क्या जोड़ता है, और जब कोई ऐप AES-256 एन्क्रिप्शन का दावा करे तो क्या जांचें।


AES-256 Advanced Encryption Standard है जिसमें 256-बिट कुंजी है, जिसे NIST द्वारा 2001 में FIPS 197 के रूप में मानकीकृत किया गया था। यह सममित एन्क्रिप्शन एल्गोरिदम है जिसे अमेरिकी सरकार वर्गीकृत जानकारी के लिए, बैंक वित्तीय लेनदेन के लिए, और सुरक्षा-केंद्रित एप्लिकेशन आराम और पारगमन में डेटा सुरक्षित करने के लिए उपयोग करते हैं। AES-256 में 2^256 संभावित कुंजियाँ हैं -- एक संख्या जो देखे जा सकने वाले ब्रह्मांड में परमाणुओं की अनुमानित संख्या से भी बड़ी है। कोई ज्ञात हमला इस कुंजी स्थान को गणनात्मक रूप से संभव खोज में नहीं कम करता।

यह गाइड बताता है कि AES-256 वास्तव में क्या करता है, कुंजी का आकार क्यों मायने रखता है, विभिन्न मोड का क्या अर्थ है (ECB, CBC, GCM), और जब कोई ऐप AES-256 एन्क्रिप्शन का उपयोग करने का दावा करे तो क्या देखें।

AES वास्तव में क्या करता है

AES एक सममित ब्लॉक सिफर है। "सममित" का अर्थ है कि एक ही कुंजी एन्क्रिप्ट और डिक्रिप्ट करती है। "ब्लॉक सिफर" का अर्थ है कि यह 128 बिट (16 बाइट) के निश्चित आकार के ब्लॉक में डेटा प्रोसेस करता है।

एल्गोरिदम आपका डेटा (प्लेनटेक्स्ट) लेता है, उसे एक कुंजी के साथ जोड़ता है, और गणितीय परिवर्तनों की एक श्रृंखला के माध्यम से स्क्रैम्बल आउटपुट (साइफरटेक्स्ट) उत्पन्न करता है। ये परिवर्तन -- प्रतिस्थापन, स्थानांतरण, मिश्रण, और कुंजी जोड़ना -- निश्चित संख्या में राउंड के लिए दोहराए जाते हैं। AES-256 14 राउंड का उपयोग करता है।

प्रत्येक राउंड चार ऑपरेशन लागू करता है:

  1. SubBytes: प्रत्येक बाइट को एक निश्चित प्रतिस्थापन तालिका (S-box) का उपयोग करके बदला जाता है, जो गैर-रेखीयता पेश करता है।
  2. ShiftRows: प्रत्येक पंक्ति में बाइट को अलग-अलग ऑफसेट से स्थानांतरित किया जाता है, डेटा को पदों पर फैलाता है।
  3. MixColumns: एक परिमित क्षेत्र में मैट्रिक्स गुणन के माध्यम से स्तंभ मिश्रित होते हैं, बाइट में परिवर्तन फैलाते हैं।
  4. AddRoundKey: राउंड कुंजी (मुख्य कुंजी से व्युत्पन्न) डेटा के साथ XOR की जाती है।

14 राउंड के बाद, प्लेनटेक्स्ट पूरी तरह से स्क्रैम्बल हो जाता है। सही कुंजी के साथ इन ऑपरेशन को उलटने से मूल डेटा वापस आता है। कुंजी के बिना, साइफरटेक्स्ट यादृच्छिक शोर से अप्रभेद्य है।

256 बिट क्यों मायने रखते हैं

AES-256 में "256" कुंजी की लंबाई को संदर्भित करता है: 256 बिट। यह उन संभावित कुंजियों की संख्या निर्धारित करता है जो एक हमलावर को एन्क्रिप्शन को ब्रूट-फोर्स से तोड़ने के लिए आज़माना होगा।

कुंजी का आकार संभावित कुंजियाँ ब्रूट-फोर्स का समय (1 ट्रिलियन अनुमान/सेकंड)
56-बिट (DES) 7.2 x 10^16 ~20 घंटे
128-बिट (AES-128) 3.4 x 10^38 10^13 वर्ष (10 ट्रिलियन वर्ष)
256-बिट (AES-256) 1.16 x 10^77 10^51 वर्ष

संदर्भ के लिए: ब्रह्मांड लगभग 1.38 x 10^10 वर्ष पुराना है। AES-256 को ब्रूट-फोर्स करने में ब्रह्मांड की आयु से लगभग 10^41 गुना अधिक समय लगेगा, यहाँ तक कि प्रति सेकंड एक ट्रिलियन अनुमान पर भी।

AES-128 पहले से ही गणनात्मक रूप से ब्रूट-फोर्स के लिए असंभव है। AES-256 क्वांटम कंप्यूटिंग सहित कंप्यूटिंग में भविष्य की प्रगति के विरुद्ध एक अतिरिक्त मार्जिन प्रदान करता है। Grover का एल्गोरिदम (एक क्वांटम कंप्यूटिंग हमला) प्रभावी रूप से कुंजी की लंबाई को आधा कर देता है -- AES-256 को AES-128 के समकक्ष बना देता है, जो अभी भी असंभव है। AES-128 को 64-बिट प्रभावी सुरक्षा तक कम किया जाएगा, जो संभावित रूप से असुरक्षित है। यही कारण है कि सुरक्षा-महत्वपूर्ण एप्लिकेशन AES-256 को प्राथमिकता देते हैं।

AES मोड: वे क्यों मायने रखते हैं

AES स्वयं एक बार में केवल एक 128-बिट ब्लॉक एन्क्रिप्ट करता है। वास्तविक डेटा (फ़ोटो, दस्तावेज़, वीडियो) के लिए, आपको एक "ऑपरेशन मोड" की आवश्यकता है जो 16 बाइट से बड़े डेटा को संभाले। मोड निर्धारित करता है कि ब्लॉक कैसे जंजीर से जुड़े हैं और इसके महत्वपूर्ण सुरक्षा निहितार्थ हैं।

ECB (Electronic Codebook) -- उपयोग न करें

प्रत्येक ब्लॉक को एक ही कुंजी से स्वतंत्र रूप से एन्क्रिप्ट किया जाता है। समान प्लेनटेक्स्ट ब्लॉक समान साइफरटेक्स्ट ब्लॉक उत्पन्न करते हैं। यह डेटा में पैटर्न लीक करता है। क्लासिक प्रदर्शन: ECB के साथ बिटमैप छवि एन्क्रिप्ट करने से साइफरटेक्स्ट में छवि की संरचना संरक्षित रहती है, जिससे सामग्री पहचानने योग्य रहती है। ECB मानक में शामिल है लेकिन इसे कभी भी ऐसे डेटा के लिए उपयोग नहीं किया जाना चाहिए जिसमें संरचना या दोहराए जाने वाले पैटर्न हों।

CBC (Cipher Block Chaining) -- विरासती

प्रत्येक ब्लॉक को एन्क्रिप्शन से पहले पिछले साइफरटेक्स्ट ब्लॉक के साथ XOR किया जाता है। यह ECB के पैटर्न लीकेज को समाप्त करता है। CBC दशकों तक मानक मोड था लेकिन अधिकांश एप्लिकेशन के लिए GCM द्वारा प्रतिस्थापित किया गया है। CBC को एक यादृच्छिक आरंभीकरण वेक्टर (IV) की आवश्यकता होती है और यह अंतर्निहित प्रमाणीकरण प्रदान नहीं करता।

GCM (Galois/Counter Mode) -- वर्तमान मानक

GCM काउंटर-मोड एन्क्रिप्शन को Galois फ़ील्ड प्रमाणीकरण के साथ जोड़ता है। यह प्रमाणित एन्क्रिप्शन प्रदान करता है: यह डेटा एन्क्रिप्ट करता है AND एक प्रमाणीकरण टैग उत्पन्न करता है जो साइफरटेक्स्ट में किसी भी संशोधन का पता लगाता है। यदि एक बिट बदल दिया जाए, तो डिक्रिप्शन दूषित प्लेनटेक्स्ट के बजाय विफल हो जाता है।

NIST ने GCM को SP 800-38D (2007) में मानकीकृत किया। यह नए कार्यान्वयन के लिए अनुशंसित मोड है।

AES-256-GCM Galois/Counter Mode में 256-बिट कुंजी के साथ AES है। यही वह है जो सुरक्षा-महत्वपूर्ण एप्लिकेशन को उपयोग करना चाहिए और जिसे Vaultaire फ़ोटो और फ़ाइल सामग्री एन्क्रिप्ट करने के लिए उपयोग करता है।

मोड पैटर्न लीकेज प्रमाणीकरण वर्तमान अनुशंसा
ECB हाँ (गंभीर) नहीं उपयोग न करें
CBC नहीं नहीं (अलग MAC आवश्यक) विरासती; HMAC के साथ स्वीकार्य
GCM नहीं हाँ (अंतर्निहित) नए कार्यान्वयन के लिए अनुशंसित

फ़ोटो स्टोरेज के लिए AES-256 का क्या अर्थ है

जब कोई फ़ोटो vault ऐप "AES-256 एन्क्रिप्शन" का दावा करे, तो तीन बातें सच होनी चाहिए:

  1. फ़ाइल सामग्री AES-256 से एन्क्रिप्ट की गई है। कच्चा फ़ोटो डेटा (पिक्सेल, मेटाडेटा, थंबनेल) 256-बिट कुंजी का उपयोग करके साइफरटेक्स्ट में बदला गया है।

  2. प्रत्येक फ़ाइल एक अद्वितीय आरंभीकरण वेक्टर (IV) का उपयोग करती है। यदि एक ही कुंजी से दो समान फ़ोटो एन्क्रिप्ट की जाएं, तो साइफरटेक्स्ट अलग होना चाहिए। इसके लिए प्रति फ़ाइल एक अद्वितीय IV की आवश्यकता है।

  3. मोड प्रमाणीकरण प्रदान करता है (GCM या समकक्ष)। प्रमाणीकरण के बिना, एक हमलावर साइफरटेक्स्ट को पता लगाए बिना संशोधित कर सकता है।

मार्केटिंग पेज पर "AES-256" आपको क्या नहीं बताता

AES-256 आवश्यक है लेकिन पर्याप्त नहीं। कई महत्वपूर्ण कारक निर्धारित करते हैं कि एन्क्रिप्शन वास्तव में आपके डेटा की रक्षा करता है या नहीं:

कुंजी व्युत्पत्ति मायने रखती है। 256-बिट कुंजी कैसे उत्पन्न होती है? यदि यह कमज़ोर KDF का उपयोग करके 4-अंकीय PIN से व्युत्पन्न है, तो प्रभावी सुरक्षा 4 अंक (10,000 संयोजन) है, न कि 256 बिट। एक मज़बूत कार्यान्वयन उच्च पुनरावृत्ति गणना के साथ PBKDF2 या उपयुक्त मेमोरी/समय मापदंडों के साथ Argon2 का उपयोग करता है। Vaultaire PBKDF2 के साथ HMAC-SHA512 का उपयोग करता है, 5x5 ग्रिड पर एक पैटर्न से कुंजी व्युत्पन्न करता है जिसमें अरबों संभावित इनपुट हैं।

कुंजी भंडारण मायने रखता है। कुंजी कहाँ रहती है? यदि कुंजी ऐप के सैंडबॉक्स में प्लेनटेक्स्ट में संग्रहीत है, तो फ़ाइल एक्सेस वाला कोई भी मैलवेयर इसे पढ़ सकता है। उचित कुंजी भंडारण Apple के Secure Enclave जैसे हार्डवेयर-समर्थित तंत्र का उपयोग करता है।

क्या एन्क्रिप्ट किया जाता है यह मायने रखता है। कुछ ऐप फ़ाइल सामग्री एन्क्रिप्ट करते हैं लेकिन फ़ाइल नाम, थंबनेल और मेटाडेटा अनएन्क्रिप्टेड छोड़ देते हैं।

कुंजी जीवनचक्र मायने रखता है। क्या ऐप बंद होने पर मेमोरी से कुंजी मिटाई जाती है? Vaultaire प्रत्येक ऐप बंद होने पर मेमोरी से कुंजियाँ मिटाता है और प्रत्येक लॉन्च पर ताजा पैटर्न प्रविष्टि की आवश्यकता होती है।

व्यवहार में AES-256: कौन इसका उपयोग करता है

संस्था उपयोग का मामला मोड
अमेरिकी सरकार (NSA) वर्गीकृत जानकारी GCM (या अलग प्रमाणीकरण के साथ CTR)
Apple (iCloud ADP) iCloud एंड-टू-एंड एन्क्रिप्शन GCM
Signal संदेश एन्क्रिप्शन CBC (प्रमाणीकरण के लिए HMAC के साथ)
बैंक वित्तीय लेनदेन एन्क्रिप्शन GCM
1Password पासवर्ड vault GCM
Vaultaire फ़ोटो और फ़ाइल vault GCM
VeraCrypt डिस्क एन्क्रिप्शन XTS (डिस्क ब्लॉक के लिए अनुकूलित)

सामान्य भ्रांतियाँ

"मिलिट्री-ग्रेड एन्क्रिप्शन" का कोई विशिष्ट अर्थ नहीं है। मार्केटिंग पेज इस वाक्यांश का उपयोग करते हैं क्योंकि यह प्रभावशाली लगता है। AES-256 का उपयोग सेनाएं करती हैं। AES-128 भी। यह वाक्यांश मोड, कुंजी व्युत्पत्ति, कुंजी भंडारण, या वास्तव में क्या एन्क्रिप्ट किया जाता है, नहीं बताता।

"256-बिट एन्क्रिप्शन" का अर्थ AES-256 नहीं हो सकता। अन्य सिफर भी 256-बिट कुंजियाँ उपयोग करते हैं (ChaCha20, Twofish, Serpent)। जांचें कि कौन सा एल्गोरिदम निर्दिष्ट है। AES-256-GCM वर्तमान मानक है।

AES-256 कमज़ोर पासवर्ड से रक्षा नहीं करता। यदि आपका पासवर्ड "1234" है और कुंजी व्युत्पत्ति कमज़ोर है, तो एन्क्रिप्शन प्रभावी रूप से सिफर की ताकत की परवाह किए बिना 4-अंकीय सुरक्षा है।

AES-256 उपयोग में डेटा की रक्षा नहीं करता। जब आप कोई फ़ोटो देखते हैं, तो उसे मेमोरी में डिक्रिप्ट किया जाना चाहिए। उस क्षण, यह RAM में प्लेनटेक्स्ट में मौजूद होती है। उचित कार्यान्वयन इस विंडो को कम करते हैं और डिक्रिप्टेड डेटा को तुरंत मिटाते हैं।

अक्सर पूछे जाने वाले प्रश्न

क्या AES-256 को तोड़ा जा सकता है?

पूर्ण कुंजी स्थान को कम करके AES-256 को तोड़ने का कोई ज्ञात हमला नहीं है। सबसे अच्छा ज्ञात हमला (Bogdanov, Khovratovich, और Rechberger द्वारा एक biclique हमला, 2011) AES-256 को 2^256 ऑपरेशन से 2^254.4 तक कम करता है -- एक सैद्धांतिक सुधार जो व्यवहार में गणनात्मक रूप से अर्थहीन है। AES-256 अटूट रहता है।

क्या AES-256 क्वांटम-प्रतिरोधी है?

काफी हद तक, हाँ। Grover का क्वांटम एल्गोरिदम प्रभावी कुंजी की लंबाई को आधा कर देता है: AES-256 क्वांटम हमलों के विरुद्ध 128-बिट सुरक्षा के समकक्ष हो जाता है। AES-128 को 64-बिट प्रभावी सुरक्षा तक कम किया जाएगा, जो संभावित रूप से असुरक्षित है। NIST क्वांटम कंप्यूटिंग प्रगति के विरुद्ध दीर्घकालिक सुरक्षा के लिए AES-256 की अनुशंसा करता है।

AES-128 और AES-256 में क्या अंतर है?

AES-128 128-बिट कुंजी (10 राउंड) का उपयोग करता है। AES-256 256-बिट कुंजी (14 राउंड) का उपयोग करता है। दोनों मौजूदा हमलों के विरुद्ध सुरक्षित माने जाते हैं। AES-256 भविष्य की प्रगति के विरुद्ध, विशेष रूप से क्वांटम कंप्यूटिंग के लिए, अधिक मार्जिन प्रदान करता है। AES-256 अतिरिक्त राउंड के कारण AES-128 से लगभग 40% धीमा है, लेकिन हार्डवेयर एक्सेलेरेशन आधुनिक उपकरणों पर इसे नगण्य बना देता है।

क्या AES-256 एन्क्रिप्शन मेरे फ़ोन को धीमा करता है?

ध्यान देने योग्य रूप से नहीं। आधुनिक iPhones में Secure Enclave और प्रोसेसर में समर्पित AES हार्डवेयर एक्सेलेरेशन शामिल है। एक फ़ोटो को एन्क्रिप्ट या डिक्रिप्ट करने में मिलीसेकंड लगते हैं। AES विशेष रूप से हार्डवेयर कार्यान्वयन दक्षता के लिए डिज़ाइन किया गया है।

मैं कैसे जानूँ कि कोई ऐप वास्तव में AES-256 का उपयोग करता है?

ऐप के सुरक्षा दस्तावेज़ की जांच करें, न कि केवल मार्केटिंग पेज। देखें: विशिष्ट एल्गोरिदम और मोड (AES-256-GCM, केवल "AES" या "256-बिट" नहीं), कुंजी व्युत्पत्ति विधि (PBKDF2, Argon2), कुंजी भंडारण तंत्र (Secure Enclave, हार्डवेयर-समर्थित), और क्या मेटाडेटा भी एन्क्रिप्ट है। ओपन-सोर्स ऐप स्वतंत्र सत्यापन की अनुमति देते हैं।

निष्कर्ष

AES-256 सममित एन्क्रिप्शन का स्वर्ण मानक है, NIST द्वारा मानकीकृत, सरकारों और वित्तीय संस्थानों द्वारा उपयोग किया जाता है, और क्वांटम कंप्यूटिंग सहित सभी ज्ञात हमलों के प्रति प्रतिरोधी है। AES-256 एन्क्रिप्शन का दावा करने वाले ऐप्स का मूल्यांकन करते समय, सिफर से परे देखें: मोड (GCM), कुंजी व्युत्पत्ति (PBKDF2/Argon2 उच्च पुनरावृत्ति गणना के साथ), कुंजी भंडारण (हार्डवेयर-समर्थित), और वास्तव में क्या डेटा एन्क्रिप्ट किया जाता है (सामग्री + मेटाडेटा)।

Vaultaire फ़ाइल एन्क्रिप्शन के लिए AES-256-GCM, कुंजी व्युत्पत्ति के लिए PBKDF2 के साथ HMAC-SHA512, मेटाडेटा एन्क्रिप्शन के लिए ChaCha20, और कुंजी प्रबंधन के लिए Apple Secure Enclave का उपयोग करता है। एन्क्रिप्शन मार्केटिंग भाषा नहीं है। यह गणित है।