[Hash] क्या कोई एमडी 5 फिक्स्ड प्वाइंट है जहां एमडी 5 (एक्स) == एक्स?


Answers

चूंकि हैश अपरिवर्तनीय है, इसलिए यह पता लगाना बहुत कठिन होगा। इसको हल करने का एकमात्र तरीका हैश के हर संभावित आउटपुट पर हैश की गणना करना है, और देखें कि क्या आप किसी मैच के साथ आए हैं।

विस्तृत करने के लिए, एक MD5 हैश में 16 बाइट हैं। इसका मतलब है कि 2 ^ (16 * 8) = 3.4 * 10 ^ 38 संयोजन हैं यदि एक हैश को 16 बाइट मान पर गणना करने के लिए 1 मिलिसेकंड लिया जाता है, तो उन सभी हैशों की गणना करने के लिए 10790283070806014188970529154.99 साल लगेंगे।

Question

क्या एमडी 5 रूपांतरण में एक निश्चित बिंदु है, यानी एक्स में ऐसा मौजूद है जैसे कि md5(x) == x ?




हालांकि मेरे पास हां / कोई जवाब नहीं है, मेरा अनुमान "हाँ" है और इसके अलावा 2 ^ 32 ऐसे निश्चित बिंदु (बिट स्ट्रिंग व्याख्या के लिए, चरित्र-स्ट्रिंग intepretation नहीं) के लिए हो सकता है। मैं इस पर सक्रिय रूप से काम कर रहा हूं क्योंकि यह एक भयानक, संक्षिप्त पहेली की तरह लगता है, जिसकी बहुत सारी सृजनात्मकता की आवश्यकता होगी (यदि आप अभी तक ब्रूट बल खोज के लिए व्यवस्थित नहीं हैं)

मेरा दृष्टिकोण निम्न है: इसे गणित की समस्या के रूप में मानते हैं। हमारे पास 128 बूलियन वेरिएबल्स और 128 समीकरण हैं जो इनपुट के संदर्भ में आउटपुट का वर्णन करते हैं (जो कि मैच करना है)। एल्गोरिथ्म और पैडिंग बिट्स में तालिकाओं से सभी स्थिरांकों में प्लगिंग करके, मेरी आशा है कि 128-बिट इनपुट केस के लिए अनुकूलित एल्गोरिदम को प्राप्त करने के लिए समीकरण बहुत सरल हो सकते हैं। इन सरलीकृत समीकरणों को तब कुशल खोज के लिए कुछ अच्छी भाषा में क्रमादेशित किया जा सकता है या फिर एक बार फिर से व्यवहार किया जा सकता है, एक समय में एकल बिट निर्दिष्ट कर सकता है, विरोधाभासों को देख सकता है। आपको आउटपुट के कुछ बिट्स को यह जानने की आवश्यकता है कि यह इनपुट से मेल नहीं खाता है!




दो व्याख्याएं हैं, और अगर किसी को भी लेने की इजाजत है, तो निश्चित बिंदु खोजने की संभावना 81.5% तक बढ़ जाती है।

  • व्याख्या 1: क्या बाइनरी में एमडी 5 आउटपुट के एमडी 5 का इनपुट मिलता है?
  • व्याख्या 2: हेक्स में एमडी 5 आउटपुट के एमडी 5 का इनपुट क्या है?