Tôi có một chút cảm hứng từ mục nhập blog này http://blogs.technet.com/dmelanchthon/archive/2009/07/23/windows-7-rtm.aspx (tiếng Đức)Có thể tạo một tệp giả mạo có cùng tổng kiểm tra bằng hai thuật toán khác nhau không?
Khái niệm hiện tại là md5 và sha1 đều bị hỏng. Không dễ dàng và nhanh chóng, nhưng ít nhất là cho md5 trong phạm vi của một khả năng thực tế. (Tôi không phải là một chuyên gia về mật mã, vì vậy có lẽ tôi sai về những thứ như thế).
Vì vậy, tôi tự hỏi nếu nó sẽ có thể để tạo ra một tập tin A' trong đó có các cùng kích thước, các cùng md5 sum và cùng sha1 tổng như file gốc A.
Đầu tiên, liệu nó có khả thi không?
Thứ hai, có thể thực hiện được với phần cứng/phần mềm hiện tại không?
Nếu không, sẽ không phải là cách dễ nhất để đảm bảo tính toàn vẹn của tệp để luôn sử dụng hai thuật toán khác nhau, ngay cả khi chúng có điểm yếu nào đó?
Cập nhật:
Chỉ cần làm rõ: ý tưởng là để có một tập tin A và một file A' mà fullfills các điều kiện:
size(A) == size(A') && md5sum(A) == md5sum(A') && sha1sum(A) == sha1sum(A')
Đây thực sự là một ý tưởng thú vị, tương tự như lý do ban đầu đằng sau DES3. 'md5' bị hỏng,' sha1' bị hỏng một chút, xác suất tìm thấy xung đột khớp sẽ là 'P (md5sum (A) == md5sum (A ')) * P (sha1sum (A) == sha1sum (A '))' vì chúng độc lập lẫn nhau, có nghĩa là, rất nhỏ. Nhưng để chia sẻ tập tin, tôi đoán đó là quá nhiều công việc cho quá nhiều lợi ích nhỏ, vì bạn có thể tải xuống lại tệp từ nguồn chính thức. Để kiểm tra nhanh 'md5' là đủ tốt. – voyager
Than ôi, hai thuật toán là từ cùng một gia đình, và do đó không độc lập. –