हैश कल्लिसिओं

कंप्यूटर विज्ञान में, हैश संघट्‍टन या हैश संघट्‍टन यह तब होता है जब हैश तालिका में डेटा के दो टुकड़े समान हैश मान साझा करते हैं। इस स्थिति में हैश मान एक हैश फंकशन से प्राप्त होता है जो डेटा इनपुट लेता है और बिट्स की एक निश्चित लंबाई लौटाता है। चूँकि हैश एल्गोरिदम संघट्‍टन प्रतिरोध के आशय से बनाए गए हैं, फिर भी वे कभी-कभी एक ही हैश में अलग-अलग डेटा को मैप कर सकते हैं (पिजनहोल सिद्धांत के आधार पर) दुर्भावनापूर्ण उपयोगकर्ता इसका लाभ उठाकर डेटा की प्रतिलिपि कर सकते हैं, उस तक पहुंच बना सकते हैं या उसमें बदलाव कर सकते हैं।

डेटा प्रबंधन और कंप्यूटर सुरक्षा (विशेष रूप से, क्रिप्टोग्राफ़िक हैश फ़ंक्शन) में हैश संघट्‍टन के संभावित ऋणात्मक अनुप्रयोगों के कारण, संघट्‍टन से बचाव कंप्यूटर सुरक्षा में एक महत्वपूर्ण विषय बन गया है।

पृष्ठभूमि
किसी सेट में ऑब्जेक्ट की संख्या के आधार पर हैश संघट्‍टन अपरिहार्य हो सकता है और जिस बिट स्ट्रिंग पर उन्हें मैप किया गया है वह लंबाई में अधिक लंबी है या नहीं है जब n वस्तुओं का एक सेट होता है, यदि n |R| से बड़ा है, जो इस स्थिति में R हैश मान की सीमा है, तो हैश संघट्‍टन होने की संभावना 1 है, जिसका अर्थ है कि ऐसा होने की आश्वासन देता है।

किसी समय में हैश संघट्‍टन की संभावना का एक अन्य कारण गणित में उत्पत्ति विरोधाभास के विचार से उत्पन्न होता है। यह समस्या n संख्या वाले लोगों में से यादृच्छिक रूप से चुने गए दो लोगों के समूह का उत्पत्ति समान होने की संभावना को देखती है। इस विचार के कारण ही उत्पत्ति का हमला कहा गया है। इस हमले का आधार यह है कि ऐसा उत्पत्ति खोजना कठिन है जो विशेष रूप से आपके उत्पत्ति या किसी विशिष्ट उत्पत्ति से मेल खाता हो, किंतु मेल खाने वाले उत्पत्ति वाले किन्हीं दो लोगों का एक सेट खोजने की संभावना बहुत बढ़ जाती है। ख़राब अभिनेता इस दृष्टिकोण का उपयोग करके किसी विशिष्ट मान की खोज करने के अतिरिक्त किसी अन्य हैश मान से टकराने वाले हैश मानों को खोजना आसान बना सकते हैं।

संघट्‍टन का प्रभाव अनुप्रयोग पर निर्भर करता है। जब हैश फ़ंक्शंस और फ़िंगरप्रिंट का उपयोग समान डेटा की पहचान करने के लिए किया जाता है, जैसे कि होमोलॉजी (जीव विज्ञान) डीएनए अनुक्रम या समान ऑडियो फ़ाइलें, तो फ़ंक्शंस को स्थानीय-संवेदनशील हैशिंग जैसी तकनीकों का उपयोग करके अलग-अलग किंतु समान डेटा के बीच संघट्‍टन की संभावना को अधिकतम करने के लिए डिज़ाइन किया गया है।. दूसरी ओर अंततः, को बहुत अलग इनपुट के बीच संघट्‍टन की परवाह किए बिना, समान इनपुट के बीच संघट्‍टन की संभावना को कम करने के लिए डिज़ाइन किया गया है। ऐसे उदाहरण जहां बुरे अभिनेता हैश संघट्‍टन बनाने या खोजने का प्रयास करते हैं उन्हें संघट्‍टन हमले के रूप में जाना जाता है।

वास्तव में, सुरक्षा-संबंधित एप्लिकेशन क्रिप्टोग्राफ़िक हैश एल्गोरिदम का उपयोग करते हैं, जो इतने लंबे होते हैं कि यादृच्छिक मिलान की संभावना नहीं होती है, इतना तेज़ होता है कि उन्हें कहीं भी उपयोग किया जा सकता है, और इतना सुरक्षित होता है कि संघट्‍टन खोजना अधिक कठिन होता है।

घटित होने की प्रायिकता
हैश संघट्‍टन संयोग से हो सकता है और कई हैश एल्गोरिदम के लिए जानबूझकर बनाया जा सकता है। इस प्रकार हैश संघट्‍टन की संभावना एल्गोरिदम के आकार, हैश मानों के वितरण पर निर्भर करती है, और यह विशिष्ट संघट्‍टन बनाने के लिए गणितीय रूप से ज्ञात और कम्प्यूटेशनल रूप से व्यवहार्य है या नहीं है।

