चेकसम कितने अनूठे हैं?


11

मेरे पास बहुत सारी फाइलें हैं जिन्हें मुझे छांटने की जरूरत है; और दुख की बात है कि एक ही नाम के साथ कई फाइलें हैं, लेकिन अलग-अलग सामग्री है, और अलग-अलग फाइलनाम के साथ एक ही सामग्री है।

मैं md5sumफ़ाइलों के लिए चेकसम उत्पन्न करने के लिए उपयोग करने के बारे में सोच रहा हूं , लेकिन मुझे यह जानना होगा - क्या यह संभव है कि दो अलग-अलग फाइलें (यानी अलग-अलग सामग्री) एक ही चेकसम उत्पन्न करेंगी?

यदि यह है, तो यह कैसे होने की संभावना है?

क्या दो अलग-अलग असंबंधित (यानी एक ही "परिवार" में नहीं) चेकसम-प्रोग्राम का उपयोग दो चेकसम उत्पन्न करने के लिए संभव होगा - इस धारणा के तहत कि दो अलग-अलग फाइलें एक चेकसम-प्रोग्राम में से किसी एक के लिए एक ही चेकसम उत्पन्न कर सकती हैं, संभव है यह दोनों एक साथ कभी नहीं होगा?


2
याद रखें कि md5 / sha2 / etc डेटा का एक बड़ा हिस्सा है, इस प्रकार बहुत सी सूचनाओं को एक छोटे से बिट स्पेस में मैप करता है, इस प्रकार यह संभव है कि टक्कर हो सकती है। एक एचएएसएच एक अद्वितीय कुंजी नहीं है और यदि यह आपका लक्ष्य है ... तो मैं दृढ़ता से कुछ और करने की सलाह दूंगा।
mdpc

फाइलों को छांटने के लिए, एमडी 5 ठीक है। से crypto.stackexchange.com/a/18337/49945 , दो अलग अलग सामग्री की जांच योग टक्कर की संभावना 10 ^ 43 में 1 के बारे में है जो 2 128 में ^ 1 है। यह वास्तव में, वास्तव में दुर्लभ है। यदि आप माइक्रोसेकंड प्रति एक तुलना करते हैं, तो औसतन आपको 10 ^ 20 वर्षों में एक बार टक्कर मिलेगी। बिग बैंग के बाद से इसका केवल ~ 10 ^ 9 वर्ष है, इसलिए बिग बैंग से अब तक की तुलना में प्रति माइक्रोसेकंड की तुलना में EVEN A SINGLE TIME पर होने वाली टक्कर अभी भी 10 ^ 11 में केवल 1 है। सौ बिलियन युगपत कंप्यूटरों को देखते हुए, केवल ~ एक टकराव देखा होगा।
टूलमेकरसैट जूल

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

जवाबों:


11

: एक ही सामग्री लेकिन अलग फ़ाइल नामों के साथ दो फ़ाइलें ( file1 और करें 2 ):

cat file1
this is a simple file

cat file2
this is a simple file

md5sum file1
7de45bf879db49de7e2eacea23e6c165  file1
md5sum file2
7de45bf879db49de7e2eacea23e6c165  file2

विभिन्न सामग्री, लेकिन एक ही फ़ाइल नामों के साथ दो फाइलें: ( file1 और file1 )

cat file1
this is a simple file
cat file1
this is a simple file with extra contents
md5sum file1 #first file1
7de45bf879db49de7e2eacea23e6c165  file1
md5sum file1 #second file1
c7c8f3fd9ddd7a926c31416a69063e4e  file1

से विकि प्रवेश,

हालांकि, यह बहुत कम संभावना नहीं है कि वास्तविक दुनिया में किसी भी दो गैर-समान फ़ाइलों में एक ही एमडी 5 हैश होगा, जब तक कि उन्हें विशेष रूप से एक ही हैश बनाने के लिए नहीं बनाया गया हो।

लेकिन, एमडी 5 एल्गोरिथ्म की अपनी खामियां हैं।

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

मैं checksum की गणना के लिए SHA1 का उपयोग कर के बाद से टकराव का निर्माण इतना आसान का उपयोग करते समय नहीं है की सिफारिश करेंगे SHA1 एल्गोरिदम। Sha1 चेकसम का निर्माण करना बहुत आसान है जैसा कि आप यहाँ देख सकते हैं ।


नोट: सवाल फाइलों को छांटने का है; उपयोग करने की सिफारिश sha1उस कार्य के लिए प्रासंगिक नहीं है; यह केवल तभी मायने रखता है जब सुरक्षा के बारे में चिंतित हों ।
टूलमेकरसूट जूल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.