2011-07-07 25 views
5

Tôi muốn hiểu cách hàm băm SHA0 bị hỏng. Tôi hiểu rằng sử dụng nguyên tắc vấn đề sinh nhật/nguyên tắc giữ chim bồ câu, tìm thấy va chạm băm. http://www.mail-archive.com/cryptography%40metzdowd.com/msg02554.html chứa thông báo mẫu.SHA-0 bị hỏng như thế nào? - Ý nghĩa của một số ít các va chạm băm là gì?

Điều tôi đang gặp khó khăn trong việc tìm kiếm/hiểu: Điều này có nghĩa là có cách kịp thời, toán học LUÔN LUÔN tạo ra một va chạm băm không?

Cuối cùng tôi có thể tìm thấy m2 cho m1 cụ thể sao cho m1! = M2, sha (m1) == sha (m2) hoặc chỉ có thể trên một tập hợp con các thông điệp có thể không? Rephrased: Có phải mật khẩu của tôi có một thông báo khác cho một vụ va chạm được bảo đảm không?

Ý nghĩa của việc tìm 2 thông điệp dài ngẫu nhiên như trong liên kết ở trên có cùng giá trị băm? Tại sao họ phải sàng lọc thông điệp dài ngẫu nhiên cho một vụ va chạm thay vì tìm một va chạm cho một thông điệp thực tế như "Con chó nâu nhảy qua con cáo"?

Một vài ví dụ về xung đột băm không có vẻ quan trọng như một phương pháp kịp thời để tạo ra vụ va chạm cho bất kỳ thông báo nào, nhưng tất cả các bài đăng đều nói về trước đây.

Cảm ơn sự giúp đỡ/thời gian của bạn! Tôi đã đọc rất nhiều bài viết/bài viết, nhưng không thể làm việc bộ não của tôi xung quanh sự nhầm lẫn của tôi. Tôi nghi ngờ tôi có cùng một câu hỏi cho các hàm băm khác bị hỏng như MD5.

EDIT:

The paper (explaining improved method for finding collisions) referenced in the answer

+0

Thư đó không phải là bằng chứng về một cuộc tấn công trên phiên bản cũ của SHA đã bị phản đối do một số điểm yếu đã biết cho phép tấn công dễ dàng hơn tìm kiếm toàn diện. Cuộc tấn công cho biết đã mất 80.000 giờ CPU. Bạn nên lưu ý rằng cùng một cuộc tấn công sẽ không hoạt động đối với việc triển khai SHA-1 chung. Và, để trả lời câu hỏi của bạn: Vâng, điều này có nghĩa là người ta có thể về nguyên tắc tìm một va chạm cho mọi đầu vào, được đưa ra một cụm các máy trạm mạnh mẽ, nhưng _only_ với SHA0. – Damon

+0

(nói chung bạn có thể _always_ tìm thấy một va chạm cho _every_ đầu vào trên _every_ hash, thời gian/tài nguyên vô hạn, sự khác biệt đáng chú ý duy nhất ở đây là cuộc tấn công đặc biệt trên băm cụ thể này hoạt động với các tài nguyên tương đối vừa phải) – Damon

+0

Cảm ơn, điều đó có ý nghĩa! – dsf

Trả lời

8

Từ Wikipedia:

Vào tháng Hai năm 2005, một cuộc tấn công bằng Xiaoyun Wang, Yiqun Lisa Yin, và Hongbo Yu đã được công bố có thể tìm va chạm trong SHA-0 trong 2^39 hoạt động.

Loại phức tạp đó hoàn toàn không đủ cho các mục đích mã hóa với công suất tính toán hiện có sẵn. Nó đảm bảo việc phát hiện sự va chạm cho bất kỳ thông báo nào trong một khoảng thời gian rất hợp lý.

+0

Cảm ơn bạn đã tham khảo điều này, tôi sẽ xem xét bài báo của họ. – dsf

+0

"Nó đảm bảo việc phát hiện va chạm cho bất kỳ thông điệp nào ..." Tôi nghĩ điều này là sai. Bài báo mô tả một "vụ va chạm". Điều này có nghĩa là họ có thể tìm thấy một số m1, m2 sao cho h (m1) = h (m2) trong 2^39 hoạt động. Nó không có nghĩa là BẤT CỨ m1 họ có thể tìm thấy m2 sao cho h (m1) = h (m2). Đó sẽ là một loại đặc biệt của "tấn công va chạm tiền tố được chọn". – tba

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