हिन्दी

डेवलपर टूल · SHA हैश कैलकुलेटर

SHA-0 से SHA-3 तक: NIST का सुरक्षित हैश मानक कैसे विकसित हुआ

· पेजभूमि

शा-256 क्रिप्टोग्राफी ब्राउज़र-एपिस

SHA-0 से SHA-1, SHA-2 परिवार और SHA-3 तक की समयरेखा दो दशकों के विकास को दर्शाती है
मूल ToolAcre वेक्टर चित्रण

SHA-1, SHA-2 और SHA-3 अलग-अलग उत्पत्ति वाली तीन पीढ़ियाँ हैं। यह पोस्ट सुरक्षित हैश मानक को वापस लिए गए SHA-0 से लेकर केकक प्रतियोगिता तक का पता लगाता है और बताता है कि क्यों SHA-2 अभी भी हावी है।

आंकड़ों का क्या अर्थ है? — क्यों SHA-256 SHA-2 है लेकिन SHA-3 पूरी तरह से कुछ और है

डेवलपर्स SHA-1, SHA-256 और SHA-3 देखते हैं और मानते हैं कि वे एक रैखिक प्रगति हैं। वे नहीं हैं। संख्याओं का अलग-अलग संदर्भों में अलग-अलग मतलब है, और पारिवारिक इतिहास को समझने से पता चलता है कि क्यों SHA-256 नए अनुप्रयोगों के लिए समझदार विकल्प है, क्यों SHA-1 व्यापक रूप से तैनात होने के बावजूद केवल विरासत है, और क्यों SHA-3 एक विकास के बजाय एक अलग डिजाइन है।

जब NIST ने पहली बार एक सुरक्षित हैश फ़ंक्शन प्रकाशित किया, तो उन्होंने इसे SHA और बाद में SHA-0 कहा, यह संस्करण इतना अल्पकालिक था कि अधिकांश डेवलपर्स ने इसके बारे में कभी नहीं सुना था। SHA-0 को एक अनिर्दिष्ट दोष के कारण कुछ वर्षों के भीतर वापस ले लिया गया था जिसका सार्वजनिक रूप से कभी खुलासा नहीं किया गया था। यह वापसी चुपचाप हुई, और इसके बाद आने वाले एल्गोरिदम ने नामकरण संबंधी भ्रम को जन्म दिया। SHA-0 को वापस लेने के बाद, NIST ने SHA-1 प्रकाशित किया, जो बीस वर्षों के लिए मानक बन गया।

टूल SHA-1 और SHA-2 को कवर करता है; विस्तृत SHA-0 इतिहास भंडार साक्ष्य से बाहर है

SHA-1 एक 160-बिट हैश फ़ंक्शन है जो 40-वर्ण हेक्साडेसिमल आउटपुट उत्पन्न करता है। यह मर्कले-डैमगार्ड निर्माण पर आधारित है, जहां एक संपीड़न फ़ंक्शन इनपुट ब्लॉक को ब्लॉक द्वारा संसाधित करता है, राज्य को आगे बढ़ाता है। प्रकाशित होने पर डिज़ाइन बढ़िया था और कई वर्षों तक कोई व्यावहारिक हमला नहीं हुआ। हालाँकि, वर्ष 2005 एक क्रिप्टोएनालिटिक सफलता लेकर आया। ज़ियाओयुन वांग के नेतृत्व में एक टीम ने SHA-1 पर एक टकराव हमला प्रकाशित किया, जिसमें दिखाया गया कि एक ही हैश के साथ दो अलग-अलग संदेशों को ढूंढना ब्रूट फोर्स दृष्टिकोण की तुलना में कहीं अधिक कुशल तकनीकों का उपयोग करके संभव था।

वर्षों बाद, 2017 में, SHAttered नामक एक टीम ने समान SHA-1 हैश के साथ दो अलग-अलग PDF फ़ाइलों को खोजने के लिए GPU के क्लस्टर का उपयोग करके पहली व्यावहारिक टक्कर का प्रदर्शन किया। 2020 में, एक अनुवर्ती पेपर से पता चला कि चयनित-उपसर्ग टकराव - अधिक खतरनाक संस्करण - किफायती थे। SHA-1 अब केवल कमज़ोर नहीं था; यह टूट गया। SHA-1 ब्रेक की प्रतिक्रिया SHA-2 को पेश करना था, जो चार कार्यों का एक परिवार है: SHA-224, SHA-256, SHA-384 और SHA-512।

