0Pricing
Cryptology Academy · บทเรียน

MD5: ประวัติ การใช้งาน และเหตุผลที่เสียความปลอดภัย

เรียนรู้กลไกภายในของ MD5 และการโจมตีแบบชนกันที่ทำให้เลิกใช้

MD5: ประวัติ การใช้งาน และเหตุผลที่เสียความปลอดภัย เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

MD5 เคยเป็นฟังก์ชันแฮชที่ใช้งานแพร่หลายที่สุด ปัจจุบันไม่ปลอดภัยโดยสิ้นเชิงสำหรับวัตถุประสงค์ด้านความปลอดภัย มาทำความเข้าใจกันว่าเหตุใดจึงเป็นเช่นนั้นและเกิดข้อผิดพลาดอะไรขึ้น

ภาพรวม MD5

MD5 (Message Digest 5) ออกแบบโดย Ron Rivest ในปี 1991 และสร้างแฮชขนาด 128 บิต (16 ไบต์) ตัวอย่างเอาต์พุต: MD5('hello') = 5d41402abc4b2a76b9719d911017c592

โครงสร้างอัลกอริทึม MD5

MD5 ใช้ Merkle-Damgård กับบล็อกขนาด 512 บิต แต่ละบล็อกจะผ่าน 4 รอบ โดยแต่ละรอบมีการดำเนินการ 16 รายการ การดำเนินการเหล่านี้ใช้ AND, OR, XOR, NOT ระดับบิต การบวก และการหมุนบิตไปทางซ้าย

MD5 ใน Python

import hashlib hash = hashlib.md5(b'hello').hexdigest() print(hash) # 5d41402abc4b2a76b9719d911017c592 print(len(hash)) # 32 hex chars = 128 bits

การใช้งานในอดีต

MD5 เคยใช้สำหรับ: การตรวจสอบความถูกต้องครบถ้วนของ file การจัดเก็บรหัสผ่าน ใบรับรอง SSL ลายเซ็นดิจิทัล และการลงลายเซ็นโค้ด ความเร็วของมัน (เร็วมาก!) ทำให้ได้รับความนิยม

รอยร้าวแรก: การโจมตีแบบความแตกต่าง ปี 1996

ในปี 1996 Hans Dobbertin ค้นพบการชนกันในฟังก์ชันบีบอัดของ MD5 นี่เป็นสัญญาณเตือน แต่ MD5 ยังคงถูกใช้อย่างแพร่หลายต่อไปอีกหลายปี

การชนกันอย่างสมบูรณ์: Wang และคณะ ปี 2004

ในปี 2004 ทีมของ Xiaoyun Wang ค้นพบการชนกันอย่างสมบูรณ์ของ MD5 ได้ภายในไม่กี่วินาที ไฟล์สองไฟล์ที่แตกต่างกันจึงสามารถให้ค่าแฮชเดียวกันได้ MD5 หมดความน่าเชื่อถือด้านการป้องกันการชนกันอย่างเป็นทางการแล้ว

มัลแวร์ Flame (2012)

มัลแวร์ Flame ใช้การชนกันของ MD5 เพื่อปลอมแปลงใบรับรองการลงนามโค้ดของ Microsoft ทำให้ซอฟต์แวร์ที่เป็นอันตรายดูเหมือนผ่านการลงนามโดย Microsoft อย่างถูกต้อง

MD5 สำหรับการใช้งานที่ไม่เกี่ยวกับความปลอดภัย

MD5 ยังคงยอมรับได้สำหรับค่าตรวจสอบที่ไม่เกี่ยวกับความปลอดภัย (เช่น การตรวจสอบการดาวน์โหลดไฟล์ในกรณีที่ไม่ต้องกังวลเรื่องการโจมตีแบบชนกัน) และตารางแฮชที่ไม่ใช่การเข้ารหัส แต่ห้ามใช้กับความปลอดภัยโดยเด็ดขาด

ความล้มเหลวในการจัดเก็บรหัสผ่าน

รหัสผ่านที่ใช้ MD5 ถูกถอดได้อย่างง่ายดาย เพราะมีตารางสายรุ้งขนาดมหาศาลสำหรับค่าแฮช MD5 อยู่แล้ว MD5('password') ที่ไม่มีการเติมค่าเกลือจะให้ค่าแฮชเดิมเสมอ CrackStation สามารถถอดได้หลายพันล้านรายการต่อวินาที

การย้ายออกจาก MD5

แทนที่ MD5 ด้วย SHA-256 (ความถูกต้องโดยทั่วไป), SHA-3 (การออกแบบใหม่), bcrypt/Argon2 (รหัสผ่าน) หรือ HMAC-SHA256 (การยืนยันความถูกต้องของข้อความ) ไม่มีข้อยกเว้น

ตรวจสอบอย่างรวดเร็ว

เหตุใด MD5 จึงถูกยกเลิกการใช้งานด้านความปลอดภัย

สรุปทบทวน

MD5 หมดความน่าเชื่อถือสำหรับงานด้านความปลอดภัยแล้ว ต่อไปเราจะศึกษา SHA-1 และตระกูล SHA-2 เพื่อทำความเข้าใจการปรับปรุงที่เกิดขึ้นหลังจากนั้น

คำถามที่พบบ่อย

บทเรียน “MD5: ประวัติ การใช้งาน และเหตุผลที่เสียความปลอดภัย” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “MD5: ประวัติ การใช้งาน และเหตุผลที่เสียความปลอดภัย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “MD5: ประวัติ การใช้งาน และเหตุผลที่เสียความปลอดภัย”

เรียนรู้กลไกภายในของ MD5 และการโจมตีแบบชนกันที่ทำให้เลิกใช้ คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “MD5: ประวัติ การใช้งาน และเหตุผลที่เสียความปลอดภัย” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. อะไรทำให้ฟังก์ชันแฮชดี
  2. MD5: ประวัติ การใช้งาน และเหตุผลที่เสียความปลอดภัย
  3. อธิบายตระกูล SHA-1 และ SHA-2
  4. การประยุกต์ใช้แฮช: ผลรวมตรวจสอบ HMAC และ Git
← กลับไปที่ Cryptology Academy