การสร้าง file-b ปลอมที่มีแฮชของ file-a เหมือนกันนั้นง่ายเพียงใด crc32, md5 และ sha1?
สิ่งนี้เป็นที่รู้จักกันในแวดวงการเข้ารหัสว่าเป็นปัญหา 'ภาพก่อนหน้าที่สอง'
ด้วย CRC32 เป็นเรื่องง่าย เพียงใช้ข้อความต้นฉบับและเพิ่ม (นั่นคือ xor) สำเนาพหุนาม CRC ที่เลื่อนบางส่วนและนั่นจะไม่เปลี่ยนแฮช หากคุณไม่มี file-a ดั้งเดิม (คุณมีเฉพาะแฮช) การสร้าง file-b จะเกี่ยวข้องกับการแก้สมการบูลีนพร้อมกัน 32 สมการ ซึ่งยากกว่าเล็กน้อย
ด้วย MD5 และ SHA-1 ไม่มีวิธีปฏิบัติที่เป็นที่รู้จัก ในทั้งสองกรณี วิธีที่ดีที่สุดที่เรามีคือลองใช้ file-b จำนวนมหาศาลโดยพลการ จนกว่าเราจะพบไฟล์ที่มีแฮชตามที่คาดไว้ ซึ่งเป็นงานที่เป็นไปไม่ได้ในทั้งสองกรณี
ตอนนี้ สิ่งที่เป็นที่รู้จักใน MD5 และ SHA-1 คือวิธีสร้างไฟล์สองไฟล์ที่แตกต่างกันด้วยแฮชเดียวกัน อย่างไรก็ตาม เมธอดเหล่านี้จำเป็นต้องสามารถระบุไฟล์ทั้งสองได้ และไม่สามารถใช้ได้หากไฟล์ใดไฟล์หนึ่งถูกกำหนดไว้แล้ว
พีซีเฉลี่ยที่มี GPU สามารถคำนวณการชนกันของแฮชสามเท่าของไฟล์ -a ได้หรือไม่
ไม่มีทางทราบได้ (ในทางปฏิบัติ เช่น ก่อนที่ดวงอาทิตย์จะกลายเป็นดาวยักษ์แดง...)