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 राउंड का उपयोग करता है।
प्रत्येक राउंड चार ऑपरेशन लागू करता है:
- SubBytes: प्रत्येक बाइट को एक निश्चित प्रतिस्थापन तालिका (S-box) का उपयोग करके बदला जाता है, जो गैर-रेखीयता पेश करता है।
- ShiftRows: प्रत्येक पंक्ति में बाइट को अलग-अलग ऑफसेट से स्थानांतरित किया जाता है, डेटा को पदों पर फैलाता है।
- MixColumns: एक परिमित क्षेत्र में मैट्रिक्स गुणन के माध्यम से स्तंभ मिश्रित होते हैं, बाइट में परिवर्तन फैलाते हैं।
- 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 एन्क्रिप्शन" का दावा करे, तो तीन बातें सच होनी चाहिए:
फ़ाइल सामग्री AES-256 से एन्क्रिप्ट की गई है। कच्चा फ़ोटो डेटा (पिक्सेल, मेटाडेटा, थंबनेल) 256-बिट कुंजी का उपयोग करके साइफरटेक्स्ट में बदला गया है।
प्रत्येक फ़ाइल एक अद्वितीय आरंभीकरण वेक्टर (IV) का उपयोग करती है। यदि एक ही कुंजी से दो समान फ़ोटो एन्क्रिप्ट की जाएं, तो साइफरटेक्स्ट अलग होना चाहिए। इसके लिए प्रति फ़ाइल एक अद्वितीय IV की आवश्यकता है।
मोड प्रमाणीकरण प्रदान करता है (GCM या समकक्ष)। प्रमाणीकरण के बिना, एक हमलावर साइफरटेक्स्ट को पता लगाए बिना संशोधित कर सकता है।
मार्केटिंग पेज पर "AES-256" आपको क्या नहीं बताता
AES-256 आवश्यक है लेकिन पर्याप्त नहीं। कई महत्वपूर्ण कारक निर्धारित करते हैं कि एन्क्रिप्शन वास्तव में आपके डेटा की रक्षा करता है या नहीं:
मुख्य व्युत्पत्ति मायने रखती है। 256-बिट कुंजी कैसे उत्पन्न होती है? यदि इसे कमजोर केडीएफ का उपयोग करके 4-अंकीय पिन से प्राप्त किया जाता है, तो प्रभावी सुरक्षा 4 अंक (10,000 संयोजन) है, न कि 256 बिट्स। एक मजबूत कार्यान्वयन का उपयोग करता है PBKDF2 उच्च पुनरावृत्ति गणना के साथ या उपयुक्त मेमोरी और समय मापदंडों के साथ Argon2। वॉल्टेयर का उपयोग करता है PBKDF2 के साथ HMAC-SHA512 और चुने हुए 5x5 पैटर्न और एक डिवाइस नमक से स्थानीय वॉल्ट कुंजी प्राप्त करने के लिए 600,000 पुनरावृत्तियाँ। PBKDF2 प्रत्येक अनुमान को अधिक महंगा बनाता है; यह पैटर्न की एन्ट्रापी को 256 बिट्स तक नहीं बढ़ाता है।
मुख्य भंडारण मायने रखता है। कुंजी कहाँ रहती है? यदि कुंजी ऐप के सैंडबॉक्स में प्लेनटेक्स्ट में संग्रहीत है, तो फ़ाइल एक्सेस वाला मैलवेयर इसे पढ़ सकता है। सेब का Secure Enclave विशिष्ट गैर-निर्यात योग्य कुंजी संचालन का समर्थन करता है, मनमाने ढंग से ऐप-आपूर्ति की गई एईएस कुंजी का नहीं। इसके बजाय सममित-कुंजी डिज़ाइन पर भरोसा किया जा सकता है Keychain और डेटा सुरक्षा, इसलिए दस्तावेज़ीकरण में केवल "हार्डवेयर-समर्थित" कहने के बजाय सटीक एपीआई और सुरक्षा वर्ग का नाम होना चाहिए।
क्या एन्क्रिप्ट किया जाता है यह मायने रखता है। कुछ ऐप फ़ाइल सामग्री एन्क्रिप्ट करते हैं लेकिन फ़ाइल नाम, थंबनेल और मेटाडेटा अनएन्क्रिप्टेड छोड़ देते हैं।
प्रमुख जीवनचक्र मायने रखता है। डिक्रिप्टेड कुंजी सामग्री कब तक उपलब्ध रहती है? वॉल्टेयर लॉक या बंद होने पर अपनी सक्रिय वॉल्ट और मास्टर-कुंजी स्थिति को छोड़ देता है और एक नए अनलॉक की आवश्यकता है। जब वॉल्ट खुला होता है, तो ऐप मेमोरी में सममित कुंजी बाइट्स आवश्यक रूप से मौजूद होती हैं, और स्विफ्ट और iOS किसी ऐप को यह साबित न करने दें कि प्रत्येक क्षणिक प्रतिलिपि को अधिलेखित कर दिया गया था।
व्यवहार में 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 एन्क्रिप्शन मेरे फ़ोन को धीमा करता है?
सामान्य उपयोग में प्रत्यक्ष रूप से नहीं। आधुनिक Apple प्रोसेसर सिस्टम क्रिप्टोग्राफ़िक लाइब्रेरीज़ के माध्यम से AES के लिए हार्डवेयर त्वरण प्रदान करते हैं। इसका मतलब यह नहीं है कि ऐप का एईएस ऑपरेशन अंदर चलता है Secure Enclave. समय अभी भी फ़ाइल आकार, डिवाइस, भंडारण और कार्यान्वयन पर निर्भर करता है, इसलिए सुरक्षा दावे को सार्वभौमिक मिलीसेकंड आंकड़े के बजाय माप पर निर्भर होना चाहिए।
मैं कैसे जानूँ कि कोई ऐप वास्तव में AES-256 का उपयोग करता है?
ऐप के सुरक्षा दस्तावेज़ की जाँच करें, न कि केवल उसके मार्केटिंग पृष्ठ की। विशिष्ट एल्गोरिदम और मोड, मुख्य पदानुक्रम, व्युत्पत्ति पैरामीटर, सटीक देखें Keychain या Secure Enclave उपयोग, नॉन्स हैंडलिंग, पुनर्प्राप्ति पथ, और क्या मेटाडेटा भी एन्क्रिप्ट किया गया है। ओपन-सोर्स कोड और स्वतंत्र ऑडिट उन दावों को सत्यापित करना आसान बनाते हैं।
निष्कर्ष
AES-256 सममित एन्क्रिप्शन का स्वर्ण मानक है, NIST द्वारा मानकीकृत, सरकारों और वित्तीय संस्थानों द्वारा उपयोग किया जाता है, और क्वांटम कंप्यूटिंग सहित सभी ज्ञात हमलों के प्रति प्रतिरोधी है। AES-256 एन्क्रिप्शन का दावा करने वाले ऐप्स का मूल्यांकन करते समय, सिफर से परे देखें: मोड (GCM), कुंजी व्युत्पत्ति (PBKDF2/Argon2 उच्च पुनरावृत्ति गणना के साथ), कुंजी भंडारण (हार्डवेयर-समर्थित), और वास्तव में क्या डेटा एन्क्रिप्ट किया जाता है (सामग्री + मेटाडेटा)।
वाल्टायर उपयोग करता है AES-256-GCM फ़ाइल सामग्री, हेडर, मेटाडेटा, इंडेक्स और थंबनेल के लिए। PBKDF2 के साथ HMAC-SHA512 पैटर्न और डिवाइस-वाइड से एक स्थानीय वॉल्ट कुंजी प्राप्त होती है Keychain नमक; वह कुंजी फ़ाइल एन्क्रिप्शन के लिए उपयोग की जाने वाली एक यादृच्छिक मास्टर कुंजी को खोल देती है। सममित संचालन ऐप प्रक्रिया के माध्यम से चलते हैं CryptoKit, जबकि iOS Keychain और डेटा प्रोटेक्शन डिवाइस लॉक होने पर पुनर्प्राप्ति स्थिति की सुरक्षा करता है। पूर्ण पदानुक्रम को इसमें प्रलेखित किया गया है सुरक्षा मॉडल.