प्रीइमेज अटैक

क्रिप्टोग्राफी में, क्रिप्टोग्राफ़िक हैश फ़ंक्शंस पर एक प्रीइमेज हमला एक संदेश # कंप्यूटर विज्ञान में खोजने की कोशिश करता है जिसमें एक विशिष्ट हैश मान होता है। एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन को अपनी प्रीइमेज#इनवर्स इमेज (संभावित इनपुट का सेट) पर हमलों का विरोध करना चाहिए।

हमले के संदर्भ में, दो प्रकार के प्रीइमेज प्रतिरोध होते हैं:


 * प्रीइमेज रेजिस्टेंस: अनिवार्य रूप से सभी पूर्व-निर्दिष्ट आउटपुट के लिए, यह कम्प्यूटेशनल रूप से किसी भी इनपुट को खोजने के लिए अक्षम है जो उस आउटपुट को हैश करता है; यानी दिया $y$, इसे खोजना मुश्किल है $x$ ऐसा है कि $h(x) = y$.
 * दूसरा-प्रीइमेज प्रतिरोध: एक निर्दिष्ट इनपुट के लिए, यह एक अन्य इनपुट खोजने के लिए कम्प्यूटेशनल रूप से अक्षम है जो समान आउटपुट उत्पन्न करता है; यानी दिया $x$, दूसरा इनपुट खोजना मुश्किल है $x′ ≠ x$ ऐसा है कि $h(x) = h(x′)$.

इनकी तुलना एक टक्कर प्रतिरोध से की जा सकती है, जिसमें कम्प्यूटेशनल रूप से किसी भी दो अलग-अलग इनपुट को खोजना संभव नहीं है $x$, $x′$ उसी आउटपुट के लिए हैश; अर्थात्, ऐसा कि $h(x) = h(x′)$.

टक्कर प्रतिरोध का तात्पर्य दूसरे-प्रीइमेज प्रतिरोध से है, लेकिन प्रीइमेज प्रतिरोध की गारंटी नहीं देता है। इसके विपरीत, एक दूसरे-प्रीइमेज हमले का तात्पर्य टकराव के हमले से है (तुच्छ रूप से, चूंकि, इसके अलावा $x′$, $x$ प्रारंभ से ही ज्ञात है)।

एप्लाइड प्रीइमेज अटैक
परिभाषा के अनुसार, एक आदर्श हैश फ़ंक्शन ऐसा है कि पहले या दूसरे प्रीइमेज की गणना करने का सबसे तेज़ तरीका एक क्रूर-बल हमले के माध्यम से होता है। एक के लिए $n$-बिट हैश, इस हमले में समय की जटिलता है $2n$, जिसे एक विशिष्ट आउटपुट आकार के लिए बहुत अधिक माना जाता है $n$ = 128 बिट्स। यदि ऐसी जटिलता सबसे अच्छी है जिसे एक विरोधी द्वारा प्राप्त किया जा सकता है, तो हैश फ़ंक्शन को प्रीइमेज-प्रतिरोधी माना जाता है। हालाँकि, एक सामान्य परिणाम है कि क्वांटम कंप्यूटर एक संरचित प्रीइमेज अटैक करते हैं $$\sqrt{2^{n}} = 2^{\frac{n}{2}}$$, जिसका अर्थ दूसरा प्रीइमेज भी है और इस प्रकार टक्कर का हमला।

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

सभी ज्ञात व्यावहारिक या लगभग-व्यावहारिक हमले  MD5 और SHA-1 पर टकराव के हमले हैं। सामान्य तौर पर, टकराव के हमले को पूर्व-छवि हमले की तुलना में माउंट करना आसान होता है, क्योंकि यह किसी भी सेट वैल्यू द्वारा प्रतिबंधित नहीं है (किसी भी दो मूल्यों को टकराने के लिए इस्तेमाल किया जा सकता है)। प्रीइमेज अटैक के विपरीत ब्रूट-फोर्स कोलिसन अटैक की समय जटिलता केवल है $$2^{\frac{n}{2}}$$.

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

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

यह भी देखें

 * जन्मदिन पर हमला
 * क्रिप्टोग्राफिक हैश फ़ंक्शन
 * हैश फ़ंक्शन सुरक्षा सारांश
 * इंद्रधनुष तालिका
 * यादृच्छिक ओरेकल
 * : इंटरनेट प्रोटोकॉल में क्रिप्टोग्राफ़िक हैश पर हमले