SHA-2 - 2000 के दशक का प्रारंभिक परिवार (224, 256, 384, 512 और बाद में काट दिया गया 512/224 और 512/256) उसी निर्माण पर बनाया गया है

ये चारों अलग-अलग राज्य आकार और अलग-अलग ब्लॉक आकार पर काम करते हैं, लेकिन वे SHA-1 के समान मौलिक निर्माण का उपयोग करते हैं। SHA-2 परिवार को SHA-1 पर बड़े ब्रेक से कई साल पहले 2001 में प्रकाशित किया गया था, लेकिन इसे तब तक व्यापक रूप से नहीं अपनाया गया जब तक SHA-1 पतन ठोस नहीं हो गया। SHA-256 एक 256-बिट हैश उत्पन्न करता है और अब नए अनुप्रयोगों के लिए मानक विकल्प है। SHA-512 एक 512-बिट हैश उत्पन्न करता है और 64-बिट प्रोसेसर पर अक्सर तेज़ होता है क्योंकि यह 32-बिट शब्दों के बजाय 64-बिट शब्दों पर काम करता है।

SHA-2 के लिए नामकरण परंपरा भ्रम का स्रोत है। फ़ंक्शंस को SHA-256, SHA-384 और SHA-512 कहा जाता है, और वे सभी SHA-2 परिवार का हिस्सा हैं। जब कोई कहता है SHA-2, तो उनका मतलब डिज़ाइन दर्शन और मर्कले-डैमगार्ड निर्माण से है, न कि किCAकल एल्गोरिदम से। नामों में संख्याएँ बिट्स में आउटपुट चौड़ाई हैं, संस्करण योजना नहीं। SHA-256 SHA-1 का अद्यतन नहीं है; यह समान ढांचे का उपयोग करके लेकिन बेहतर सुरक्षा गुणों के साथ एक समकालीन डिज़ाइन है।

रिपॉजिटरी दस्तावेज़ों ने बिना स्रोत वाले सैद्धांतिक इतिहास का पुनर्निर्माण किए बिना SHA-1 टकरावों का प्रदर्शन किया

मर्कले-डैमगार्ड निर्माण के अंदर जो SHA-1 और SHA-2 का उपयोग करता है, एक संपीड़न फ़ंक्शन इनपुट ब्लॉक को ब्लॉक द्वारा संसाधित करता है। राज्य को एक ब्लॉक से दूसरे ब्लॉक तक आगे बढ़ाया जाता है, और अंतिम राज्य डाइजेस्ट के रूप में आउटपुट होता है। SHA-256 संपीड़न फ़ंक्शन 32-बिट संचालन और 256-बिट स्थिति का उपयोग करता है, इसलिए यह 512-बिट ब्लॉक को संसाधित करता है। SHA-512 संपीड़न फ़ंक्शन 64-बिट संचालन और 512-बिट स्थिति का उपयोग करता है, इसलिए यह 1024-बिट ब्लॉक को संसाधित करता है। ये विकल्प प्रदर्शन और बैंडविड्थ को प्रभावित करते हैं—SHA-512 अक्सर तेज़ होता है क्योंकि 64-बिट अंकगणित आधुनिक हार्डवेयर का मूल है।

एक नई प्रणाली के लिए SHA-256 और SHA-512 के बीच निर्णय आमतौर पर सुरक्षा के बजाय प्रदर्शन परीक्षण और स्थान की कमी पर आधारित होता है, क्योंकि 2020 की शुरुआत तक दोनों अभी भी सुरक्षित हैं। ToolAcre SHA हैश कैलकुलेटर SHA-256, SHA-384 और SHA-512 प्रदान करता है, और जब पाठक साथ-साथ डाइजेस्ट की तुलना करते हैं, तो उन्हें SHA-256 (64 हेक्स वर्ण) और के बीच चार-वर्ण का अंतर दिखाई देता है। SHA-512 (128 हेक्स अक्षर)।

