2013-02-20 17 views
11

यदि मैं स्ट्रिंग के 2^32 सेट में पास करता हूं तो एमडी 5 टकराव की संभावना क्या होती है?अगर मैं स्ट्रिंग के 2^32 सेट में पास करता हूं तो एमडी 5 टकराव की संभावना क्या है?

क्या मैं कह सकता हूं कि उत्तर सिर्फ 2^32/2^128 = 1/1.2621774e-29 है क्योंकि एमडी 5 हैश की बिट 128 है?

+0

यह प्रश्न शायद 'सुरक्षा' एसई साइट पर होना चाहिए। यदि कोई है; पी – leppie

उत्तर

20

यह प्रश्न तथाकथित "birthday paradox" के समान है।

संभाव्यता सिद्धांत में, जन्मदिन समस्या या जन्मदिन विरोधाभास संभावना है कि, n बेतरतीब ढंग से चुने हुए लोगों का एक सेट में, उनमें से कुछ जोड़ी एक ही जन्मदिन होगा से संबंधित है। कबूतर सिद्धांत द्वारा, संभावनाएं 100% तक पहुंच जाती हैं जब लोगों की संख्या 367 तक पहुंच जाती है (क्योंकि 366 संभावित जन्मदिन हैं, 2 9 फरवरी सहित)। हालांकि, 99% लोगों के साथ 99% संभावनाएं और 23 लोगों के साथ 50% संभावना है। ये निष्कर्ष इस धारणा पर आधारित हैं कि वर्ष के प्रत्येक दिन (2 9 फरवरी को छोड़कर) जन्मदिन के लिए समान रूप से संभव है।

इस समस्या के पीछे गणित ने birthday attack नामक एक प्रसिद्ध क्रिप्टोग्राफिक हमले का नेतृत्व किया, जो हैश फ़ंक्शन को क्रैक करने की जटिलता को कम करने के लिए इस संभाव्य मॉडल का उपयोग करता है।

विकिपीडिया लेख के अनुसार, एक टक्कर की संभावना को जब साथ = 2 संख्या एक अंतरिक्ष से n = 2 यादृच्छिक संख्या को चुनने के लगभग है:

Generalized birthday problem math

यदि आप work this calculation out मौका 2.7 × 10 -20 है। यह एक बहुत छोटी संभावना है, लेकिन ध्यान दें कि यह आपके प्रस्तावित गणना से अधिक परिमाण के 9 आदेश है।

+7

और यह माना जा रहा है कि md5 algrorithm में पूरी तरह से हैश का फैलाव है। चूंकि ऐसा नहीं होता है, इसलिए टकराव की संभावनाएं भी अधिक होती हैं। – neelsg