कोलाइसन अटैक

क्रिप्टोग्राफी में, क्रिप्टोग्राफ़िक हैश पर टकराव का हमला समान हैश मान उत्पन्न करने वाले दो इनपुट को खोजने की कोशिश करता है, यानी हैश टकराव। यह प्रीइमेज हमले के विपरीत है जहां एक विशिष्ट लक्ष्य हैश मान निर्दिष्ट किया जाता है।

टकराव के हमले मोटे तौर पर दो प्रकार के होते हैं: आम तौर पर अधिक:
 * शास्त्रीय टकराव का हमला: दो अलग-अलग संदेश एम ढूंढें1 और एम2 ऐसा है कि हैश(एम1) = हैश(एम2).
 * चुना-उपसर्ग टकराव हमला: दो अलग-अलग उपसर्ग दिए गए पी1 और पी2, दो उपांग खोजें एम1 और एम2 ऐसे कि हैश(p1 ∥ एम1) = हैश(पी2 ∥ एम2), जहां ∥ संघनन संक्रिया को दर्शाता है।

शास्त्रीय टक्कर आक्रमण
गणितीय रूप से कहा गया है, एक टकराव के हमले में दो अलग-अलग संदेश एम 1 और एम 2 मिलते हैं, जैसे कि हैश (एम 1) = हैश (एम 2)। शास्त्रीय टकराव के हमले में, हमलावर का किसी भी संदेश की सामग्री पर कोई नियंत्रण नहीं होता है, लेकिन उन्हें एल्गोरिदम द्वारा मनमाने ढंग से चुना जाता है।

जैसे सममित-कुंजी सिफर क्रूर बल के हमलों के प्रति संवेदनशील होते हैं, वैसे ही प्रत्येक क्रिप्टोग्राफ़िक हैश फ़ंक्शन जन्मदिन के हमले का उपयोग करके टकराव के लिए स्वाभाविक रूप से असुरक्षित होता है। जन्मदिन की समस्या के कारण, ये हमले किसी क्रूर बल की तुलना में कहीं अधिक तेज़ होते हैं। n बिट्स का एक हैश 2 में तोड़ा जा सकता हैn/2 समय चरण (हैश फ़ंक्शन का मूल्यांकन)।

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

हालाँकि, कई प्रारूपों में मौजूद गतिशील संरचनाओं का दुरुपयोग करके समाधान संभव है। इस तरह, दो दस्तावेज़ बनाए जाएंगे जो समान हैश मान रखने के लिए यथासंभव समान होंगे। एक दस्तावेज़ पर हस्ताक्षर करने के लिए प्राधिकारी को दिखाया जाएगा, और फिर हस्ताक्षर को दूसरी फ़ाइल में कॉपी किया जा सकता है। ऐसे दुर्भावनापूर्ण दस्तावेज़ में एक ही दस्तावेज़ में दो अलग-अलग संदेश होंगे, लेकिन फ़ाइल में सूक्ष्म परिवर्तनों के माध्यम से सशर्त रूप से एक या दूसरे को प्रदर्शित किया जाएगा:


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

चुना-उपसर्ग टकराव हमला
टकराव हमले का एक विस्तार चुना-उपसर्ग टकराव हमला है, जो मर्कले-डैमगार्ड निर्माण के लिए विशिष्ट है|मर्कल-डैमगार्ड हैश फ़ंक्शन। इस मामले में, हमलावर दो मनमाने ढंग से अलग-अलग दस्तावेज़ चुन सकता है, और फिर अलग-अलग गणना किए गए मान जोड़ सकता है जिसके परिणामस्वरूप पूरे दस्तावेज़ में एक समान हैश मान होता है। यह हमला क्लासिकल टक्कर हमले से कहीं अधिक शक्तिशाली है।

गणितीय रूप से कहा गया है, दो अलग-अलग उपसर्ग दिए गए हैं1, पी2, हमले में दो उपांग मिलते हैं एम1 और एम2 ऐसे कि हैश(p1 ∥ एम1) = हैश(पी2 ∥ एम2) (जहाँ ∥ संघनन संक्रिया है)।