SHA-3 समर्थित API से बाहर है; प्रतिस्पर्धा के इतिहास का भंडार साक्ष्य से दावा नहीं किया जाता है

SHA-1 को बदलने की प्रेरणा 2000 के दशक की शुरुआत में स्पष्ट थी, इसलिए NIST ने SHA-3 चयन प्रक्रिया शुरू की। अलगाव में प्रतिस्थापन को डिज़ाइन करने के बजाय, NIST ने क्रिप्टोग्राफ़िक अनुसंधान समुदाय के लिए प्रतियोगिता खोल दी। लक्ष्य एक ऐसे हैश फ़ंक्शन का चयन करना था जो डिज़ाइन की विविधता से आत्मविश्वास हासिल करने के लिए मर्कले-डैमगार्ड निर्माण से मौलिक रूप से अलग था। कई टीमों ने प्रस्ताव प्रस्तुत किए, और कई वर्षों में, प्रतियोगिता ने केकैक को विजेता के रूप में चुना। केकैक एक स्पंज निर्माण था, हैश फ़ंक्शन के निर्माण का एक अलग तरीका जिसका उपयोग पहले किसी मानक में नहीं किया गया था।

SHA-3 केकैक का NIST मानकीकरण है, जिसे 2015 में अंतिम रूप दिया गया है। SHA-2 के विपरीत, जो एल्गोरिदम का एक परिवार है, SHA-3 को आमतौर पर एकल एल्गोरिदम के रूप में संदर्भित किया जाता है, हालांकि इसकी भी कई चौड़ाई होती है। SHA-3 को अभी तक व्यापक रूप से तैनात नहीं किया गया है, जो आश्चर्यजनक है क्योंकि यह लगभग एक दशक से मानक बना हुआ है। कारण यह है कि SHA-2 टूटा नहीं है। SHA-2 से SHA-3 में अपग्रेड करने के लिए कोई अनिवार्य सुरक्षा कारण नहीं है। ब्राउज़र का Web Crypto API SHA-1 और SHA-2 को लागू करता है, लेकिन SHA-3 को नहीं, यही कारण है कि ToolAcre SHA हैश कैलकुलेटर SHA-3 की पेशकश नहीं करता है।

SHA-2 टूल डिफ़ॉल्ट बना रहता है; यह आलेख एक असमर्थित सार्वभौमिक सुरक्षा दावे से बचाता है

SHA-2 अभी भी हर जगह क्यों है, यह हैश एल्गोरिदम चयन का केंद्रीय प्रश्न है। SHA-2 में कोई ज्ञात व्यावहारिक टकराव नहीं है। हार्डवेयर कार्यान्वयन परिपक्व हैं। प्रत्येक प्रोग्रामिंग भाषा और प्लेटफ़ॉर्म इसका समर्थन करता है। सिस्टम के हैश एल्गोरिदम को बदलना विघटनकारी है: प्रत्येक संग्रहीत हैश को सत्यापन के लिए माइग्रेट करना या बनाए रखना होगा, प्रत्येक एकीकरण बिंदु को अद्यतन करना होगा, और यह सुनिश्चित करने के लिए परीक्षण करना होगा कि नया एल्गोरिदम प्रत्येक डाउनस्ट्रीम सिस्टम के साथ काम करता है।

उन प्रणालियों के लिए जहां SHA-2 अभी भी सुरक्षित है, यह व्यवधान उचित नहीं है। नए सिस्टम और नए प्रोटोकॉल के लिए, SHA-2 समझदार डिफ़ॉल्ट है। ToolAcre SHA हैश कैलकुलेटर SHA-256 और SHA-512 को प्रमुख स्थान पर दिखाता है क्योंकि नए अनुप्रयोगों को इनका उपयोग करना चाहिए। SHA-1 को केवल विरासत के रूप में सूचीबद्ध किया गया है। SHA-384 को पूर्णता के लिए और उपयोग के मामलों के लिए दिखाया गया है जहां इसकी विशेष रूप से आवश्यकता होती है।

