سؤال

الاعتذار إذا كان هذا هو سؤال مكررة؛معظم الأشخاص الذين عثروا عليه فوق رأسي، لذلك ربما فاتني الجواب.

للحصول على تجزئة معينة، قل MD5 (128 بت)، ما هي فرصة تصادم تجزئة مع 10 ^ 12 منهم؟

الرياضيات ليست رائعة، لقد جئت مع هذه المعادلة (أعتقد أنها صحيحة) ولكن ليس لها أي فكرة عن كيفية حلها:

collision_chance= 1 - (1 - (1/2 ^ 128)) ^ (10 ^ 12)

أنا أظن أنه في مكان ما حوالي 10 ^ -26، هل هذا يبدو صحيحا؟

شكرا

تحرير: أعتقد تقديري مخطئا للغاية.شاهد عيد ميلاد paradox

هل كانت مفيدة؟

المحلول

ماذا تقول صيغة الخاص بك للحصول على قيم 2 ^ 128 + 1؟أعتقد أنه لا يقول أن احتمال الاصطدام هو 1، لذلك لا يمكن أن يكون صحيحا.في الواقع، أعلم أنه ليس - الصيغة الصحيحة كبيرة نوعا كبيرا وغير عملي، ولكن هناك تقريب جيد باستخدام الأسي الكسر.لذلك لا يتضاعف الصيغ، لذلك لن أحاول كتابة الصيغ هنا.

أفضل كلمة رئيسية للبحث عنها هي " هجوم عيد الميلاد ".

نصائح أخرى

لماذا سيكون تصادم التجزئة مشكلة؟لا يتم تصميم التجزئة أبدا لتوليد Vaues فريدة من نوعها، فقط لتسهيل المقارنة الأولى الأولى.

إذا كنت تواجه مشكلة مع تصادمات التجزئة، فأنت تستخدمها خطأ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top