ในการสั่งซื้อ:
- ไม่ระบุ อาจเป็นรหัสบล็อกใดก็ได้ (พร้อมบล็อกเอาต์พุตและขนาดคีย์ที่ต้องการ);
- ไม่ระบุ อาจเป็นค่าคงที่ของขนาดบล็อกที่ถูกต้อง
- ไม่ระบุ อาจเป็นประเภทการเติมใดๆ ก็ตามที่เหมาะสมกับขนาดคีย์
เดวีส์-เมเยอร์เป็น การก่อสร้าง สำหรับฟังก์ชันการบีบอัด ไม่ใช่อัลกอริทึมจริงที่สามารถนำมาใช้ได้ทันที โดยปกติพารามิเตอร์เหล่านี้จะถูกอธิบายสำหรับอัลกอริทึมเฉพาะที่ใช้โครงสร้างเดวีส์-เมเยอร์
โดยหลักการแล้ว สิ่งเหล่านี้อาจถูกปล่อยให้เป็นพารามิเตอร์การกำหนดค่าได้เช่นกัน (คล้ายกับ HMAC โดยที่แฮชเป็นพารามิเตอร์การกำหนดค่า เช่น HMAC-SHA-256) อย่างไรก็ตาม สำหรับฟังก์ชันแฮช นี่ไม่ใช่เรื่องปกติ
หนึ่งในการใช้งานประเภทนี้ นามธรรม คือเป็นไปได้ที่จะสร้างหลักฐานสำหรับพวกเขาโดยไม่ขึ้นกับรหัสบล็อกที่ใช้ - คุณต้องถือว่ารหัสบล็อกไม่เสียหายสำหรับกรณีการใช้งานเฉพาะแน่นอน
นี่คือส่วนที่เกี่ยวข้องของ บทความวิกิพีเดียเกี่ยวกับฟังก์ชันทางเดียว:
ฟังก์ชันแฮชจะถือว่าปลอดภัยก็ต่อเมื่ออย่างน้อยที่สุด
ตรงตามเงื่อนไขต่อไปนี้:
- รหัสบล็อกไม่มีคุณสมบัติพิเศษที่แตกต่างจากรหัสลับในอุดมคติ เช่น คีย์อ่อนหรือคีย์ที่นำไปสู่สิ่งที่เหมือนกันหรือ
การเข้ารหัสที่เกี่ยวข้อง (จุดคงที่หรือการชนกันของคีย์)
- ขนาดแฮชที่ได้นั้นใหญ่พอ ตามวันเกิด การโจมตีระดับความปลอดภัย 280 (โดยทั่วไปถือว่าไม่สามารถทำได้
คำนวณวันนี้)[ต้องการอ้างอิง] เป็นที่พึงปรารถนาดังนั้นขนาดแฮชจึงควร
เป็นอย่างน้อย 160 บิต
- บล็อกสุดท้ายมีความยาวที่เหมาะสมก่อนการแฮช (ดูการก่อสร้างของ MerkleâDamgÃ¥rd) โดยปกติจะใช้การเติมความยาว
และจัดการภายในด้วยฟังก์ชันแฮชเฉพาะ เช่น SHA-1 เป็นต้น
การก่อสร้างที่แสดงด้านล่าง: เดวีส์–เมเยอร์,
Matyas–Meyer–Oseas, Miyaguchi–Preneel และ Hirose ได้รับการพิสูจน์แล้วว่า
ปลอดภัยภายใต้การวิเคราะห์กล่องดำ [the].
สำหรับการใช้งานฟังก์ชันแฮชเฉพาะที่ใช้ Davies-Meyer คุณสามารถดูได้ ตระกูลแฮช SHA-2. โปรดทราบว่า SHA-2 ไม่ใช้ไฟล์ ชื่อ บล็อกรหัส; มันใช้รหัสพิเศษเฉพาะสำหรับ SHA-2 โหมดการเติมเป็นการเติมบิต แต่มีการระบุความยาว มีการระบุ IV สำหรับแต่ละฟังก์ชันแฮชแยกกัน ไม่ควรพลาด