2012-01-13 36 views

Trả lời

27

Bạn cần phải băm khoảng 2^64 giá trị để có được một va chạm trong số đó, tính trung bình, nếu bạn không cố gắng để cố tình tạo ra va chạm. Các va chạm Hash rất giống với Birthday problem.

Nếu bạn xem xét hai giá trị tùy ý, xác suất va chạm chỉ là 2 -128.

Vấn đề với md5 là nó tương đối dễ dàng để thủ hai văn bản khác nhau mà băm với giá trị tương tự. Nhưng điều này đòi hỏi một cuộc tấn công có chủ ý, và không xảy ra vô tình. Và thậm chí với một cuộc tấn công có chủ ý, hiện tại không khả thi để có được một văn bản thuần túy khớp với một băm đã cho.

Trong md5 ngắn gọn là an toàn cho các mục đích an ninh phi, nhưng bị phá vỡ trong nhiều ứng dụng an ninh.

+0

Làm thế nào để bạn nhận được giá trị này? –

+1

2^(n/2) như được dự đoán bởi sự cố sinh nhật. – CodesInChaos

+0

Do thông tin này, có phù hợp để tạo các id tài liệu cho một hệ thống chứa hàng triệu tài liệu dựa trên hàm băm md5 của nội dung tương ứng của chúng không. @CodesInChaos – SaidbakR

5

Nó tạo ra một giá trị 128-bit. Do đó, tỷ lệ đụng độ ngẫu nhiên sẽ là 2 -64 (vì nghịch lý sinh nhật).

+2

Xác suất va chạm vì có ý nghĩa khoảng 2^64 giá trị, nhưng tỷ lệ xung đột cho hai giá trị tùy ý chỉ là 2^-128. – CodesInChaos