เหตุใด 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.