सभी लेख

Hash Generator: MD5, SHA-1 और SHA-256 एक-दूसरे से कैसे अलग हैं

भारत में आधार नंबर जैसी संवेदनशील पहचान संख्या को डेटाबेस में सीधे प्लेनटेक्स्ट में रखने के बजाय, कई सिस्टम इसका हैश या टोकनयुक्त रेफ़रेंस बनाकर स्टोर करने की प्रैक्टिस अपनाते हैं — ताकि डेटा लीक होने पर भी असली नंबर सीधे उजागर न हो। यह उस बड़े सिद्धांत की मिसाल है जिसमें हैश फ़ंक्शन का इस्तेमाल सिर्फ़ फ़ाइल इंटीग्रिटी के लिए नहीं, बल्कि पर्सनल डेटा को सीधे स्टोर किए बिना उसकी पहचान बनाए रखने के लिए भी होता है।

सभी हैश फ़ंक्शन में क्या समान है

मुख्य गुण डिटरमिनिज़्म है: एक जैसा इनपुट डेटा हमेशा एक जैसा हैश देता है। दूसरा गुण एवलांच इफ़ेक्ट है: इनपुट में एक बिट बदलने से नतीजा पूरी तरह बदल जाता है, इसलिए हैश से यह पता लगाना असंभव है कि दो मूल फ़ाइलें कितनी मिलती-जुलती हैं।

MD5 और SHA-1 असुरक्षित क्यों माने जाते हैं

दोनों एल्गोरिदम के लिए एक जैसा हैश देने वाले दो अलग-अलग डेटा सेट बनाने के व्यावहारिक तरीक़े मिल चुके हैं — इसे कोलिज़न कहा जाता है। इससे वे उन जगहों के लिए अनुपयुक्त हो जाते हैं जहाँ क्रिप्टोग्राफ़िक मज़बूती मायने रखती है, हालाँकि वे अब भी वहाँ इस्तेमाल होते हैं जहाँ सिर्फ़ जल्दी इंटीग्रिटी जाँचनी हो।

SHA-256 और SHA-2 परिवार

SHA-256 256-बिट हैश जनरेट करता है और आज तक इसमें कोई ज्ञात व्यावहारिक कोलिज़न नहीं है। इसे अक्सर वहाँ इस्तेमाल किया जाता है जहाँ किसी पहचान संख्या या फ़ाइल को सीधे स्टोर करने के बजाय उसका अपरिवर्तनीय (irreversible) रेफ़रेंस चाहिए — क्योंकि हैश से मूल इनपुट वापस नहीं निकाला जा सकता।

यह किस काम आता है

  • डाउनलोड की गई फ़ाइलों की इंटीग्रिटी को पब्लिश किए गए हैश से तुलना करके जाँचना।
  • संवेदनशील पहचान संख्याओं को प्लेनटेक्स्ट में सेव किए बिना उनका सुरक्षित रेफ़रेंस बनाना।
  • यह समझना कि कोई ख़ास एल्गोरिदम किसी ख़ास सुरक्षा काम के लिए उपयुक्त है या नहीं।

SHA-3 ने SHA-2 की जगह क्यों नहीं ली

SHA-3 को NIST की एक अलग प्रतियोगिता में विजेता चुना गया, ताकि अगर कभी SHA-2 में कोई बुनियादी कमज़ोरी मिले तो एक "बीमा" तैयार रहे — यह एक बिल्कुल अलग आंतरिक बनावट (Keccak) पर आधारित है। चूँकि SHA-2 पर अब तक कोई व्यावहारिक हमला नहीं मिला है, इसलिए ज़्यादातर सिस्टम में SHA-256 डिफ़ॉल्ट स्टैंडर्ड बना हुआ है।

टूल आज़माएँ