พิจารณาสองชุด:
"ชุดใหญ่" ประกอบด้วยจำนวนเต็มทั้งหมดระหว่าง $0$ และ $2^{160}$ ครั้งเดียว
"ชุดเล็ก" ประกอบด้วยจำนวนเต็มทั้งหมดระหว่าง $0$ และ $2^{32}$ ครั้งเดียว
เนื่องจากจำนวนสมาชิกใน "ชุดใหญ่" มากกว่าสมาชิกใน "ชุดเล็ก" จึงไม่สามารถมีฟังก์ชันฉีดได้ $f(n_b) = n_s$ การจับคู่อินพุตใด ๆ ที่เป็นสมาชิกของ "ชุดใหญ่" $n_b$ ไปยังเอาต์พุตที่เป็นสมาชิกของ "ชุดเล็ก" $n_s$. ถ้าฟังก์ชั่นนั้น $f$ มีอยู่มันจะเป็นคำตอบของคำถาม
ด้วยเหตุผลในทางปฏิบัติ เราสันนิษฐานว่ายังคงสามารถสร้าง/อัลกอริทึมที่มีฟังก์ชันที่ใช้งานได้จริงได้ $f_p$ โดยที่ผลลัพธ์ของการป้อนเข้าทั้งหมด $f_p(n_b)$ เป็นสมาชิกของ "ชุดเล็ก" และแต่ละตัว $n_b$ ชี้ให้เห็นความแตกต่าง $n_s$.
หากขาดความเข้าใจเกี่ยวกับแนวคิดการเข้ารหัส ฉันจะเรียกคุณสมบัตินี้ว่า "collision-aware" เช่น. เพื่อดำเนินการก่อสร้างนี้โดยสมมติว่ามีความจุของขนาด $2^{256}$ (จำนวนเต็มที่ไม่มีเครื่องหมาย 256 บิต) มีฟังก์ชันหรือไม่ $f_p$ หรืออัลกอริทึมสำหรับใดๆ $n_b$ ส่งคืน "การชนกัน" ("การชนกันที่ทราบ") หรือสมาชิกที่แตกต่างกันของ $n_s$?