2007 में, एमडी5 के विरुद्ध एक चयनित-उपसर्ग टकराव हमला पाया गया, जिसके लिए लगभग 2 की आवश्यकता थीMD5 फ़ंक्शन के 50मूल्यांकन। पेपर अलग-अलग डोमेन नामों के लिए टकराते हैश मानों के साथ दो X.509 प्रमाणपत्र भी प्रदर्शित करता है। इसका मतलब यह है कि एक प्रमाणपत्र प्राधिकारी को एक डोमेन के लिए प्रमाणपत्र पर हस्ताक्षर करने के लिए कहा जा सकता है, और फिर उस प्रमाणपत्र (विशेष रूप से उसके हस्ताक्षर) का उपयोग किसी अन्य डोमेन का प्रतिरूपण करने के लिए एक नया दुष्ट प्रमाणपत्र बनाने के लिए किया जा सकता है। एक वास्तविक दुनिया टकराव का हमला दिसंबर 2008 में प्रकाशित हुआ था जब सुरक्षा शोधकर्ताओं के एक समूह ने एक जाली X.509 हस्ताक्षर प्रमाणपत्र प्रकाशित किया था जिसका उपयोग एमडी 5 हैश फ़ंक्शन के खिलाफ उपसर्ग टकराव हमले का लाभ उठाते हुए, प्रमाणपत्र प्राधिकारी का प्रतिरूपण करने के लिए किया जा सकता था। इसका मतलब यह था कि एक हमलावर किसी भी परिवहन परत सुरक्षा -सुरक्षित वेबसाइट को मध्य-पुरुष के रूप में प्रस्तुत कर सकता है, जिससे इलेक्ट्रॉनिक कॉमर्स की सुरक्षा के लिए प्रत्येक वेब ब्राउज़र में निर्मित प्रमाणपत्र सत्यापन को नष्ट कर दिया जा सकता है। गलत प्रमाणपत्र वास्तविक अधिकारियों द्वारा रद्द नहीं किया जा सकता है, और इसमें मनमाने ढंग से जाली समाप्ति समय भी हो सकता है। हालाँकि 2004 में MD5 को बहुत कमज़ोर माना जाता था, प्रमाणपत्र प्राधिकारी अभी भी दिसंबर 2008 में MD5-सत्यापित प्रमाणपत्रों पर हस्ताक्षर करने के इच्छुक थे, और कम से कम एक Microsoft कोड-हस्ताक्षर प्रमाणपत्र मई 2012 में अभी भी MD5 का उपयोग कर रहा था।

फ़्लेम (मैलवेयर) मैलवेयर ने Microsoft रूट प्रमाणपत्र द्वारा अपने घटकों के कोड हस्ताक्षर को धोखा देने के लिए चुने हुए-उपसर्ग टकराव हमले के एक नए संस्करण का सफलतापूर्वक उपयोग किया जो अभी भी समझौता किए गए MD5 एल्गोरिदम का उपयोग करता है। 2019 में, शोधकर्ताओं ने 2 के बीच कंप्यूटिंग जटिलता के साथ SHA-1 के खिलाफ एक चुना-उपसर्ग टकराव हमला पाया66.9और 269.4और लागत 100,000 अमेरिकी डॉलर से कम। 2020 में, शोधकर्ताओं ने SHA-1 के विरुद्ध चुने गए-उपसर्ग टकराव हमले की जटिलता को कम करके 2 कर दिया63.4.

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

डिजिटल हस्ताक्षर
क्योंकि डिजिटल हस्ताक्षर एल्गोरिदम बड़ी मात्रा में डेटा पर कुशलतापूर्वक हस्ताक्षर नहीं कर सकते हैं, अधिकांश कार्यान्वयन डेटा की मात्रा को कम करने (संपीड़ित) करने के लिए हैश फ़ंक्शन का उपयोग करते हैं जिन्हें निरंतर आकार में साइन डाउन करने की आवश्यकता होती है। जैसे ही अंतर्निहित हैश फ़ंक्शन व्यावहारिक रूप से टूट जाता है, डिजिटल हस्ताक्षर योजनाएं अक्सर हैश टकराव के प्रति संवेदनशील हो जाती हैं; यादृच्छिक (नमकीन) हैशिंग जैसी तकनीकें कठिन प्रीइमेज हमले की आवश्यकता के कारण अतिरिक्त समय खरीद लेंगी। सामान्य आक्रमण परिदृश्य इस प्रकार होता है:
 * 1) मैलोरी दो अलग-अलग दस्तावेज़ A और B बनाता है जिनका हैश मान समान होता है, यानी टकराव। मैलोरी बॉब को दस्तावेज़ बी स्वीकार करने के लिए धोखा देना चाहता है, जाहिर तौर पर ऐलिस से।
 * 2) मैलोरी दस्तावेज़ ए को ऐलिस को भेजता है, जो दस्तावेज़ में कही गई बातों से सहमत होती है, उसके हैश पर हस्ताक्षर करती है, और मैलोरी को हस्ताक्षर भेजती है।
 * 3) मैलोरी दस्तावेज़ ए से दस्तावेज़ बी में हस्ताक्षर जोड़ता है।
 * 4) मैलोरी फिर बॉब को हस्ताक्षर और दस्तावेज़ बी भेजता है, यह दावा करते हुए कि ऐलिस ने बी पर हस्ताक्षर किए हैं। क्योंकि डिजिटल हस्ताक्षर दस्तावेज़ बी के हैश से मेल खाता है, बॉब का सॉफ़्टवेयर प्रतिस्थापन का पता लगाने में असमर्थ है।