निम्नलिखित हैश एल्गोरिदम को ध्यान में रखें - सीआरसी-32, एमडी5, और एसएचए-1 ये संघट्‍टन के जटिल कार्यो के विभिन्न स्तरों के साथ सामान्य हैश एल्गोरिदम हैं।

सीआरसी-32
सीआरसी-32 में हैश संघट्‍टन का सबसे अधिक जटिल है। यह हैश फ़ंक्शन समान्यत: उपयोग के लिए अनुशंसित नहीं है। यदि किसी हब में 77,163 हैश मान हों, तो हैश संघट्‍टन होने की संभावना 50% है, जो अन्य विधियों की तुलना में बहुत अधिक है।

एमडी5
एमडी5 सबसे अधिक उपयोग किया जाता है और जब अन्य दो हैश फ़ंक्शंस की तुलना की जाती है, तो यह हैश संघट्‍टन जटिल के स्थिति में मध्य मार्ग का प्रतिनिधित्व करता है। हैश संघट्‍टन होने की 50% संभावना प्राप्त करने के लिए, हब में 5.06 बिलियन से अधिक रिकॉर्ड होने चाहिए।

एसएचए-1
एसएचए-1 हैश संघट्‍टन के लिए सबसे कम जटिल प्रदान करता है। एसएचए-1 फ़ंक्शन के लिए हैश संघट्‍टन होने की 50% संभावना के लिए, हब में 1.42 × 10$24$ रिकॉर्ड होने चाहिए। ध्यान दें, इन उदाहरणों में उल्लिखित रिकॉर्ड की संख्या एक ही हब में होनी चाहिए।

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

संघट्‍टन समाधान
चूँकि हैश संघट्‍टन अपरिहार्य हैं, हैश तालिकाओं में उनसे निपटने के तंत्र होते हैं, जिन्हें संघट्‍टन समाधान के रूप में जाना जाता है। सबसे समान्य रणनीतियों में से दो हैं विवर्त संबोधन और अलग चेनिंग कैश-सचेत संघट्‍टन रिज़ॉल्यूशन एक और रणनीति है जिस पर स्ट्रिंग हैश तालिकाओं के लिए अतीत में चर्चा की गई है।



विवर्त संबोधन
हैश तालिका में कोशिकाओं को इस विधि में तीन स्थितियों में से एक सौंपा गया है - अधिकृत कर लिया गया है, जो की रिक्त किया गया है, या फिर हटा दिया गया है। यदि हैश संघट्‍टन होता है, तो रिकॉर्ड को एक वैकल्पिक सेल में ले जाने के लिए तालिका की जांच की जाएगी जिसे रिक्त बताया गया है। जब हैश संघट्‍टन होता है तो विभिन्न प्रकार की जांच होती है और इस पद्धति को प्रयुक्त किया जाता है। जांच के कुछ प्रकार रैखिक जांच, डबल हैशिंग और द्विघात जांच हैं। ओपन एड्रेसिंग को क्लोज्ड हैशिंग के नाम से भी जाना जाता है।

अलग शृंखला
यह रणनीति हैश तालिका की सेल में एक से अधिक रिकॉर्ड को जोड़ने की अनुमति देती है। यदि दो रिकॉर्ड एक ही सेल में निर्देशित किए जा रहे हैं, तो दोनों एक लिंक्ड सूची के रूप में उस सेल में जाएंगे। यह कुशलतापूर्वक हैश संघट्‍टन को होने से रोकता है क्योंकि समान हैश मान वाले रिकॉर्ड एक ही सेल में जा सकते हैं, किंतु इसके अपने हानि हैं। इतनी सारी सूचियों पर नज़र रखना कठिन है और जो भी उपकरण उपयोग किया जा रहा है वह बहुत धीमा हो सकता है। अलग चेनिंग को ओपन हैशिंग के रूप में भी जाना जाता है।

कैश-सचेत संघट्‍टन संकल्प
चूँकि पिछले दो की तुलना में बहुत कम उपयोग किया गया है, अस्किटिस और ज़ोबेल (2005) ने 2005 में कैश (कंप्यूटिंग)-सचेत संघट्‍टन समाधान विधि प्रस्तावित की है। यह अलग-अलग श्रृंखलाबद्ध विधियों के समान विचार है, चूँकि इसमें तकनीकी रूप से श्रृंखलाबद्ध सूचियाँ सम्मिलित नहीं हैं। इस स्थिति में, श्रृंखलाबद्ध सूचियों के अतिरिक्त, हैश मानों को वस्तुओं की एक सन्निहित सूची में दर्शाया जाता है। यह स्ट्रिंग हैश तालिकाओं के लिए उत्तम उपयुक्त है और संख्यात्मक मानों के लिए उपयोग अभी भी अज्ञात है।

यह भी देखें

 * हैश फ़ंक्शंस की सूची
 * यूनिवर्सल वन-वे हैश फ़ंक्शन
 * क्रिप्टोग्राफी
 * यूनिवर्सल हैशिंग
 * उत्तम हैश फ़ंक्शन