विषय-सूचि
हैश फंक्शन क्या है? (what is hash function in hindi)
हैश फंक्शन बहुत ही उपयोगी होते हैं और लगभग सारे इनफार्मेशन सिक्यूरिटी एप्लीकेशन में उपस्थित रहते हैं। ये एक गणितीय फंक्शन होता है जो कि एक सांख्यिकी इनपुट वैल्यू को किसी और कॉम्प्रेस किये हुए संख्या वाले मान में बदल देता है। हैश फंक्शन का इनपुट आरबिटरेरी लेंथ का होता है लेकिन इसका आउटपुट हमेशा एक निश्चित लेंथ का ही होता है।
हैश फंक्शन द्वारा return किये गये वैल्यूज को मैसेज डाइजेस्ट कहते हैं या फिर इसे हैश वैल्यू भी कहा जाता है। नीचे इस चित्र में आप इस फंक्शन को देख सकते हैं:
हैश फंक्शन के फीचर (features of hash function in hindi)
हैश फंक्शन के प्रमुख फीचर को हम नीचे लिस्ट कर रहे हैं जिसे जानने के बाद आप हैश फंक्शन को और अच्छे से समझ जायेंगे:
- फिक्स्ड लेंथ आउटपुट(हैश वैल्यू)
- हैश फंक्शन किसी आरबिटरेरी लेंथ के डाटा को फिक्स्ड length के डाटा में कन्वर्ट कर देता है। इसी प्रक्रिया को डाटा की हैशिंग करना भी कहते हैं।
- सामान्यतः हैश इनपुट डाटा से बहुत ही छोटा होता है और इसिलिये हैश फंक्शन को कभी-कभी कम्प्रेशन फंक्शन भी कहते हैं।
- चूँकि हैश किसी बड़े डाटा का एक छोटा रिप्रजेंटेशन होता है, इसीलिए इसे डाइजेस्ट का नाम भी दिया गया है।
- एक हैश फंक्शन को n बिट आउटपुट के साथ n-बिट हैश फंक्शन कहा जाता है। अधिकतर प्रसिद्ध हैश फंक्शन 160 से 512 बिट्स के बीच मान को generate करते हैं।
- ऑपरेशन की एफिशिएंसी
- मान लीजिये कोई हैश फंक्शन h है जिसका इनपुट x है, तो h(x) का कम्प्यूटेशन एक तेज ऑपरेशन होगा।
- कम्प्यूटेशनल तौर पर देखा जाए तो हैश फंक्शन किसी सिमेट्रिक एन्क्रिप्शन से बहुत ही ज्यादा तेज यानी फास्ट होते हैं।
हैश फंक्शन की प्रॉपर्टीज (properties of hash function in hindi)
हैश फंक्शन की निम्नलिखित प्रॉपर्टीज होती है:
- प्री-इमेज रेसिस्टेंस
- इस प्रोपर्टी का अर्थ हुआ कि कम्प्यूटेशनल रूप से किसी हैश फंक्शन को रिवर्स करना बहुत ही कठिन होता है।
- दूसरे शब्दों में कहें तो अगर किसी h हैश फंक्शन ने कोई z वैल्यू को प्रोडूस किया है तो किसी ऐसे इनपुट x को खोजना काफी मुश्किल है जो हैश होकर z बन जाये।
- ये प्रॉपर्टी उस अटैकर या हैकर से बचाता है जिसके पास केवल हैश वैल्यू है और वो इनपुट निकालने की कोशिश कर रहा हो।
- सेकंड प्री-इमेज रेजिस्टेंस
- इस प्रॉपर्टी का अर्थ हुआ कि कोई इनपुट और उसका कोई हैश हो, तो उसी समान हैश के साथ कोई अलग इनपुट खोजना काफी मुश्किल होगा।
- दूसरे शब्दों में कहें तो अगर कोई हैश फंक्शन h है जो कि इनपुट वैल्यू x लेता है और हैश वैल्यू h(x) प्रोडूस करता है, तो कोई और ऐसे इनपुट y को खोजना काफी मुश्किल होगा जो h(y) = h(x) को संतुष्ट करता हो।
- हैश फंक्शन की ये प्रॉपर्टी उस अटैकर या हैकर से बचाने में कारगर सिद्ध होती है जिसके पास कोई इनपुट वैल्यू और उसका हैश हो और वो ओरिजिनल इनपुट वैल्यू की जगह कोई और वैल्यू डालने की कोशिश कर रहा हो।
- Collision रेजिस्टेंस
- इस प्रॉपर्टी का अर्थ हुआ कि किसी भी लेंथ के दो ऐसे इनपुट को खोज निकालना काफी मुश्किल है जिसका परिणाम समान हैश ही आये। इस प्रोपर्टी को collision फ्री हैश फंक्शन भी कहा जाता है।
- In other words, for a hash function h, it is hard to find any two different inputs x and y such that. अगर दूसरे शब्दों में कहें तो किसी हैश फंक्शन h के लिए किसी ऐसे दो इनपुट x और y को खोजना काफी मुश्किल है जो कि h(x) = h(y) को संतुष्ट करे।
- चूँकि हैश फंक्शन कोम्प्रेस्सिंग फंक्शन होते हैं जिनका हैश लेंथ फिक्स्ड होता है, इसीलिए ये असंभव है कि हैश फंक्शन में collision यानी टकराव नहीं हो। ये collision फ्री प्रॉपर्टी यही बताता है कि इन collisions को खोजना मुश्किल नहीं होना चाहिए।
- ये प्रॉपर्टी किसी अटैकर के लिए ऐसे दो इनपुट वैल्यू को खोजना काफी मुश्किल बना देता है जिसका समान हैश हो।
- इसके अलावे, अगर कोई हैश फंक्शन collision रेसिस्टेंट हो तो ये सेकंड प्री-इमेज रेजिस्टेंस होता है।
हैशिंग अल्गोरिथम का डिजाईन (hash function design in hindi)
हैशिंग का सबसे प्रमुख भाग एक गणितीय फंक्शन होता है जो तवो निश्चित आकार के डाटा के ब्लाक पर कार्य करता है ताकि एक हैश कोड तैयार कर सके। ये हैश फंक्शन हैशिंग अल्गोरिथम का एक अभिन्न भाग बनता है।
प्रत्येक डाटा ब्लाक का आकार अलग-अलग होता है जो कि अल्गोरिथम पर निर्भर करता है। अधिकतर एक ब्लाक साइज़ 128 से 512 बिट्स तक होता है। नीचे दिया गया चित्र हैश फंक्शन को दिखा रहा है:
हैशिंग अलोरिथ्म के अंदर उपर दिए गये हैश फंक्शन के बहुत राउंड्स होते हैं (ब्लाक सिफर की तरह)। हर राउंड एक निश्चित आकार का इनपुट लेता है जो कि अधिकतर अभी-अभी के मैसेज ब्लाक और अंतिम राउंड के आउटपुट का कॉम्बिनेशन होता है।
इस प्रक्रिया को कई राउंड्स तक दुहराया जाता है क्योंकि इसे पूरे मैसेज को हैश करना होता है। हैशिंग अल्गोरिथम के इस फंक्शन को करने की प्रक्रिया को नीचे इस चित्र में दिखाया गया है:
चूँकि पहले मैसेज ब्लाक का हैश मान दूसरे हैश ऑपरेशन का इनपुट बन जाता है, जिसका आउटपुट तीसरे ऑपरेशन में जाता है- और यही करण चलता रहता है। इस इफ़ेक्ट को हैशिंग के AVALANCHE इफ़ेक्ट के नाम से भी जानते हैं।
अवलांचे इफ़ेक्ट दो अलग-अलग डाटा अगर एक बिट में भी अलग हैं तो उनके लिए एकदम अलग-अलग हैश फंक्शन देता है।
अब आपको हैश फंक्शन और अल्गोरिथम के बीच के अंतर को अच्छी तरह से समझने की जरूरत है। एक हैश फंक्शन एक हैश कोड generate करता है जो कि ये तवो निश्चित आकार के बाइनरी डाटा के ब्लाक पर ऑपरेशन कर के करता है।
जबकि दूसरी तरफ हैशिंग अल्गोरिथम एक प्रक्रिया है जो हैश फंक्शन का प्रयोग कर के ये बतात है कि मैसेज को कैसे तोड़ा जाएगा और पिछले मैसेज ब्लॉक्स के परिणामों को एक साथ चैन कैसे किया जाएगा।
हैश फंक्शन के एप्लीकेशन (application of hash function in hindi)
हैश फंक्शन का प्रयोग इन चीजों के लिए होता है:
पासवर्ड स्टोरेज (password storage)
हैश फंक्शन आपके पासवर्ड को सुरक्षित रखने में मदद करते हैं।
- पासवर्ड को साफ़-साफ़ स्टोर करने की जगह, अधिकतर सारे लॉग-ओन प्रक्रियाएं फाइल में पासवर्ड का हैश मान ही स्टोर करती है।
- पासवर्ड का फाइल टेबल के पेयर्स से मिल कर बना होता है जो (user id, h(P)) के रूप में होते हैं।
- नीचे के चीते में आप लॉग-ऑन की इस प्रक्रिया को देख कर समझ सकते हैं−
- कोई घुसपैठिया केवल पासवर्ड के हैश को ही देख सकता है भले ही उसने पासवर्ड को एक्सेस ही क्यों न कर लिया हो। वो हैश का प्रयोग कर के ना तो लॉग-ऑन कर सकता है न और ना ही हैश वैल्यू से पासवर्ड निकाल सकता है। ऐसा इसीलिए क्योंकि हैश फंक्शन के पास प्री-इमेज रेजिस्टेंस की प्रॉपर्टी होती है।
डाटा इंटीग्रिटी चेक (data integrity check)
डाटा इंटीग्रिटी चेक हैश फंक्शन का सबसे ज्यादा प्रयोग में लाया जाने वाला एप्लीकेशन है। इसका प्रयोग डाटा फाइल्स के चेकसम को generate करने के लिए किया जाता है। ये एप्लीकेशन यूजर को डाटा के सही होने की बात बतलाता है।
इस प्रक्रिया को आप निम्न चित्र के माध्यम से समझ सकते हैं−
इंटीग्रिटी चेक यूजर को फाइल में हुए कोई भी बदलाव, एडिट या मॉडिफिकेशन के बारे में बतला देता है। हाँ, ये फाइल के ओरिजिनालिटी के बारे में कोई गारंटी नहीं देता।
अटैकर डाटा को मॉडिफाई करने की जगह, पूरे फाइल को ही बदल सकता है और पूरे नये हैश को कंप्यूट कर के यूजर को भेज सकता है। इसीलिए इस एप्लीकेशन का काम तभी है जब यूजर अपने फाइल कि ओरिजिनालिटी को लेकर निश्चिंत हो।
कुछ पसिद्ध हैश फंक्शन हैं:
- मैसेज डाइजेस्ट (MD)
- RIPEMD
- सिक्योर हैश फंक्शन (SHF)
- व्हर्लपूल
इस लेख से सम्बंधित यदि आपका कोई भी सवाल या सुझाव है, तो आप उसे नीचे कमेंट में लिख सकते हैं।
hi,
you tried best . but still it seems difficult. i am not from computer field and if this is the reason , i sense it difficult to understand, then kindly ignore. otherwise i request you to consider my view.