2008 में, शोधकर्ताओं ने इस परिदृश्य का उपयोग करते हुए, एक दुष्ट प्रमाणपत्र प्राधिकरण प्रमाणपत्र तैयार करने के लिए, एमडी5 के विरुद्ध एक चुने हुए-उपसर्ग टकराव हमले का उपयोग किया। उन्होंने ट्रांसपोर्ट लेयर सिक्योरिटी सार्वजनिक कुंजी प्रमाणपत्र के दो संस्करण बनाए, जिनमें से एक वैध प्रतीत हुआ और रैपिडएसएसएल प्रमाणपत्र प्राधिकरण द्वारा हस्ताक्षर करने के लिए प्रस्तुत किया गया। दूसरे संस्करण में, जिसमें समान MD5 हैश था, इसमें झंडे शामिल थे जो वेब ब्राउज़र को मनमाने ढंग से अन्य प्रमाणपत्र जारी करने के लिए इसे वैध प्राधिकारी के रूप में स्वीकार करने का संकेत देते थे।

हैश फ्लडिंग
हैश फ्लडिंग (जिसे HashDoS के नाम से भी जाना जाता है ) सेवा हमले से इनकार है जो हैश तालिका  लुकअप के सबसे खराब स्थिति (रैखिक जांच) रनटाइम का फायदा उठाने के लिए हैश टकराव का उपयोग करता है। इसे मूल रूप से 2003 में वर्णित किया गया था। इस तरह के हमले को अंजाम देने के लिए, हमलावर सर्वर को डेटा के कई टुकड़े भेजता है जो समान मूल्य पर हैश होता है और फिर सर्वर को धीमी गति से लुकअप करने का प्रयास करता है। चूंकि हैश तालिकाओं में उपयोग किए जाने वाले हैश फ़ंक्शन का मुख्य फोकस सुरक्षा के बजाय गति पर था, इसलिए अधिकांश प्रमुख प्रोग्रामिंग भाषाएं प्रभावित हुईं, इस वर्ग की नई कमजोरियाँ मूल प्रस्तुति के एक दशक बाद भी दिखाई दे रही हैं।

हैश फ़ंक्शन को अत्यधिक जटिल बनाए बिना हैश बाढ़ को रोकने के लिए, नए कुंजी वाले हैश फ़ंक्शन पेश किए गए हैं, सुरक्षा उद्देश्य के साथ जब तक कुंजी अज्ञात है तब तक टकराव ढूंढना मुश्किल है। वे पिछले हैश की तुलना में धीमे हो सकते हैं, लेकिन क्रिप्टोग्राफ़िक हैश की तुलना में गणना करना अभी भी बहुत आसान है। 2021 तक, डेनियल जे. बर्नस्टीन का सिपहैश (2012) इस वर्ग में सबसे व्यापक रूप से उपयोग किया जाने वाला हैश फ़ंक्शन है। (गैर-कुंजी वाले सरल हैश तब तक उपयोग के लिए सुरक्षित रहते हैं जब तक एप्लिकेशन की हैश तालिका बाहर से नियंत्रित नहीं होती है।)

(आंशिक) प्रीइमेज हमले का उपयोग करके ब्लूम फिल्टर को भरने के लिए एक समान हमला करना संभव है।

बाहरी संबंध

 * "Meaningful Collisions", attack scenarios for exploiting cryptographic hash collisions
 * Fast MD5 and MD4 Collision Generators - Bishop Fox (formerly Stach & Liu). Create MD4 and MD5 hash collisions using groundbreaking new code that improves upon the techniques originally developed by Xiaoyun Wang.  Using a 1.6 GHz Pentium 4, MD5 collisions can be generated in an average of 45 minutes, and MD4 collisions can be generated in an average of 5 seconds. Originally released on 22Jun2006.