Tôi thích nghĩ về mật mã như cơ sở hạ tầng. Chúng ta nên cố gắng phát triển cơ sở hạ tầng giảm thiểu số lần sử dụng.Công việc của mật mã học không phải là xác định thông điệp "có ý nghĩa" trong ứng dụng của bạn là gì. Bạn có thể nhìn vào một vụ va chạm cụ thể $m_1, m_2$ và nói một cách chắc chắn rằng không ứng dụng của một hàm băm sẽ bao giờ gán ý nghĩa cho những $m_1$ và $m_2$?
Bạn muốn sử dụng hàm băm nào hơn, một hàm có bảo đảm "rất khó tìm không tí nào va chạm" hoặc một cam kết "rất khó tìm ra va chạm, ngoại trừ đôi khi giữa các chuỗi là tệp JPG của gerbils và tệp gzip của Shakespeare"? Tôi sẽ không muốn lái một chiếc ô tô có dán nhãn cảnh báo có nội dung "xe có thể phát nổ nếu bạn đang lái xe với tốc độ 88,1 dặm/giờ khi bật tín hiệu rẽ trái và đài đã chỉnh thành 88,1 FM", ngay cả khi cảnh báo đó đã được thu hẹp chính xác và tôi sẽ không bao giờ làm 3 điều đó cùng một lúc.
Đó là lý do tại sao các định nghĩa bảo mật mật mã coi xung đột là không tí nào hai tin nhắn thỏa mãn $H(x_1) = H(x_2)$, giả mạo chữ ký trên không tí nào tin nhắn là một cuộc tấn công, mã hóa của không tí nào bản rõ sẽ trông không thể phân biệt được, v.v. Nếu bạn muốn sử dụng mật mã của mình, hãy đảm bảo rằng bạn cố gắng đảm bảo an ninh đặt mọi người thoải mái.
Lý do thực tế thứ hai để lo ngại về một vụ va chạm "phi cấu trúc" trong $H$, đó là khi một cái được tìm thấy, vấn đề thường là thời gian trước khi các kỹ thuật được mở rộng để tìm các va chạm "có cấu trúc". Ví dụ: tìm các va chạm có cấu trúc trong một hàm ngẫu nhiên (sử dụng tấn công va chạm Yuval cổ điển) có độ khó tương đương với việc tìm các va chạm không có cấu trúc (sử dụng lực lượng vũ phu tiêu chuẩn và giới hạn sinh nhật).