2013-02-20 20 views

Trả lời

20

Câu hỏi này tương tự như cái gọi là "birthday paradox".

Trong lý thuyết xác suất, các vấn đề sinh nhật hoặc sinh nhật nghịch lý liên quan đến khả năng mà, trong một bộ n người được chọn ngẫu nhiên, một số cặp trong số họ sẽ có cùng ngày sinh. Theo nguyên tắc pigeonhole, xác suất đạt 100% khi số người đạt 367 (vì có 366 sinh nhật có thể, kể cả ngày 29 tháng 2). Tuy nhiên, xác suất 99% đạt được chỉ với 57 người, và xác suất 50% với 23 người. Những kết luận này dựa trên giả định rằng mỗi ngày trong năm (trừ ngày 29 tháng 2) đều có thể xảy ra tương tự cho một ngày sinh nhật.

Toán học đằng sau vấn đề này dẫn đến một cuộc tấn công mật mã nổi tiếng được gọi là birthday attack, sử dụng mô hình xác suất này để giảm độ phức tạp của việc băm hàm băm.

Theo bài viết trên Wikipedia, cơ hội của một vụ va chạm khi lựa chọn n = 2 số ngẫu nhiên từ một không gian với d = 2 số xấp xỉ:

Generalized birthday problem math

Nếu bạn work this calculation out cơ hội là khoảng 2,7 × 10 -20. Đây là xác suất rất nhỏ, nhưng lưu ý rằng nó cao hơn 9 bậc so với tính toán được đề xuất của bạn.

+7

Và đó là giả định rằng aldrorithm md5 có một sự lây lan hoàn toàn thậm chí băm. Vì nó không, cơ hội va chạm của bạn thậm chí còn lớn hơn. – neelsg

Các vấn đề liên quan