SHA-1 (सिक्योर हैश एल्गोरिथम 1 के लिए संक्षिप्त) कई क्रिप्टोग्राफ़िक हैश फ़ंक्शंस में से एक है।
इसका उपयोग अक्सर यह सत्यापित करने के लिए किया जाता है कि किसी फ़ाइल में कोई बदलाव नहीं किया गया है। यह फ़ाइल के संचरित होने से पहले एक चेकसम बनाकर किया जाता है, और फिर एक बार जब यह अपने गंतव्य तक पहुँच जाता है।
संचरित फ़ाइल को तभी वास्तविक माना जा सकता है जब दोनों चेकसम समान हों।
SHA हैश फंक्शन का इतिहास और कमजोरियां
SHA-1 सिक्योर हैश एल्गोरिथम (SHA) परिवार में चार एल्गोरिदम में से केवल एक है। अधिकांश अमेरिकी राष्ट्रीय सुरक्षा एजेंसी (एनएसए) द्वारा विकसित और राष्ट्रीय मानक और प्रौद्योगिकी संस्थान (एनआईएसटी) द्वारा प्रकाशित किए गए थे।
SHA-0 में 160-बिट संदेश डाइजेस्ट (हैश मान) आकार है और यह इस एल्गोरिथम का पहला संस्करण था। इसका हैश मान 40 अंक लंबा है। इसे 1993 में "SHA" नाम से प्रकाशित किया गया था, लेकिन कई अनुप्रयोगों में इसका उपयोग नहीं किया गया था क्योंकि सुरक्षा दोष के कारण इसे 1995 में SHA-1 से बदल दिया गया था।
SHA-1 इस क्रिप्टोग्राफ़िक हैश फ़ंक्शन का दूसरा पुनरावृत्ति है। इसमें 160 बिट्स का मैसेज डाइजेस्ट भी है और SHA-0 में पाई गई कमजोरी को ठीक करके सुरक्षा बढ़ाने की मांग की गई है। हालाँकि, 2005 में, SHA-1 को भी असुरक्षित पाया गया था।
एक बार जब क्रिप्टोग्राफिक कमजोरियों को SHA-1 में पाया गया, NIST ने 2006 में एक बयान दिया जिसमें संघीय एजेंसियों को वर्ष 2010 तक SHA-2 के उपयोग को अपनाने के लिए प्रोत्साहित किया गया। SHA-2 SHA-1 से अधिक मजबूत है, और हमले किए गए वर्तमान कंप्यूटिंग शक्ति के साथ SHA-2 के विरुद्ध होने की संभावना नहीं है।
न केवल संघीय एजेंसियां, बल्कि Google, Mozilla, और Microsoft जैसी कंपनियों ने भी या तो SHA-1 SSL प्रमाणपत्र स्वीकार करना बंद करने की योजना शुरू कर दी है या पहले ही उन प्रकार के पृष्ठों को लोड होने से रोक दिया है।
Google के पास SHA-1 टकराव का सबूत है जो अद्वितीय चेकसम उत्पन्न करने के लिए इस पद्धति को अविश्वसनीय बनाता है, चाहे वह पासवर्ड, फ़ाइल या डेटा के किसी अन्य भाग के संबंध में हो। यह कैसे काम करता है यह देखने के लिए आप SHAttered से दो अद्वितीय PDF फ़ाइलें डाउनलोड कर सकते हैं। दोनों के लिए चेकसम उत्पन्न करने के लिए इस पृष्ठ के नीचे से एक SHA-1 कैलकुलेटर का उपयोग करें, और आप पाएंगे कि मान बिल्कुल समान है, भले ही उनमें अलग-अलग डेटा हों।
SHA-2 और SHA-3
SHA-2 SHA-1 के कई साल बाद 2001 में प्रकाशित हुआ था। इसमें अलग-अलग डाइजेस्ट आकार के साथ छह हैश फ़ंक्शन शामिल हैं: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, और SHA-512/256।
गैर-एनएसए डिजाइनरों द्वारा विकसित और 2015 में एनआईएसटी द्वारा जारी किया गया, सुरक्षित हैश एल्गोरिथम परिवार का एक और सदस्य है, जिसे एसएचए-3 (पूर्व में केकक) कहा जाता है।
SHA-3 SHA-2 को बदलने के लिए नहीं है, जैसा कि पिछले संस्करण पहले वाले को बदलने के लिए थे। इसके बजाय, इसे SHA-0, SHA-1 और MD5 के एक अन्य विकल्प के रूप में विकसित किया गया था।
SHA-1 का उपयोग कैसे किया जाता है?
एक वास्तविक दुनिया का उदाहरण जहां SHA-1 का उपयोग किया जा सकता है, जब आप किसी वेबसाइट के लॉगिन पृष्ठ में अपना पासवर्ड दर्ज कर रहे हैं। हालांकि यह आपकी जानकारी के बिना पृष्ठभूमि में होता है, यह वह तरीका हो सकता है जिसका उपयोग वेबसाइट सुरक्षित रूप से सत्यापित करने के लिए करती है कि आपका पासवर्ड प्रामाणिक है।
इस उदाहरण में, कल्पना करें कि आप किसी ऐसी वेबसाइट में लॉग इन करने का प्रयास कर रहे हैं, जिस पर आप अक्सर जाते हैं। हर बार जब आप लॉग ऑन करने का अनुरोध करते हैं, तो आपको अपना उपयोगकर्ता नाम और पासवर्ड दर्ज करना होगा।
यदि वेबसाइट SHA-1 क्रिप्टोग्राफिक हैश फ़ंक्शन का उपयोग करती है, तो इसका मतलब है कि आपका पासवर्ड दर्ज करने के बाद आपका पासवर्ड चेकसम में बदल गया है। उस चेकसम की तुलना उस चेकसम से की जाती है जो वेबसाइट पर संग्रहीत है जो आपके वर्तमान से संबंधित है पासवर्ड, चाहे आपने साइन अप करने के बाद से अपना पासवर्ड नहीं बदला है या यदि आपने इसे कुछ क्षण पहले ही बदला है। यदि दोनों मेल खाते हैं, तो आपको पहुंच प्रदान की जाती है; यदि वे नहीं करते हैं, तो आपको बताया जाता है कि पासवर्ड गलत है।
एक और उदाहरण जहां इस हैश फ़ंक्शन का उपयोग किया जा सकता है वह फ़ाइल सत्यापन के लिए है।कुछ वेबसाइटें डाउनलोड पृष्ठ पर फ़ाइल का SHA-1 चेकसम प्रदान करेंगी ताकि जब आप फ़ाइल डाउनलोड करें, तो आप अपने लिए चेकसम की जांच कर सकें ताकि यह सुनिश्चित हो सके कि डाउनलोड की गई फ़ाइल वही है जिसे आप डाउनलोड करना चाहते थे।
आपको आश्चर्य हो सकता है कि इस प्रकार के सत्यापन में वास्तविक उपयोग कहां है। एक ऐसे परिदृश्य पर विचार करें जहां आप डेवलपर की वेबसाइट से किसी फ़ाइल का SHA-1 चेकसम जानते हैं, लेकिन आप उसी संस्करण को किसी भिन्न वेबसाइट से डाउनलोड करना चाहते हैं। फिर आप अपने डाउनलोड के लिए SHA-1 चेकसम जेनरेट कर सकते हैं और इसकी तुलना डेवलपर के डाउनलोड पेज से वास्तविक चेकसम से कर सकते हैं।
यदि दोनों अलग हैं, तो इसका मतलब यह नहीं है कि फ़ाइल की सामग्री समान नहीं है, लेकिन फ़ाइल में छिपे हुए मैलवेयर हो सकते हैं, डेटा दूषित हो सकता है और आपकी कंप्यूटर फ़ाइलों को नुकसान पहुंचा सकता है, फ़ाइल नहीं है वास्तविक फ़ाइल से संबंधित कुछ भी, आदि।
हालांकि, इसका मतलब यह भी हो सकता है कि एक फ़ाइल दूसरे की तुलना में प्रोग्राम के पुराने संस्करण का प्रतिनिधित्व करती है, क्योंकि उस छोटे से बदलाव से भी एक अद्वितीय चेकसम मान उत्पन्न होगा।
यदि आप सर्विस पैक या कोई अन्य प्रोग्राम इंस्टॉल कर रहे हैं या अपडेट कर रहे हैं तो आप यह भी जांचना चाहेंगे कि दो फाइलें समान हैं क्योंकि इंस्टॉलेशन के दौरान कुछ फाइलें गायब होने पर समस्याएं होती हैं।
SHA-1 चेकसम कैलकुलेटर
किसी फ़ाइल या वर्णों के समूह के चेकसम को निर्धारित करने के लिए एक विशेष प्रकार के कैलकुलेटर का उपयोग किया जा सकता है।
उदाहरण के लिए, SHA1 ऑनलाइन और SHA1 हैश जेनरेटर मुफ्त ऑनलाइन टूल हैं जो टेक्स्ट, प्रतीकों और/या संख्याओं के किसी भी समूह का SHA-1 चेकसम जेनरेट कर सकते हैं।
वे वेबसाइटें, उदाहरण के लिए, इस जोड़ी को जनरेट करेंगी:
pAssw0rd!
bd17dabf6fdd24dab5ed0e2e6624d312e4ebeaba