इसमें क्या शामिल नहीं है - केकक के आंतरिक भाग, जो अपने स्वयं के पद के लायक हैं

इस समय हैश मानकों का भविष्य अस्पष्ट है। SHA-3 सुरक्षित और परिपक्व है, और यदि SHA-2 कभी टूट जाता है तो यह एक विकल्प प्रदान करता है। क्वांटम कंप्यूटिंग सभी मौजूदा हैश फ़ंक्शंस के लिए दीर्घकालिक खतरा पैदा करती है, लेकिन क्वांटम-प्रतिरोधी हैश फ़ंक्शन डिज़ाइन एक खुला अनुसंधान क्षेत्र है। NIST में पोस्ट-क्वांटम क्रिप्टोग्राफी प्रतियोगिता चल रही है, जिसमें ऐसे एल्गोरिदम का चयन किया जाता है जिनका उद्देश्य क्वांटम हमलों का विरोध करना है, लेकिन सार्वजनिक-कुंजी प्रणालियों की तुलना में हैश फ़ंक्शन उस प्रतियोगिता में प्राथमिकता नहीं हैं।

2020 के व्यावहारिक अनुप्रयोगों के लिए, SHA-256 इस प्रश्न का उत्तर है कि "मुझे किस हैश का उपयोग करना चाहिए?" अखंडता सत्यापन, सामग्री पता और फ़िंगरप्रिंटिंग के लिए, SHA-256 मानक है। उन प्रणालियों के लिए जिन्हें व्यापक डाइजेस्ट की आवश्यकता होती है, SHA-512 आमतौर पर 64-बिट हार्डवेयर पर तेज़ होता है। SHA-384 TLS सिफर सुइट विशिष्टताओं में सबसे आम है। SHA-1 केवल विरासत सत्यापन के लिए है। ToolAcre SHA हैश कैलकुलेटर सभी चार Web Crypto एल्गोरिदम प्रदान करता है ताकि डेवलपर्स अपने आउटपुट देख सकें।

टेकअवे: तीन पीढ़ियां, एक परिवार का नाम - ToolAcre SHA हैश कैलकुलेटर ब्राउज़र द्वारा प्रदान किए गए SHA-1 और SHA-2 एल्गोरिदम को कवर करता है

SHA के इतिहास को समझने से यह स्पष्ट हो जाता है कि संख्याओं और नामों का अर्थ क्यों होता है और 1990 और 2000 के दशक में किए गए विकल्प आज भी यह तय करते हैं कि नए एप्लिकेशन क्या करते हैं। SHA-0 को चुपचाप वापस ले लिया गया, SHA-1 को व्यावहारिक हमलों से तोड़ दिया गया, SHA-2 अभी भी सुरक्षित है, और SHA-3 भविष्य की मजबूती के लिए चुना गया एक वैकल्पिक डिज़ाइन है। नए कोड को सामान्य प्रयोजन हैशिंग के लिए SHA-256 का उपयोग करना चाहिए। लीगेसी सिस्टम अभी भी SHA-1 का उपयोग करते हैं, और उन सिस्टम के साथ इंटरऑपरेबिलिटी के लिए SHA-1 हैश की गणना करने की क्षमता की आवश्यकता होती है।

ToolAcre SHA हैश कैलकुलेटर इस परिप्रेक्ष्य का प्रतीक है: यह SHA-256 को डिफ़ॉल्ट के रूप में, SHA-512 को एक व्यापक विकल्प के रूप में, SHA-384 को विशिष्ट आवश्यकताओं के लिए, और SHA-1 को विरासत के रूप में लेबल करता है। यह डेवलपर्स को सटीक टूल और सटीक लेबलिंग प्रदान करता है। ब्राउज़र का Web Crypto कार्यान्वयन ये एल्गोरिदम प्रदान करता है, और ToolAcre कस्टम कोड शिपिंग के बजाय सीधे उस कार्यान्वयन का उपयोग करता है। यह विकल्प दशकों के क्रिप्टोग्राफ़िक विकास और अभ्यास की वर्तमान स्थिति को दर्शाता है।