SHA1

2015-05-31 11 views
6

के पहले 8 वर्णों का उपयोग करते समय डुप्लिकेट हैश की संभावना यदि मेरे पास URL की अनुक्रमणिका है, और उन्हें SHA1 हैश के पहले 8 वर्णों से आईडी है, तो समान आईडी वाले दो अलग-अलग URL की संभावना क्या है?SHA1

+0

इन लोगों को टकराव से मारा गया अपनी सार्वजनिक वेबसाइट में 7 हेक्स अंकों के लिए छंटनी। 8 थोड़ा बेहतर है, लेकिन शायद जोखिम के लायक नहीं है। http://blog.getsolid.io/birthday-paradox-coding-solid –

उत्तर

15

@Tpepeemm ने 8 हेक्स अंकों के एक विशेष अनुक्रम के साथ संबंधित प्रश्न का सही उत्तर दिया है, 8 अंकों के साथ दिखाई देने वाला एक अन्य SHA-1 हैश का मौका क्या है? यह बहुत छोटी संख्या है।

क्या, इस सवाल में दांव पर लगा है, हालांकि, एक अलग सवाल यह है: '8-हेक्स अंकों दृश्यों की एक बड़ी संख्या को देखते हुए ही किया जा रहा है उनमें से किसी दो का मौका क्या है?' पहली टिप्पणी के रूप में प्रश्न के मुताबिक, यह birthday paradox से संबंधित है, जो कि 'मेरे जैसे ही जन्मदिन वाले कमरे में किसी का मौका क्या है?', लेकिन इसके बजाय ' इस कमरे में दो लोगों का क्या मौका है वही जन्मदिन? 'जैसा कि उचित रूप से जाना जाता है, इसका मौका केवल 23 लोगों के साथ 50% है।

हैश टक्कर समस्या मूलतः एक ही समस्या है, लेकिन एन = 365 करने के लिए दिनों एन = 16^8 8-बाइट दृश्यों, जो 4.30e9 के बारे में से सामान्यीकृत। यह ‘generalised birthday problem’ है। अभिव्यक्ति वहाँ उद्धृत (एन = sqrt (2 का प्रयोग * घ * ln (1/(1-पी))), के साथ d = 4.30e9 और पी = 0.5, हम एक की 50% संभावना लगता है केवल 77000 परीक्षणों के साथ टकराव। आप इसी समारोह साजिश हैं, तो आप परीक्षणों की संख्या बढ़ जाती के रूप में काफी तेजी से संभावना बढ़ जाती है देखते हैं।

हैश के 16 बाइट्स के साथ भी

(ताकि घ = 16^16) वहाँ एक 50 है केवल 5 बिलियन परीक्षणों के बाद टकराव का% मौका।

जन्मदिन मुबारक हो!

+0

अच्छा बिंदु; मैंने इसके बारे में सोचा नहीं था। मुझे लगता है कि ओपी ऐसा क्यों कर रहा है यह नीचे आता है। यदि यह आसानी से कुछ यूआरएल हैश है, तो टकराव एक बड़ा सौदा नहीं है। अगर टकराव से बचना महत्वपूर्ण है, तो यह एक और कहानी है। – Teepeemm

2

एक एसएचए -1 हैश में 40 बेस -16 अंक हैं। यदि आप केवल उनमें से पहले 8 को देख रहे हैं, तो संभावना है कि एक दूसरा यूआरएल एक ही 8 अंक है (1/16)^8 ~ 2.32e-10। असल में, यह 40 अंकों के साथ शुरू होने पर निर्भर नहीं है, या यहां तक ​​कि यह SHA-1 है। आपको केवल एक ही धारणा है कि SHA-1 में पहले 8 अंक स्वतंत्र और समान रूप से वितरित किए गए हैं।

संबंधित मुद्दे