मैं आक्रमण परिदृश्यों के साथ आपके लिए अंतर को प्रेरित कर सकता हूं।
एक में पहले preimage हमले , हम एक विरोधी, यह देखते हुए ही पूछना को खोजने के लिए, मीटर या कुछ मीटर ' ऐसी है कि एच ( मीटर ' ) = एच ( मीटर ) । एक वेबसाइट भंडार मान लीजिए { यू एस ई आर एन एक मीटर ई , एच ( पी एक रों रों डब्ल्यू ओ आर डी ) } इसके बजाय डेटाबेस में { यू एस ईएच( एम )मीटरमीटर'एच( मी')एच( एम ){ यू एस ई आर एन ए एम ई , एच( p a s s w w o r d) } । वेबसाइट अभी भी अपने पासवर्ड को स्वीकार करके और एच ( i n p u t ) = की तुलना करके उपयोगकर्ता की प्रामाणिकता को सत्यापित कर सकती है ? एच ( पी एक रों रों डब्ल्यू ओ आर डी ) (की संभावना के साथ 1 / 2 n कुछ बड़े के लिए n झूठे सकारात्मक के लिए)। अब मान लीजिए कि यह डेटाबेस लीक हो गया है या अन्यथा कंपेयर हो गया है। ए{ यू एस ई आर एन ए एम ई , पी एक रों रों डब्ल्यू ओ आर डी}एच( मैं एन p u t ) = ? एच( पीa s s w w o r d)1 / 2nnपहला प्रिमिमेज अटैक वह स्थिति है, जहां किसी विरोधी के पास केवल मैसेज डाइजेस्ट तक पहुंच होती है और वह इस वैल्यू को हैश करने वाला मैसेज जनरेट करने की कोशिश करता है।
एक में दूसरे preimage हमले , हम विरोधी अधिक जानकारी देते हैं। विशेष रूप से, न केवल हम उसे बल्कि उसे एम भी देते हैं । हैश फंक्शन जहां और बड़े प्राइम्स हैं और एक पब्लिक कंटीन्यू है। स्पष्ट रूप से पहले प्राइमेज अटैक के लिए यह आरएसए समस्या बन जाता है और माना जाता है कि यह कठिन है। हालांकि, दूसरे प्राइमेज अटैक के मामले में टकराव का पता लगाना आसान हो जाता है। यदि कोई सेट करता है ,एच( एम )mपी क्यूH(m)=mdmodpqpqमीटर ' = मीटर पी क्यू + मीटर एच ( मीटर पी क्यू + मी ) = ( मीटर पी क्यू + मी ) घdm′=mpq+mH(mpq+m)=(mpq+m)dmodpq=mdmodpq। और इसलिए विपक्षी को कम से कम कोई संगणना नहीं है।
हम डिजिटल हस्ताक्षर योजनाओं के कारण दूसरे तरीके के हमलों के लिए प्रतिरोधी होने के लिए एक तरह से हैश फ़ंक्शन करना चाहते हैं, जिस स्थिति में को सार्वजनिक जानकारी माना जाता है और दस्तावेज़ की प्रत्येक प्रतिलिपि के साथ (अप्रत्यक्ष स्तर के माध्यम से) पारित किया जाता है। यहां एक हमलावर के पास और दोनों तक पहुंच है । यदि हमलावर मूल दस्तावेज़ (या एक पूरी तरह से नया संदेश) जैसे कि पर भिन्नता के साथ आ सकता है, तो वह अपना दस्तावेज़ प्रकाशित कर सकता है जैसे कि वह मूल हस्ताक्षरकर्ता था।डी ओ सी यू एम ई एन टीH(document)documentघ ' एच ( घ ' ) = एच ( घ ओ सी यू मी ई एन टी )H(document)d′H(d′)=H(document)
एक टकराव का हमला विपक्षी को और भी अधिक अवसर प्रदान करता है। इस योजना में, हम किसी भी दो संदेश और जैसे कि को खोजने के लिए विरोधी से पूछ सकते हैं (क्या मैं उसे बॉब कह सकता हूं? । कबूतर के सिद्धांत और जन्मदिन के विरोधाभास के कारण, यहां तक कि 'परफेक्ट' हैश फ़ंक्शंस प्रीमीज हमलों की तुलना में टक्कर के हमलों के लिए चतुर्थ रूप से कमजोर हैं। दूसरे शब्दों में, एक अप्रत्याशित और अपरिवर्तनीय संदेश डाइजेस्ट फंक्शन जो समय के लिए बल, एक टक्कर ले सकता है दिया हमेशा अपेक्षित समय ।m 2 H ( m 1 ) = H ( m 2 ) f ( { 0 , 1 } ∗ ) = { 0 , 1 } n O ( 2 n ) O ( s q r t ( 2 n ) ) = O ( O ) 2 एन / 2 )m1m2H(m1)=H(m2)f({0,1}∗)={0,1}nO(2n)O(sqrt(2n))=O(2n/2)
बॉब कई तरह से अपने लाभ के लिए टकराव के हमले का उपयोग कर सकता है। यहां सबसे सरल में से एक है: बॉब दो बायनेरिज़ और ( ) के बीच एक टकराव पाता है जैसे कि बी एक वैध माइक्रोसॉफ्ट विंडोज सुरक्षा पैच है और मैलवेयर है। (बॉब विंडोज के लिए काम करता है)। बॉब अपने सुरक्षा पैच को कमांड की श्रृंखला तक भेजता है, जहां एक तिजोरी के पीछे वे कोड पर हस्ताक्षर करते हैं और एक दोष को ठीक करने के लिए दुनिया भर के विंडोज उपयोगकर्ताओं को बाइनरी जहाज करते हैं। बॉब अब दुनिया भर के सभी विंडोज कंप्यूटरों से संपर्क कर सकता है और और Microsoft द्वारा लिए हस्ताक्षरित हस्ताक्षर के साथb ′ H ( b ) = H ( b ( ) b ′ b । bbb′H(b)=H(b′)b′b′b। इन प्रकार के हमले परिदृश्यों से परे, यदि एक हैश फ़ंक्शन को टक्कर प्रतिरोधी माना जाता है, तो हैश फ़ंक्शन भी प्रीइमेज़ प्रतिरोधी होने की अधिक संभावना है।