MD5 का पूरा नाम Message-Digest Algorithm 5 है। यह एक क्रिप्टोग्राफिक हैश फ़ंक्शन है जिसका उपयोग संदेशों को प्रमाणित करने, सामग्री की पुष्टि करने और डिजिटल हस्ताक्षर बनाने के लिए किया जाता है। MD5 एक हैश फ़ंक्शन पर आधारित है जो यह सत्यापित करता है कि भेजी गई फ़ाइल प्राप्तकर्ता द्वारा प्राप्त फ़ाइल से मेल खाती है या नहीं।
MD5 का इतिहास और संरचना
MD5, रॉन रिवेस्ट द्वारा आविष्कृत Message-Digest Algorithm का 5वां संस्करण है, जिसे 128-बिट संदेश डाइजेस्ट बनाने के लिए डिज़ाइन किया गया था। यह अपने पूर्ववर्तियों की तुलना में काफी तेज़ है। MD5 512-बिट ब्लॉकों में प्लेन टेक्स्ट को प्रोसेस करता है, जिन्हें आगे 16 ब्लॉकों में विभाजित किया जाता है, प्रत्येक 32 बिट का। अंत में यह 128-बिट संदेश डाइजेस्ट उत्पन्न करता है, जो चार 32-बिट ब्लॉकों का एक समूह होता है।
MD5 के कार्य चरण
MD5 निम्न पांच चरणों के माध्यम से संदेश डाइजेस्ट बनाता है:
- पैडिंग (Padding): संदेश को 512-बिट ब्लॉकों के अनुरूप बनाने के लिए पैड किया जाता है।
- लंबाई जोड़ना (Append Length): मूल संदेश की लंबाई को 64-बिट ब्लॉक के रूप में जोड़ा जाता है।
- 512-बिट ब्लॉकों में विभाजन: इनपुट को 512-बिट ब्लॉकों में बांटा जाता है।
- चेनिंग वेरिएबल्स आरंभ करना और ब्लॉकों को प्रोसेस करना: चार 32-बिट चेनिंग वेरिएबल्स (A, B, C, D) को आरंभ किया जाता है और प्रत्येक ब्लॉक को 4 राउंड में प्रोसेस किया जाता है।
- कई स्थिरांकों का उपयोग: प्रत्येक पुनरावृत्ति में विभिन्न स्थिरांकों का उपयोग किया जाता है।
सुरक्षा कमजोरियां
कई हैश एल्गोरिदम के विकास के साथ, विशेषज्ञों ने पाया कि MD5 में गंभीर कमजोरियां हैं, विशेष रूप से यह "कोलिजन रेजिस्टेंट" (Collision Resistant) नहीं है।
कोलिजन (Collision) तब होता है जब दो अलग-अलग इनपुट समान हैश मान उत्पन्न करते हैं। सुरक्षित प्रमाणीकरण के लिए प्रत्येक हैश मान अद्वितीय होना चाहिए। चूंकि यह कार्यक्षमता SSL (Secure Sockets Layer) जैसे प्रोटोकॉल के लिए आवश्यक थी, इसलिए MD5 को अन्य अधिक सुरक्षित हैश एल्गोरिदम द्वारा प्रतिस्थापित किया गया है।
उपयोग के मामले
- चेकसम (Checksum): MD5 का उपयोग फ़ाइलों की अखंडता जांचने के लिए चेकसम के रूप में किया जाता है। इंटरनेट युग में, हैकर डाउनलोड लिंक बदलकर उपयोगकर्ताओं को छेड़छाड़ की गई फ़ाइलें डाउनलोड करने के लिए धोखा दे सकते हैं। MD5 चेकसम द्वारा उपयोगकर्ता डाउनलोड की गई फ़ाइल का हैश उत्पन्न कर मूल हैश से तुलना कर सकता है।
- फ़ाइल प्रमाणीकरण: MD5 का उपयोग फ़ाइलों को प्रमाणित करने के लिए किया जाता है। बिट-दर-बिट तुलना के बजाय MD5 हैश की तुलना करना बहुत सरल है।
वर्तमान स्थिति
MD5 का उपयोग कभी सूचना सुरक्षा और एन्क्रिप्शन के लिए किया जाता था, लेकिन आज इसका मुख्य उपयोग केवल प्रमाणीकरण तक सीमित है। चूंकि एक हैकर एक ऐसी फ़ाइल बना सकता है जिसका हैश पूरी तरह से अलग फ़ाइल के समान हो, इसलिए MD5 उन गतिविधियों के लिए सुरक्षित नहीं है जहां फ़ाइल से छेड़छाड़ की संभावना हो।