एमडी5: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 26: Line 26:
एमडी5 का उपयोग अनजाने में भ्रष्टाचार के विरुद्ध [[डेटा अखंडता]] को सत्यापित करने के लिए [[चेकसम]] के रूप में किया जा सकता है। ऐतिहासिक रूप से इसका व्यापक रूप से एक [[क्रिप्टोग्राफिक हैश फ़ंक्शन]] के रूप में उपयोग किया जाता था; यद्यपि, यह व्यापक कमजोरियों से पीड़ित पाया गया है। यह अन्य गैर-क्रिप्टोग्राफ़िक उद्देश्यों के लिए उपयुक्त रहता है, उदाहरण के लिए एक [[विभाजित डेटाबेस]] में एक विशेष कुंजी के लिए विभाजन निर्धारित करने के लिए, और हाल ही में [[सुरक्षित हैश एल्गोरिदम की]] तुलना में कम कम्प्यूटेशनल आवश्यकताओं के कारण पसंद किया जा सकता है।<ref>{{cite book |last1=Kleppmann |first1=Martin |title=Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems |date=April 2, 2017 |publisher=O'Reilly Media |isbn=978-1449373320 |page=203 |edition=1}}</ref>
एमडी5 का उपयोग अनजाने में भ्रष्टाचार के विरुद्ध [[डेटा अखंडता]] को सत्यापित करने के लिए [[चेकसम]] के रूप में किया जा सकता है। ऐतिहासिक रूप से इसका व्यापक रूप से एक [[क्रिप्टोग्राफिक हैश फ़ंक्शन]] के रूप में उपयोग किया जाता था; यद्यपि, यह व्यापक कमजोरियों से पीड़ित पाया गया है। यह अन्य गैर-क्रिप्टोग्राफ़िक उद्देश्यों के लिए उपयुक्त रहता है, उदाहरण के लिए एक [[विभाजित डेटाबेस]] में एक विशेष कुंजी के लिए विभाजन निर्धारित करने के लिए, और हाल ही में [[सुरक्षित हैश एल्गोरिदम की]] तुलना में कम कम्प्यूटेशनल आवश्यकताओं के कारण पसंद किया जा सकता है।<ref>{{cite book |last1=Kleppmann |first1=Martin |title=Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems |date=April 2, 2017 |publisher=O'Reilly Media |isbn=978-1449373320 |page=203 |edition=1}}</ref>
== इतिहास और क्रिप्टएनलिसिस ==
== इतिहास और क्रिप्टएनलिसिस ==
एमडी5 [[एमआईटी]] के प्रोफेसर [[रोनाल्ड रिवेस्ट]] (रिवेस्ट, 1992) द्वारा डिज़ाइन किए गए संदेश डाइजेस्ट एल्गोरिदम की श्रृंखला में से एक है। जब विश्लेषणात्मक कार्य ने संकेत दिया कि एमडी5 के पूर्ववर्ती [[एमडी4]] के असुरक्षित होने की संभावना थी, तो रिवेस्ट ने 1991 में एमडी5 को एक सुरक्षित प्रतिस्थापन के रूप में डिजाइन किया। ([[हंस डोबबर्टिन]] ने वास्तव में बाद में एमडी4 में कमजोरियों का पता लगाया।)
एमडी5 [[एमआईटी]] के प्रोफेसर [[रोनाल्ड रिवेस्ट]] (रिवेस्ट, 1992) द्वारा डिज़ाइन किए गए संदेश डाइजेस्ट एल्गोरिदम की श्रृंखला में से एक है। जब विश्लेषणात्मक कार्य ने संकेत दिया कि एमडी5 के पूर्ववर्ती [[एमडी4]] के असुरक्षित होने की संभावना थी, तो रिवेस्ट ने 1991 में एमडी5 को एक सुरक्षित प्रतिस्थापन के रूप में डिजाइन किया। ([[हंस डोबबर्टिन]] ने वास्तव में बाद में एमडी4 में कमजोरियों का पता लगाया )


1993 में, डेन बोअर और बॉसेलर्स ने एमडी5 [[संपीड़न फ़ंक्शन]] के "[[छद्म-टकराव]]" को खोजने का एक प्रारंभिक, यद्यपि सीमित, परिणाम दिया; यानी, दो अलग-अलग [[इनिशियलाइज़ेशन वैक्टर]] जो एक समान डाइजेस्ट उत्पन्न करते हैं।
1993 में, डेन बोअर और बॉसेलर्स ने एमडी5 [[संपीड़न फ़ंक्शन]] के "[[छद्म-टकराव]]" को खोजने का एक प्रारंभिक, यद्यपि सीमित, परिणाम दिया; यानी, दो अलग-अलग [[इनिशियलाइज़ेशन वैक्टर]] जो एक समान डाइजेस्ट उत्पन्न करते हैं।
Line 59: Line 59:
</ref>
</ref>
== सुरक्षा ==
== सुरक्षा ==
किसी भी क्रिप्टोग्राफिक हैश फ़ंक्शन की एक बुनियादी आवश्यकता यह है कि एक ही मूल्य पर हैश करने वाले दो अलग-अलग संदेशों को ढूंढना कम्प्यूटेशनल रूप से अव्यवहार्य होना चाहिए। एमडी5 इस आवश्यकता को भयावह रूप से विफल करता है; इस तरह के [[टक्कर प्रतिरोध]] को एक साधारण घरेलू कंप्यूटर पर सेकंडों में पाया जा सकता है। 31 दिसंबर 2008 को, सीएमयू सॉफ्टवेयर इंजीनियरिंग संस्थान ने निष्कर्ष निकाला कि एमडी5 अनिवार्य रूप से क्रिप्टोग्राफिक रूप से टूटा हुआ था और आगे के उपयोग के लिए अनुपयुक्त था।<ref>{{cite web|last1=Chad R|first1=Dougherty|title=Vulnerability Note VU#836068 MD5 vulnerable to collision attacks|url=https://www.kb.cert.org/vuls/id/836068|website=Vulnerability notes database|publisher=CERT Carnegie Mellon University Software Engineering Institute|access-date=3 February 2017|date=31 Dec 2008}}</ref> एमडी5 की कमजोरियों का क्षेत्र में शोषण किया गया है, सबसे कुख्यात रूप से 2012 में [[फ्लेम मैलवेयर]] द्वारा। 2019 तक, सुरक्षा विशेषज्ञों द्वारा इसकी अच्छी तरह से प्रलेखित कमजोरियों और मूल्यह्रास के बावजूद, एमडी5 का व्यापक रूप से उपयोग किया जाना जारी है।<ref name=Cimpanu2019/>
किसी भी क्रिप्टोग्राफिक हैश फ़ंक्शन की एक बुनियादी आवश्यकता यह है कि एक ही मूल्य पर हैश करने वाले दो अलग-अलग संदेशों को ढूंढना कम्प्यूटेशनल रूप से अव्यवहार्य होना चाहिए। एमडी5 इस आवश्यकता को भयावह रूप से विफल करता है, इस तरह के [[टक्कर प्रतिरोध]] को एक साधारण घरेलू कंप्यूटर पर सेकंडों में पाया जा सकता है। 31 दिसंबर 2008 को, सीएमयू सॉफ्टवेयर इंजीनियरिंग संस्थान ने निष्कर्ष निकाला कि एमडी5 अनिवार्य रूप से क्रिप्टोग्राफिक रूप से टूटा हुआ था और आगे के उपयोग के लिए अनुपयुक्त था।<ref>{{cite web|last1=Chad R|first1=Dougherty|title=Vulnerability Note VU#836068 MD5 vulnerable to collision attacks|url=https://www.kb.cert.org/vuls/id/836068|website=Vulnerability notes database|publisher=CERT Carnegie Mellon University Software Engineering Institute|access-date=3 February 2017|date=31 Dec 2008}}</ref> एमडी5 की कमजोरियों का क्षेत्र में शोषण किया गया है, सबसे कुख्यात रूप से 2012 में [[फ्लेम मैलवेयर]] द्वारा। 2019 तक, सुरक्षा विशेषज्ञों द्वारा इसकी अच्छी तरह से प्रलेखित कमजोरियों और मूल्यह्रास के बावजूद, एमडी5 का व्यापक रूप से उपयोग किया जाना जारी है।<ref name=Cimpanu2019/>


एमडी5 हैश फ़ंक्शन की सुरक्षा से गंभीर रूप से समझौता किया गया है। एक टकराव का हमला मौजूद है जो 2.6 GHz पेंटियम 4 प्रोसेसर (224.1 की जटिलता) वाले कंप्यूटर पर सेकंड के भीतर टकराव का पता लगा सकता है<sup>24.1</sup>)।<ref>{{Cite thesis |degree=Master's |author=M.M.J. Stevens |date = June 2007|title=On Collisions for MD5 |url=http://www.win.tue.nl/hashclash/On%20Collisions%20for%20MD5%20-%20M.M.J.%20Stevens.pdf }}</ref> इसके अलावा, एक [[चयनित-उपसर्ग टक्कर हमला]] भी है जो ऑफ-द-शेल्फ कंप्यूटिंग हार्डवेयर (जटिलता 239) का उपयोग करके सेकंड के भीतर निर्दिष्ट उपसर्गों के साथ दो इनपुट के लिए टक्कर उत्पन्न कर सकता है<sup>39</sup>).<ref>{{Cite web |author1=Marc Stevens |author2=Arjen Lenstra |author3=Benne de Weger |date=16 June 2009 |title=Chosen-prefix Collisions for MD5 and Applications |website=École Polytechnique Fédérale de Lausanne |url=https://documents.epfl.ch/users/l/le/lenstra/public/papers/lat.pdf |access-date=31 March 2010 |archive-url=https://web.archive.org/web/20111109092157/https://documents.epfl.ch/users/l/le/lenstra/public/papers/lat.pdf |archive-date=9 November 2011 }}</ref> ऑफ-द-शेल्फ [[ ग्राफ़िक्स प्रोसेसिंग युनिट ]] के उपयोग से टक्करों को खोजने की क्षमता में काफी मदद मिली है। एक एनवीडिया जीफोर्स 8800GS ग्राफ़िक्स प्रोसेसर पर, प्रति सेकंड 16-18 मिलियन हैश की गणना की जा सकती है। एक एनवीडिया जीफोर्स 8800 अल्ट्रा प्रति सेकंड 200 मिलियन से अधिक हैश की गणना कर सकता है।<ref>{{cite web
एमडी5 हैश फ़ंक्शन की सुरक्षा से गंभीर रूप से समझौता किया गया है। एक टकराव का हमला मौजूद है जो 2.6 GHz पेंटियम 4 प्रोसेसर (224.1 की जटिलता) वाले कंप्यूटर पर सेकंड के भीतर टकराव का पता लगा सकता है<sup>24.1</sup>)।<ref>{{Cite thesis |degree=Master's |author=M.M.J. Stevens |date = June 2007|title=On Collisions for MD5 |url=http://www.win.tue.nl/hashclash/On%20Collisions%20for%20MD5%20-%20M.M.J.%20Stevens.pdf }}</ref> इसके अलावा, एक [[चयनित-उपसर्ग टक्कर हमला]] भी है जो ऑफ-द-शेल्फ कंप्यूटिंग हार्डवेयर (जटिलता 239) का उपयोग करके सेकंड के भीतर निर्दिष्ट उपसर्गों के साथ दो इनपुट के लिए टक्कर उत्पन्न कर सकता है<sup>39</sup>).<ref>{{Cite web |author1=Marc Stevens |author2=Arjen Lenstra |author3=Benne de Weger |date=16 June 2009 |title=Chosen-prefix Collisions for MD5 and Applications |website=École Polytechnique Fédérale de Lausanne |url=https://documents.epfl.ch/users/l/le/lenstra/public/papers/lat.pdf |access-date=31 March 2010 |archive-url=https://web.archive.org/web/20111109092157/https://documents.epfl.ch/users/l/le/lenstra/public/papers/lat.pdf |archive-date=9 November 2011 }}</ref> ऑफ-द-शेल्फ [[ ग्राफ़िक्स प्रोसेसिंग युनिट ]] के उपयोग से टक्करों को खोजने की क्षमता में काफी मदद मिली है। एक एनवीडिया जीफोर्स 8800GS ग्राफ़िक्स प्रोसेसर पर, प्रति सेकंड 16-18 मिलियन हैश की गणना की जा सकती है। एक एनवीडिया जीफोर्स 8800 अल्ट्रा प्रति सेकंड 200 मिलियन से अधिक हैश की गणना कर सकता है।<ref>{{cite web
Line 140: Line 140:
}}</ref>
}}</ref>
== अनुप्रयोग ==
== अनुप्रयोग ==
एमडी5 डाइजेस्ट का [[ सॉफ़्टवेयर ]] की दुनिया में व्यापक रूप से उपयोग किया गया है ताकि कुछ आश्वासन दिया जा सके कि स्थानांतरित फ़ाइल बरकरार है। उदाहरण के लिए, फ़ाइल सर्वर अक्सर फ़ाइलों के लिए एक पूर्व-गणना किए गए एमडी5 ([[md5sum|एमडी5sum]] के रूप में जाना जाता है) चेकसम प्रदान करते हैं, ताकि उपयोगकर्ता डाउनलोड की गई फ़ाइल के चेकसम की तुलना इससे कर सके। अधिकांश यूनिक्स-आधारित ऑपरेटिंग सिस्टम में उनके वितरण पैकेज में एमडी5 योग उपयोगिताएँ सम्मिलित हैं; Windows उपयोगकर्ता सम्मिलित [[PowerShell]] फ़ंक्शन Get-FileHash का उपयोग कर सकते हैं, एक Microsoft उपयोगिता स्थापित कर सकते हैं,<ref>{{cite web|url=https://support.microsoft.com/kb/841290/en-us |title=फ़ाइल चेकसम इंटीग्रिटी वेरिफायर यूटिलिटी की उपलब्धता और विवरण|publisher=Microsoft Support |date=17 June 2013 |access-date=10 April 2014}}</ref><ref>{{cite web|url=https://support.microsoft.com/kb/889768/en-us |title=How to compute the MD5 or SHA-1 cryptographic hash values for a file |publisher=Microsoft Support |date=23 January 2007 |access-date=10 April 2014}}</ref> या तृतीय-पक्ष एप्लिकेशन का उपयोग सकते हैं। एंड्रॉइड रोम भी इस प्रकार के चेकसम का उपयोग करते हैं।
एमडी5 डाइजेस्ट का [[ सॉफ़्टवेयर ]] की दुनिया में व्यापक रूप से उपयोग किया गया है ताकि कुछ आश्वासन दिया जा सके कि स्थानांतरित फ़ाइल बरकरार है। उदाहरण के लिए, फ़ाइल सर्वर प्रायः फ़ाइलों के लिए एक पूर्व-गणना किए गए एमडी5 ([[md5sum|एमडी5sum]] के रूप में जाना जाता है) चेकसम प्रदान करते हैं, ताकि उपयोगकर्ता डाउनलोड की गई फ़ाइल के चेकसम की तुलना इससे कर सके। अधिकांश यूनिक्स-आधारित ऑपरेटिंग सिस्टम में उनके वितरण पैकेज में एमडी5 योग उपयोगिताएँ सम्मिलित हैं; Windows उपयोगकर्ता सम्मिलित [[PowerShell]] फ़ंक्शन Get-FileHash का उपयोग कर सकते हैं, एक Microsoft उपयोगिता स्थापित कर सकते हैं,<ref>{{cite web|url=https://support.microsoft.com/kb/841290/en-us |title=फ़ाइल चेकसम इंटीग्रिटी वेरिफायर यूटिलिटी की उपलब्धता और विवरण|publisher=Microsoft Support |date=17 June 2013 |access-date=10 April 2014}}</ref><ref>{{cite web|url=https://support.microsoft.com/kb/889768/en-us |title=How to compute the MD5 or SHA-1 cryptographic hash values for a file |publisher=Microsoft Support |date=23 January 2007 |access-date=10 April 2014}}</ref> या तृतीय-पक्ष एप्लिकेशन का उपयोग सकते हैं। एंड्रॉइड रोम भी इस प्रकार के चेकसम का उपयोग करते हैं।


[[File:CPT-Hashing-File-Transmission.svg|350px|center|फ़ाइल संचरण में एमडी5 हैशिंग का उपयोग दिखाने वाला आरेख]]चूंकि एमडी5 टकराव उत्पन्न करना आसान है, फ़ाइल बनाने वाले व्यक्ति के लिए उसी चेकसम के साथ दूसरी फ़ाइल बनाना संभव है, इसलिए यह तकनीक दुर्भावनापूर्ण छेड़छाड़ के कुछ रूपों से रक्षा नहीं कर सकती है। कुछ मामलों में, चेकसम पर भरोसा नहीं किया जा सकता है (उदाहरण के लिए, यदि इसे उसी चैनल पर डाउनलोड की गई फ़ाइल के रूप में प्राप्त किया गया था), उस स्थिति में एमडी5 केवल त्रुटि-जांच की कार्यक्षमता प्रदान कर सकता है: यह एक दूषित या अपूर्ण डाउनलोड को पहचान लेगा, जो बन जाता है बड़ी फ़ाइलों को डाउनलोड करते समय अधिक संभावना।
[[File:CPT-Hashing-File-Transmission.svg|350px|center|फ़ाइल संचरण में एमडी5 हैशिंग का उपयोग दिखाने वाला आरेख]]चूंकि एमडी5 टकराव उत्पन्न करना आसान है, फ़ाइल बनाने वाले व्यक्ति के लिए उसी चेकसम के साथ दूसरी फ़ाइल बनाना संभव है, इसलिए यह तकनीक दुर्भावनापूर्ण छेड़छाड़ के कुछ रूपों से रक्षा नहीं कर सकती है। कुछ मामलों में, चेकसम पर भरोसा नहीं किया जा सकता है (उदाहरण के लिए, यदि इसे उसी चैनल पर डाउनलोड की गई फ़ाइल के रूप में प्राप्त किया गया था), उस स्थिति में एमडी5 केवल त्रुटि-जांच की कार्यक्षमता प्रदान कर सकता है: यह एक दूषित या अपूर्ण डाउनलोड को पहचान लेगा, जो बन जाता है बड़ी फ़ाइलों को डाउनलोड करते समय अधिक संभावना।


ऐतिहासिक रूप से, एमडी5 का उपयोग पासवर्ड के एक तरफ़ा हैश को संग्रहीत करने के लिए किया जाता रहा है , संग्रहीत पासवर्ड का फ़ॉर्म, अक्सर [[कुंजी खींचना]] के साथ।<ref>{{Cite web|url = https://www.freebsd.org/cgi/man.cgi?crypt(3)|title = FreeBSD Handbook, Security – DES, Blowfish, MD5, and Crypt|access-date = 2014-10-19}}</ref><ref>{{cite web|url=http://docs.oracle.com/cd/E26505_01/html/816-5174/policy.conf-4.html |title=Synopsis – man pages section 4: File Formats |publisher=Docs.oracle.com |date=1 January 2013 |access-date=10 April 2014}}</ref> पासवर्ड भंडारण के लिए अनुशंसित हैश की सूची में NIST एमडी5 को सम्मिलित नहीं करता है।<ref>[http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf NIST SP 800-132] Section 5.1</ref>
ऐतिहासिक रूप से, एमडी5 का उपयोग पासवर्ड के एक तरफ़ा हैश को संग्रहीत करने के लिए किया जाता रहा है, संग्रहीत पासवर्ड का फ़ॉर्म, प्रायः [[कुंजी खींचना]] के साथ।<ref>{{Cite web|url = https://www.freebsd.org/cgi/man.cgi?crypt(3)|title = FreeBSD Handbook, Security – DES, Blowfish, MD5, and Crypt|access-date = 2014-10-19}}</ref><ref>{{cite web|url=http://docs.oracle.com/cd/E26505_01/html/816-5174/policy.conf-4.html |title=Synopsis – man pages section 4: File Formats |publisher=Docs.oracle.com |date=1 January 2013 |access-date=10 April 2014}}</ref> पासवर्ड भंडारण के लिए अनुशंसित हैश की सूची में NIST एमडी5 को सम्मिलित नहीं करता है।<ref>[http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf NIST SP 800-132] Section 5.1</ref>


एमडी5 का उपयोग [[इलेक्ट्रॉनिक खोज]] के क्षेत्र में भी किया जाता है, कानूनी खोज प्रक्रिया के दौरान आदान-प्रदान किए जाने वाले प्रत्येक दस्तावेज़ के लिए एक विशिष्ट पहचानकर्ता प्रदान किया जा सके। इस पद्धति का उपयोग [[बेट्स नंबरिंग]] नंबरिंग सिस्टम को बदलने के लिए किया जा सकता है जिसका उपयोग कागजी दस्तावेजों के आदान-प्रदान के दौरान दशकों से किया जाता रहा है। जैसा ऊपर बताया गया है, टकराव के हमलों में आसानी के कारण इस उपयोग को हतोत्साहित किया जाना चाहिए।
एमडी5 का उपयोग [[इलेक्ट्रॉनिक खोज]] के क्षेत्र में भी किया जाता है, कानूनी खोज प्रक्रिया के दौरान आदान-प्रदान किए जाने वाले प्रत्येक दस्तावेज़ के लिए एक विशिष्ट पहचानकर्ता प्रदान किया जा सके। इस पद्धति का उपयोग [[बेट्स नंबरिंग]] नंबरिंग सिस्टम को बदलने के लिए किया जा सकता है जिसका उपयोग कागजी दस्तावेजों के आदान-प्रदान के दौरान दशकों से किया जाता रहा है। जैसा ऊपर बताया गया है, टकराव के हमलों में आसानी के कारण इस उपयोग को हतोत्साहित किया जाना चाहिए।
Line 162: Line 162:


=== स्यूडोकोड ===
=== स्यूडोकोड ===
इस एल्गोरिथम के अनुसार MD5 हैश की गणना की जाती है।<ref>{{Cite web|url=https://referencesource.microsoft.com/#System.Workflow.Runtime/MD5HashHelper.cs,5a97802b6014fccc,references|title = Reference Source}}</ref> सभी मान [[Endianness]]|little-endian में हैं।
इस एल्गोरिथम के अनुसार MD5 हैश की गणना की जाती है।<ref>{{Cite web|url=https://referencesource.microsoft.com/#System.Workflow.Runtime/MD5HashHelper.cs,5a97802b6014fccc,references|title = Reference Source}}</ref> सभी मान [[Endianness]] में हैं।


  <अवधि शैली = रंग: हरा; >// : गणना करते समय सभी चर 32 बिट अहस्ताक्षरित हैं और रैप मोडुलो 2^32 हैं
  <अवधि शैली = रंग: हरा; >// : गणना करते समय सभी चर 32 बिट अहस्ताक्षरित हैं और रैप मोडुलो 2^32 हैं
Line 254: Line 254:
  var ''char'' डाइजेस्ट [16] := a0 संलग्न b0 संलग्न c0 संलग्न d0 <अवधि शैली = रंग: हरा; >// ''(आउटपुट लिट्ल-एंडियन में है)''
  var ''char'' डाइजेस्ट [16] := a0 संलग्न b0 संलग्न c0 संलग्न d0 <अवधि शैली = रंग: हरा; >// ''(आउटपुट लिट्ल-एंडियन में है)''


दिखाए गए मूल आरएफसी 1321 से फॉर्मूलेशन के बजाय, बेहतर दक्षता के लिए निम्नलिखित का उपयोग किया जा सकता है (उपयोगी अगर असेंबली भाषा का उपयोग किया जा रहा है - अन्यथा, कंपाइलर आमतौर पर उपरोक्त कोड को अनुकूलित करेगा। चूंकि प्रत्येक गणना इन फॉर्मूलेशन में दूसरे पर निर्भर है, यह उपरोक्त विधि की तुलना में अक्सर धीमा होता है जहां nand/और समानांतर हो सकता है):
दिखाए गए मूल आरएफसी 1321 के सूत्रीकरण के बजाय, निम्नलिखित का उपयोग बेहतर दक्षता के लिए किया जा सकता है (उपयोगी है यदि असेंबली भाषा का उपयोग किया जा रहा है-अन्यथा, संकलक आम तौर पर उपरोक्त कोड को अनुकूलित करेगा। चूँकि प्रत्येक गणना इन सूत्रीकरणों में दूसरे पर निर्भर है, यह उपरोक्त विधि की तुलना में प्रायः धीमा होता है जहां nand/और को समानांतर किया जा सकता है)
  (0 ≤ i ≤ 15): F := D xor (B और (C xor D))
  (0 ≤ i ≤ 15): F := D xor (B और (C xor D))
  (16 ≤ i ≤ 31): F := C xor (D और (B xor C))
  (16 ≤ i ≤ 31): F := C xor (D और (B xor C))


== MD5 हैश ==
== MD5 हैश ==
128-बिट (16-बाइट) MD5 हैश (जिसे संदेश डाइजेस्ट भी कहा जाता है) को आमतौर पर 32 [[हेक्साडेसिमल]] अंकों के अनुक्रम के रूप में दर्शाया जाता है। निम्नलिखित एक 43-बाइट [[ASCII]] इनपुट और संबंधित MD5 हैश प्रदर्शित करता है:
128-बिट (16-बाइट) MD5 हैश (जिसे संदेश डाइजेस्ट भी कहा जाता है) को प्रायः पर 32 [[हेक्साडेसिमल]] अंकों के अनुक्रम के रूप में दर्शाया जाता है। निम्नलिखित एक 43-बाइट [[ASCII]] इनपुट और संबंधित MD5 हैश प्रदर्शित करता है:


  MD5 (त्वरित भूरी लोमड़ी आलसी कुत्ते के ऊपर कूदती है) =
  MD5 (त्वरित भूरी लोमड़ी आलसी कुत्ते के ऊपर कूदती है) =
Line 354: Line 354:




[[Category: Machine Translated Page]]
 
[[Category:Created On 11/05/2023]]-->
-->
 
[[Category:All articles with dead external links]]
[[Category:Articles with dead external links from February 2020]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Articles with permanently dead external links]]
[[Category:CS1 English-language sources (en)]]
[[Category:Citation Style 1 templates|M]]
[[Category:Collapse templates]]
[[Category:Cryptographic hash functions]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates based on the Citation/CS1 Lua module]]
[[Category:Templates generating COinS|Cite magazine]]
[[Category:Templates generating microformats]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:Use dmy dates from April 2014]]
[[Category:Webarchive template wayback links]]
[[Category:Wikipedia fully protected templates|Cite magazine]]
[[Category:Wikipedia metatemplates]]

Latest revision as of 16:19, 20 June 2023

MD5
General
DesignersRonald Rivest
First publishedApril 1992
SeriesMD2, MD4, MD5, MD6
Cipher detail
Digest sizes128 bit
Block sizes512 bit
StructureMerkle–Damgård construction
Rounds4[1]
Best public cryptanalysis
A 2013 attack by Xie Tao, Fanbao Liu, and Dengguo Feng breaks MD5 collision resistance in 218 time. This attack runs in less than a second on a regular computer.[2] MD5 is prone to length extension attacks.

एमडी5 संदेश-डाइजेस्ट एल्गोरिथम एक व्यापक रूप से उपयोग किया जाने वाला हैश फ़ंक्शन है जो 128-बिट हैश मान का उत्पादन करता है। एमडी5 को रोनाल्ड रिवेस्ट द्वारा 1991 में पहले के हैश फ़ंक्शन एमडी4, को बदलने के लिए डिज़ाइन किया गया था[3] और 1992 में आरएफसी 1321 के रूप में निर्दिष्ट किया गया था।

एमडी5 का उपयोग अनजाने में भ्रष्टाचार के विरुद्ध डेटा अखंडता को सत्यापित करने के लिए चेकसम के रूप में किया जा सकता है। ऐतिहासिक रूप से इसका व्यापक रूप से एक क्रिप्टोग्राफिक हैश फ़ंक्शन के रूप में उपयोग किया जाता था; यद्यपि, यह व्यापक कमजोरियों से पीड़ित पाया गया है। यह अन्य गैर-क्रिप्टोग्राफ़िक उद्देश्यों के लिए उपयुक्त रहता है, उदाहरण के लिए एक विभाजित डेटाबेस में एक विशेष कुंजी के लिए विभाजन निर्धारित करने के लिए, और हाल ही में सुरक्षित हैश एल्गोरिदम की तुलना में कम कम्प्यूटेशनल आवश्यकताओं के कारण पसंद किया जा सकता है।[4]

इतिहास और क्रिप्टएनलिसिस

एमडी5 एमआईटी के प्रोफेसर रोनाल्ड रिवेस्ट (रिवेस्ट, 1992) द्वारा डिज़ाइन किए गए संदेश डाइजेस्ट एल्गोरिदम की श्रृंखला में से एक है। जब विश्लेषणात्मक कार्य ने संकेत दिया कि एमडी5 के पूर्ववर्ती एमडी4 के असुरक्षित होने की संभावना थी, तो रिवेस्ट ने 1991 में एमडी5 को एक सुरक्षित प्रतिस्थापन के रूप में डिजाइन किया। (हंस डोबबर्टिन ने वास्तव में बाद में एमडी4 में कमजोरियों का पता लगाया )

1993 में, डेन बोअर और बॉसेलर्स ने एमडी5 संपीड़न फ़ंक्शन के "छद्म-टकराव" को खोजने का एक प्रारंभिक, यद्यपि सीमित, परिणाम दिया; यानी, दो अलग-अलग इनिशियलाइज़ेशन वैक्टर जो एक समान डाइजेस्ट उत्पन्न करते हैं।

1996 में, डोबबर्टिन ने एमडी5 (डॉबबर्टिन, 1996) के संपीड़न कार्य की टक्कर की घोषणा की। यद्यपि यह पूर्ण एमडी5 हैश फ़ंक्शन पर हमला नहीं था, लेकिन यह क्रिप्टोग्राफरों के लिए प्रतिस्थापन पर स्विच करने की अनुशंसा करने के लिए पर्याप्त था,जैसे कि सहअ -1 (इसके बाद से भी समझौता किया गया) या आरआईपीईएमडी-160

बर्थडे अटैक पर विचार करने के लिए हैश वैल्यू आकार (128 बिट्स) काफी छोटा है। एमडी5सीआरके मार्च 2004 में शुरू की गई एक वितरित परियोजना थी, ताकि यह प्रदर्शित किया जा सके कि जन्मदिन के हमले का उपयोग करके टकराव का पता लगाने के लिए एमडी5 व्यावहारिक रूप से असुरक्षित है।

एमडी5सीआरके 17 अगस्त 2004 के तुरंत बाद समाप्त हो गया, जब शियाओयुन वांग, डेंगगुओ फेंग, जुएजिया लाई और होंगबो यू द्वारा पूर्ण एमडी5 के लिए टकराव की घोषणा की गई थी।[5][6] उनके विश्लेषणात्मक हमले को आईबीएम पी690 क्लस्टर पर केवल एक घंटे का समय लेने की सूचना दी गई थी।[7]

1 मार्च 2005 को, आर्जेन लेन्स्ट्रा, ज़ियाओउन वांग और बेन्ने डी वेगर ने अलग-अलग सार्वजनिक कुंजियों और समान एमडी5 हैश मान के साथ दो X.509 प्रमाणपत्रों के निर्माण का प्रदर्शन किया, जो एक स्पष्ट से व्यावहारिक टकराव था।[8] निर्माण में दोनों सार्वजनिक कुंजियों के लिए निजी कुंजी सम्मिलित थी। कुछ दिनों बाद, वलसटीमिल क्लीमा ने एक बेहतर एल्गोरिथ्म का वर्णन किया, जो एक नोटबुक कंप्यूटर पर कुछ घंटों में एमडी5 टक्करों का निर्माण करने में सक्षम था।[9] 18 मार्च 2006 को, क्लिमा ने एक एल्गोरिथ्म प्रकाशित किया जो एक एकल नोटबुक कंप्यूटर पर एक मिनट के भीतर टकराव का पता लगा सकता था, एक विधि का उपयोग करके जिसे वह टनलिंग कहते हैं।[10]

विभिन्न एमडी5-संबंधित आरएफसी इरेटा विवरण प्रकाशित किए गए हैं। 2009 में, यूनाइटेड स्टेट्स साइबर कमांड ने अपने आधिकारिक प्रतीक के एक भाग के रूप में अपने मिशन स्टेटमेंट के एमडी5 हैश मान का उपयोग किया।[11]

24 दिसंबर 2010 को, ताओ शी और डेंगगुओ फेंग ने पहले प्रकाशित सिंगल-ब्लॉक (512-बिट) एमडी5 टक्कर की घोषणा की।[12] (पिछली टक्कर खोजों ने मल्टी-ब्लॉक हमलों पर भरोसा किया था।) "सुरक्षा कारणों" के लिए, शी और फेंग ने नए हमले के तरीके का खुलासा नहीं किया। उन्होंने क्रिप्टोग्राफिक समुदाय को चुनौती जारी की, 1 जनवरी 2013 से पहले एक अलग 64-बाइट टकराव के पहले खोजकर्ता को 10,000 अमेरिकी डॉलर का इनाम देने की पेशकश की गई। मार्क स्टीवंस ने चुनौती का जवाब दिया और एकल-ब्लॉक संदेशों के साथ-साथ निर्माण एल्गोरिदम और स्रोतों को प्रकाशित किया।[13]

24 दिसंबर 2010 को, ताओ झी और डेंगगुओ फेंग ने पहले प्रकाशित एकल-ब्लॉक (512-बिट) MD5 टक्कर की घोषणा की। [12] (Previous collision discoveries had relied on multi-block attacks.) "सुरक्षा कारणों" से, ज़ी और फेंग ने हमले की नई विधि का खुलासा नहीं किया। उन्होंने क्रिप्टोग्राफिक समुदाय को एक चुनौती जारी की, जिसमें 1 जनवरी 2013 से पहले एक अलग 64-बाइट टक्कर के पहले खोजकर्ता को 10,000 अमेरिकी डॉलर का इनाम देने की पेशकश की गई। मार्क स्टीवंस ने चुनौती का जवाब दिया और एकल-ब्लॉक संदेशों के साथ-साथ निर्माण एल्गोरिदम और स्रोतों को प्रकाशित किया। [13]

2011 में एक सूचनात्मक आरएफसी 6151[14] को एमडी5[15] और एचएमएसी-एमडी5 में सुरक्षा कारणों को अद्यतन करने के लिए अनुमोदित किया गया था।[16]

सुरक्षा

किसी भी क्रिप्टोग्राफिक हैश फ़ंक्शन की एक बुनियादी आवश्यकता यह है कि एक ही मूल्य पर हैश करने वाले दो अलग-अलग संदेशों को ढूंढना कम्प्यूटेशनल रूप से अव्यवहार्य होना चाहिए। एमडी5 इस आवश्यकता को भयावह रूप से विफल करता है, इस तरह के टक्कर प्रतिरोध को एक साधारण घरेलू कंप्यूटर पर सेकंडों में पाया जा सकता है। 31 दिसंबर 2008 को, सीएमयू सॉफ्टवेयर इंजीनियरिंग संस्थान ने निष्कर्ष निकाला कि एमडी5 अनिवार्य रूप से क्रिप्टोग्राफिक रूप से टूटा हुआ था और आगे के उपयोग के लिए अनुपयुक्त था।[17] एमडी5 की कमजोरियों का क्षेत्र में शोषण किया गया है, सबसे कुख्यात रूप से 2012 में फ्लेम मैलवेयर द्वारा। 2019 तक, सुरक्षा विशेषज्ञों द्वारा इसकी अच्छी तरह से प्रलेखित कमजोरियों और मूल्यह्रास के बावजूद, एमडी5 का व्यापक रूप से उपयोग किया जाना जारी है।[18]

एमडी5 हैश फ़ंक्शन की सुरक्षा से गंभीर रूप से समझौता किया गया है। एक टकराव का हमला मौजूद है जो 2.6 GHz पेंटियम 4 प्रोसेसर (224.1 की जटिलता) वाले कंप्यूटर पर सेकंड के भीतर टकराव का पता लगा सकता है24.1)।[19] इसके अलावा, एक चयनित-उपसर्ग टक्कर हमला भी है जो ऑफ-द-शेल्फ कंप्यूटिंग हार्डवेयर (जटिलता 239) का उपयोग करके सेकंड के भीतर निर्दिष्ट उपसर्गों के साथ दो इनपुट के लिए टक्कर उत्पन्न कर सकता है39).[20] ऑफ-द-शेल्फ ग्राफ़िक्स प्रोसेसिंग युनिट के उपयोग से टक्करों को खोजने की क्षमता में काफी मदद मिली है। एक एनवीडिया जीफोर्स 8800GS ग्राफ़िक्स प्रोसेसर पर, प्रति सेकंड 16-18 मिलियन हैश की गणना की जा सकती है। एक एनवीडिया जीफोर्स 8800 अल्ट्रा प्रति सेकंड 200 मिलियन से अधिक हैश की गणना कर सकता है।[21]

इन हैश और टकराव हमलों को विभिन्न स्थितियों में जनता में प्रदर्शित किया गया है, जिसमें दस्तावेज़ फ़ाइलों और डिजिटल प्रमाणपत्रों [22] को टकराना भी सम्मिलित है[23][24]। 2015 तक, एमडी5 को अभी भी काफी व्यापक रूप से उपयोग किए जाने के लिए प्रदर्शित किया गया था, विशेष रूप से सुरक्षा अनुसंधान और एंटीवायरस कंपनियों द्वारा।[25]

2019 तक, व्यापक रूप से उपयोग की जाने वाली सामग्री प्रबंधन प्रणालियों में से एक चौथाई को अभी भी पासवर्ड हैशिंग के लिए एमडी5 का उपयोग करने की सूचना मिली थी।[18]

सुरक्षा मुद्दों का अवलोकन

1996 में, एमडी5 के डिज़ाइन में एक त्रुटि पाई गई थी । जबकि उस समय इसे एक घातक कमजोरी नहीं माना गया था, क्रिप्टोग्राफर्स ने अन्य एल्गोरिदम, जैसे कि SHA-1, के उपयोग की अनुशंसा करना शुरू कर दिया था, जिसे तब से कमजोर भी पाया गया है।[26] 2004 में यह दिखाया गया था कि एमडी5 टकराव - प्रतिरोधी नहीं है।[27] जैसे, एमडी5 परिवहन परत सुरक्षा सार्वजनिक कुंजी प्रमाणपत्र या डिजिटल हस्ताक्षर जैसे अनुप्रयोगों के लिए उपयुक्त नहीं है जो डिजिटल सुरक्षा के लिए इस संपत्ति पर भरोसा करते हैं। शोधकर्ताओं ने अतिरिक्त रूप से एमडी5 में अधिक गंभीर खामियों की खोज की, और एक संभावित टकराव के हमले का वर्णन किया - इनपुट की एक जोड़ी बनाने की एक विधि जिसके लिए एमडी5 समान चेकसम का उत्पादन करता है।[5][28] 2005, 2006 और 2007 में एमडी5 को तोड़ने में और प्रगति की गई।[29] दिसंबर 2008 में, शोधकर्ताओं के एक समूह ने नकली एसएसएल प्रमाणपत्र वैधता के लिए इस तकनीक का इस्तेमाल किया।[22][30]

2010 तक, सीएमयू सॉफ्टवेयर इंजीनियरिंग संस्थान एमडी5 को क्रिप्टोग्राफ़िक रूप से टूटा हुआ और आगे के उपयोग के लिए अनुपयुक्त मानता है,[31] और अधिकांश अमेरिकी सरकारी अनुप्रयोगों को अब हैश कार्यों के SHA-2 परिवार की आवश्यकता होती है।[32] 2012 में, फ्लेम मैलवेयर ने माइक्रोसॉफ्ट डिजिटल हस्ताक्षर को नकली बनाने के लिए एमडी5 की कमजोरियों का फायदा उठाया।[33]

टक्कर भेद्यता

1996 में, एमडी5 के संपीड़न कार्य में टकराव पाए गए, और हंस डोबबर्टिन ने आरएसए प्रयोगशालाओं के तकनीकी समाचार पत्र में लिखा, "प्रस्तुत हमला अभी तक एमडी5 के व्यावहारिक अनुप्रयोगों को खतरे में नहीं डालता है, लेकिन यह निकट आता है... भविष्य में एमडी5 को अब लागू नहीं किया जाना चाहिए... जहां टकराव प्रतिरोधी हैश फ़ंक्शन की आवश्यकता होती है।" [34]

2005 में, शोधकर्ता एक ही हैश के साथ परिशिष्ट भाग दस्तावेजों और X.509 प्रमाणपत्रों [35] के जोड़े बनाने में सक्षम थे[36] । उस वर्ष बाद में, एम. डी. 5 के डिजाइनर रॉन रिवेस्ट ने लिखा कि "एम. डी. 5 और sha1 दोनों स्पष्ट रूप से टूट गए हैं (टकराव-प्रतिरोध के संदर्भ में)।[37]

30 दिसंबर 2008 को, शोधकर्ताओं के एक समूह ने 25वीं कैओस कम्युनिकेशन कांग्रेस में घोषणा की कि कैसे उन्होंने एमडी5 टकराव का उपयोग एक मध्यवर्ती प्रमाणपत्र प्राधिकरण प्रमाणपत्र बनाने के लिए किया था जो इसके एमडी5 हैश द्वारा जाँच किए जाने पर वैध प्रतीत होता था। [24] शोधकर्ताओं ने स्विट्जरलैंड के लुसाने में ईपीएफएल में एक पीएस 3 क्लस्टर का उपयोग रैपिडएसएसएल द्वारा जारी एक सामान्य एसएसएल प्रमाणपत्र को उस जारीकर्ता के लिए एक कार्यशील सीए प्रमाणपत्र में बदलने के लिए किया, जिसका उपयोग अन्य प्रमाणपत्र बनाने के लिए किया जा सकता है जो वैध प्रतीत होते हैं और रैपिडएसएसएल द्वारा जारी किए जाते हैं। रैपिडएसएसएल प्रमाणपत्र जारी करने वाले वेरीसाइन ने कहा कि उन्होंने एक बार भेद्यता की घोषणा होने के बाद रैपिडएसएसएल के लिए अपने चेकसम एल्गोरिदम के रूप में एमडी5 का उपयोग करके नए प्रमाणपत्र जारी करना बंद कर दिया।[38] यद्यपि वेरिसाइन ने MD5 का उपयोग करके हस्ताक्षरित मौजूदा प्रमाणपत्रों को रद्द करने से इनकार कर दिया, लेकिन एक्सप्लॉइट के लेखकों (अलेक्जेंडर सोतिरोव, मार्क स्टीवंस, जैकब एपलबौम, आर्जेन लेन्स्ट्रा, डेविड मोलनार, डैग अर्ने ओस्विक और बेन्ने डी वेगर) द्वारा उनकी प्रतिक्रिया को पर्याप्त माना गया था। [22] ब्रूस श्नायर ने हमले के बारे में लिखा कि "हम पहले से ही जानते थे कि एमडी5 एक टूटा हुआ हैश फंक्शन है ,और किसी को भी अब MD5 का उपयोग नहीं करना चाहिए।[39] एसएसएल शोधकर्ताओं ने लिखा, हमारा वांछि