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

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

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


AES-256 क्या है?

AES-256 एक सममित ब्लॉक सिफर है: 256-बिट कुंजी के साथ चलने वाला Advanced Encryption Standard। एक ही कुंजी एन्क्रिप्ट और डिक्रिप्ट दोनों करती है। यह डेटा को 14 राउंड में 128-बिट ब्लॉक में प्रोसेस करता है, और NIST ने इसे 2001 में FIPS 197 के रूप में मानकीकृत किया।

यह नाम तीन तथ्यों को एक साथ रखता है। AES एल्गोरिदम का नाम है, जिसे NIST ने 2001 में Rijndael प्रस्ताव से चुना। 256 बिट में कुंजी की लंबाई है, जो तय करती है कि ब्रूट-फ़ोर्स हमलावर को कितनी कुंजियाँ आज़मानी होंगी। GCM या CBC जैसा मोड, जो आमतौर पर नाम के बाद AES-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 का क्या अर्थ है

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

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

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

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

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

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

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

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

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

कुंजी का जीवनचक्र मायने रखता है। डिक्रिप्ट की गई कुंजी सामग्री कितनी देर उपलब्ध रहती है? Vaultaire लॉक या बंद होने पर अपनी सक्रिय तिजोरी और मास्टर-कुंजी स्थिति छोड़ देता है और फिर से अनलॉक माँगता है। तिजोरी खुली रहने पर सिमेट्रिक कुंजी बाइट्स का ऐप मेमोरी में होना ज़रूरी है, और Swift और iOS किसी ऐप को यह साबित नहीं करने देते कि हर अस्थायी प्रति मिटा दी गई।

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

संस्था उपयोग का मामला मोड
अमेरिकी सरकार (NSA) वर्गीकृत जानकारी GCM (या अलग प्रमाणीकरण के साथ CTR)
Apple (iCloud ADP) iCloud एंड-टू-एंड एन्क्रिप्शन GCM
Signal संदेश एन्क्रिप्शन CBC (प्रमाणीकरण के लिए HMAC के साथ)
बैंक वित्तीय लेनदेन एन्क्रिप्शन GCM
1Password पासवर्ड तिजोरी GCM
Vaultaire फ़ोटो और फ़ाइल तिजोरी 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 का मतलब है Advanced Encryption Standard, जिसे 256-बिट कुंजी के साथ चलाया जाता है। AES वह सिफर है जिसे NIST ने Rijndael डिज़ाइन चुनने के बाद 2001 में FIPS 197 के रूप में मानकीकृत किया। 256 बिट में कुंजी की लंबाई है। AES-256-GCM जैसा प्रत्यय ऑपरेशन मोड जोड़ता है, जो सिफर और कुंजी के आकार से अलग चुनाव है।

क्या 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-बिट प्रभावी सुरक्षा तक कम किया जाएगा, जो संभावित रूप से असुरक्षित है। AES-256 के विरुद्ध Grover खोज को फिर भी लगभग 2^128 ऑपरेशन की आवश्यकता होगी, जो व्यावहारिक नहीं है।

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

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

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

सामान्य उपयोग में महसूस होने लायक नहीं। आधुनिक Apple प्रोसेसर सिस्टम क्रिप्टोग्राफ़िक लाइब्रेरी के ज़रिए AES के लिए हार्डवेयर त्वरण देते हैं। इसका मतलब यह नहीं कि ऐप का AES ऑपरेशन Secure Enclave के अंदर चलता है। समय अब भी फ़ाइल आकार, डिवाइस, स्टोरेज और कार्यान्वयन पर निर्भर करता है, इसलिए सुरक्षा दावे को किसी सार्वभौमिक मिलीसेकंड आँकड़े के बजाय माप पर टिका होना चाहिए।

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

ऐप का सुरक्षा दस्तावेज़ देखें, सिर्फ़ उसका मार्केटिंग पेज नहीं। खास एल्गोरिदम और मोड, कुंजी पदानुक्रम, व्युत्पत्ति पैरामीटर, Keychain या Secure Enclave का सटीक उपयोग, nonce हैंडलिंग, पुनर्प्राप्ति पथ, और यह देखें कि मेटाडेटा भी एन्क्रिप्ट होता है या नहीं। ओपन-सोर्स कोड और स्वतंत्र ऑडिट इन दावों की जाँच आसान बनाते हैं।

निष्कर्ष

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

Vaultaire फ़ाइल सामग्री, हेडर, मेटाडेटा, इंडेक्स और थंबनेल के लिए AES-256-GCM इस्तेमाल करता है। HMAC-SHA512 के साथ PBKDF2 पैटर्न और डिवाइस-व्यापी Keychain सॉल्ट से एक स्थानीय तिजोरी कुंजी बनाता है; वह कुंजी फ़ाइल एन्क्रिप्शन में इस्तेमाल होने वाली एक रैंडम मास्टर कुंजी को खोलती है। सिमेट्रिक ऑपरेशन ऐप प्रोसेस में CryptoKit के ज़रिए चलते हैं, जबकि डिवाइस लॉक होने पर iOS Keychain और Data Protection पुनर्प्राप्ति स्थिति की सुरक्षा करते हैं। पूरा पदानुक्रम सुरक्षा मॉडल में दर्ज है।

संदर्भ