เหตุใด MD5 จึงยังคงใช้งานอย่างหนัก


17

MD5 ดูเหมือนจะมี จัดทำเอกสารช่องโหว่ได้ดี และยังคงแพร่หลายในการใช้งาน ไม่มีใครมีเหตุผลใด ๆ ที่ทำให้มันยังคงเป็นตัวเลือกที่ทำงานได้เมื่อมีทางเลือกอื่น (เช่น SHA-2) ดูเหมือนจะแข็งแกร่งขึ้น

คำตอบ:


16

มันรวดเร็วในการสร้างและบ่อยครั้งที่การชนกันทางทฤษฎีเป็นไปได้ไม่ใช่ปัญหาใหญ่โต เช่นการตรวจสอบว่าไฟล์แคชมีการเปลี่ยนแปลงเพื่อหลีกเลี่ยงการดาวน์โหลดสำเนาใหม่

มาตรฐานอย่างรวดเร็วทำในปี 1996 แสดงดังต่อไปนี้:

            Digest Performance in MegaBytes per Second

      Pentium P5     Power Mac    SPARC 4     DEC Alpha
          90 MHz        80 MHz      110 MHz      200 MHz

MD5         13.1          3.1         5.1          8.5
SHA1         2.5          1.2         2.0          3.3

สำหรับการใช้งานที่ทันสมัย ​​- บนชิปฝังตัว MD5 สามารถผลิตได้เร็วกว่า 2-3 เท่าของ SHA1 สำหรับข้อมูลเดียวกัน


10

MD5 แฮช "ดีพอ" สำหรับงานที่ไม่เกี่ยวกับผู้ชายส่วนใหญ่ จำได้ว่ามันยังคงเป็นเรื่องยากอย่างไม่น่าเชื่อที่จะสร้างการชนที่มีความหมายในจำนวนไบต์เดียวกัน

ตัวอย่างเช่นสมมติว่าคุณดาวน์โหลด Ubuntu 9.10 ใหม่ในสัปดาห์หน้าจากกระจกที่เชื่อถือได้ คุณต้องการตรวจสอบว่าไฟล์ถูกดาวน์โหลดอย่างถูกต้องและครบถ้วน เพียงดับ MD5 และแฮช ISO เปรียบเทียบแฮชกับแฮชที่เผยแพร่ หากแฮชตรงกันคุณสามารถมั่นใจได้ว่า ISO ถูกคัดลอกอย่างถูกต้องและครบถ้วน


มันไม่ยากอีกแล้ว และมันทำงานยากขนาดไหน sha256sum filename.iso แทน md5sum filename.iso?
Mechanical snail

นอกจากนี้หาก ISP ของคุณเป็นสิ่งชั่วร้าย MD5 จะทำเช่นนั้น ไม่ รับประกันว่าดาวน์โหลด ISO อย่างถูกต้อง ISP สามารถแก้ไขภาพ ISO เพื่อทำสิ่งที่ชั่วร้าย
Mechanical snail

4
  1. มันสั้น - ง่ายต่อการอ่าน
  2. มันเป็นที่แพร่หลาย - การทำงานร่วมกันอย่างยอดเยี่ยมกับระบบอื่น ๆ
  3. เป็นเรื่องปกติ - ทุกคนคุ้นเคยกับมัน

และความปลอดภัยสามารถปรับปรุงได้ด้วยการเติมเกลือ


3

MD5 ถูกใช้อย่างกว้างขวางในฐานะฟังก์ชันเช็คซัมเนื่องจากรวดเร็วและมีอัตราส่วนการชนต่ำมาก MD5 checksum ประกอบด้วยเลขฐานสิบหก 32 หลักซึ่งให้อัตราต่อรอง 1 ~ 3.42e34 ของการชนกัน ในทางทฤษฎีคุณสามารถแฮชไฟล์ทั้งหมดในคอมพิวเตอร์ทุกเครื่องในประเทศที่มีขนาดเท่ากับ USA และไม่สร้าง collision (*)

สำหรับการเข้ารหัส MD5 เป็นทางเลือกที่ถูกต้องหากความปลอดภัยเป็นเพียงความกังวลในระดับปานกลาง มันเป็นตัวเลือกที่ทำงานได้ดีมากสำหรับการแฮ็รหัสผ่านฐานข้อมูลหรือสาขาอื่น ๆ ที่ต้องการความปลอดภัยภายในสำหรับความเร็วส่วนใหญ่ แต่ก็เป็นเพราะ MD5 มีระดับความปลอดภัยที่สมเหตุสมผล


(*) เพื่อจุดประสงค์ในการตรวจสอบส่วนใหญ่การชนกันจะมีความหมายก็ต่อเมื่อมันเกิดขึ้นระหว่างวัตถุสองชิ้นที่มีต้นกำเนิดที่คล้ายกันและมีขนาดเท่ากัน แม้ว่าความน่าจะเป็นที่ไม่ซ้ำกันของ MD5 สูง แต่การชนกันอาจเกิดขึ้นระหว่างสองไฟล์ที่แตกต่างกันอย่างมาก สมมติว่าไฟล์ฐานข้อมูล 1.5Mb และไฟล์ 35k gif สำหรับจุดประสงค์ส่วนใหญ่นี่คือการชนที่ไม่มีความหมาย มากยิ่งขึ้นเพราะ MD5 เป็นเพียงองค์ประกอบหนึ่งของการจัดทำดัชนีไฟล์ ขนาดไฟล์เป็นอีกสิ่งสำคัญ


2

MD5 มีการใช้กันอย่างแพร่หลายเนื่องจากมีการใช้กันอย่างแพร่หลายและการแบ่งยังไม่สำคัญพอที่จะเป็นปัญหาที่ชัดเจนในระบบที่มีอยู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.