ขีดจำกัดการแปลงมาตรฐานสำหรับ MD5 คือ 128 บิต สิ่งนี้ใช้ได้กับข้อความอินพุตที่มีความยาวเท่าใดก็ได้ อย่างไรก็ตาม สำหรับ SHA มันค่อนข้างหลากหลาย SHA สามารถแปลงข้อความอินพุตที่มีความยาวสูงสุด 264 – ถึง – 2128 บิตลงในข้อความย่อยเอาต์พุต 160- 512 บิต ความแตกต่างที่สำคัญระหว่างอัลกอริธึมทั้งสองนี้เน้นย้ำถึงรอยแยกเพิ่มเติมระหว่างทั้งสอง
SHA กับ MD5
ความแตกต่างระหว่าง SHA และ MD5 คือ SHA ถูกคิดค้นโดย National Institute of Standards and Technology (NIST) ในสหรัฐอเมริกาเพื่อจุดประสงค์ในการสร้างการสรุปข้อความแบบย่อ ในขณะที่ MD5 เป็นแนวคิดโดย Ron Rivest โดยมีจุดประสงค์เพื่อย่อไฟล์ให้เป็น ค่าแฮช 128 บิต
ตารางเปรียบเทียบระหว่าง SHA และ MD5
พารามิเตอร์ของการเปรียบเทียบ | ชา | MD5 |
คำนิยาม | SHA คืออัลกอริธึมฟังก์ชันแฮชเข้ารหัสที่สร้างโดย NIST เพื่ออำนวยความสะดวกในการสร้างไดเจสต์ข้อความ | MD5 ถูกสร้างขึ้นโดย Ron Rivest และใช้เพื่อแปลงข้อความที่มีความยาวตามอำเภอใจเป็นไดเจสต์ข้อความ 128 บิต |
ตัวเต็ม | SHA ย่อมาจาก Secure Hash Algorithm | MD5 ย่อมาจาก Message Digest |
ความยาวข้อความสูงสุด | SHA สามารถแปลงข้อความของ264 – ถึง – 2128 บิตเพื่อสร้างข้อความย่อย 160- 512 บิต | MD5 สามารถแปลงข้อความที่มีความยาวเท่าใดก็ได้ให้เป็นไดเจสต์ข้อความ 128 บิต |
ความปลอดภัย | ในฐานะที่เป็นอัลกอริธึมแฮชเข้ารหัส SHA มีความปลอดภัยมากกว่า MD5 | MD5 มีความปลอดภัยน้อยกว่า SHA และเวอร์ชัน SHA-1 ที่ปรับปรุงแล้ว |
ความเร็ว | เวอร์ชันดั้งเดิมของอัลกอริทึมนั้นช้ากว่า MD5 อย่างไรก็ตาม ภาคต่อๆ มาอย่าง SHA-1 นั้นให้ความเร็วที่มากขึ้นกว่าเดิมมาก | MD5 นั้นเร็วกว่ารุ่น SHA ดั้งเดิม |
จุดอ่อน | ไม่เสี่ยงต่อภัยคุกคามทางไซเบอร์และการโจมตีของแฮ็กเกอร์ | เสี่ยงต่อภัยคุกคามทางไซเบอร์และการโจมตีของแฮ็กเกอร์มากขึ้น |
จำนวนการโจมตี | การโจมตีน้อยลงสามารถละเมิดอัลกอริทึมได้ | มีรายงานการโจมตีรุนแรงหลายครั้ง |
ใช้วันนี้ | ใช้ในแอปพลิเคชันเช่น SSH, SSL เป็นต้น | การใช้งาน MD5 ส่วนใหญ่จำกัดเฉพาะการตรวจสอบความสมบูรณ์ของไฟล์เนื่องจากโปรโตคอลความปลอดภัยไม่ดี |
SHA คืออะไร?
SHA ย่อมาจาก Secure Hash Algorithm เดิมได้รับการพัฒนาและออกแบบโดยสถาบันมาตรฐานและเทคโนโลยีแห่งสหรัฐอเมริกา (NIST) SHA หมายถึงกลุ่มบริษัทที่มีฟังก์ชันแฮชเข้ารหัสที่ปลอดภัยซึ่งระบุไว้ภายใต้ Secure Hash Standard (SHS)
อัลกอริทึมเวอร์ชันต่างๆ รวมถึงรุ่นขั้นสูงของ SHA-1, SHA-256 และ SHA-384 และ SHA-512 เวอร์ชันดั้งเดิมมีฟังก์ชันแฮช 10 บิต ในไม่ช้าก็ถูกแทนที่ด้วย SHA-1 เวอร์ชันใหม่ที่ได้รับการปรับปรุง เวอร์ชันที่ใหม่กว่าของอัลกอริทึมยังมีฟังก์ชันแฮชแบบทางเดียวที่ประมวลผลข้อความที่มีความยาวสูงสุด 264 – ถึง – 2128 บิต สิ่งนี้ถูกย่อเพื่อสร้างไดเจสต์ข้อความ 160- 512 บิต
โปรโตคอลความปลอดภัยของอัลกอริธึมนี้และตัวแปรที่ได้รับการปรับปรุงนั้นมีความครอบคลุมและแข็งแกร่งกว่าคู่แข่งในตลาดอื่น ๆ การป้องกันช่องโหว่ที่จัดทำโดยอัลกอริทึมนั้นไม่มีใครเทียบได้
MD5 คืออะไร?
MD5 หมายถึงอัลกอริธึมการแฮชที่รู้จักกันในชื่อ Message Digest มันถูกสร้างขึ้นเป็นอัลกอริธึมแฮชเข้ารหัสโดย Ron Rivest เวอร์ชัน MD5 ถูกสร้างขึ้นเพื่อปรับปรุงข้อเสนอของรุ่นก่อน –MD4
ปมของอัลกอริทึมนั้นขึ้นอยู่กับฟังก์ชันการบีบอัดที่ทำงานบนบล็อก ฟังก์ชัน MD5 โดยการป้อนข้อความที่มีความยาวต่างกัน แล้วแปลงเป็น 'ลายนิ้วมือ' หรือ 'ข้อความย่อย' 128 บิต ดังนั้น อัลกอริทึมจึงสามารถสร้างค่าแฮช 128 บิตจากความยาวของสตริงตามอำเภอใจ
แม้ว่าเวอร์ชัน MD5 จะได้รับการปรับปรุงเหนือข้อกังวลด้านความปลอดภัยของรุ่นก่อน แต่ก็ไม่ได้รวมเอาโปรโตคอลความปลอดภัยที่แข็งแกร่งมาก MD5 ถูกวิพากษ์วิจารณ์อย่างกว้างขวางเกี่ยวกับปัญหาช่องโหว่ที่รุนแรง อัลกอริทึมไม่ได้ให้ความปลอดภัยแก่ผู้ใช้มากนัก ทุกวันนี้ มักใช้เพื่อกำหนดความสมบูรณ์ของไฟล์มากกว่าที่จะเป็นฟังก์ชันแฮชเป็นหลัก
ความแตกต่างหลักระหว่าง SHA และ MD5
- ความแตกต่างหลัก ระหว่าง SHA และ MD5 คือ SHA หมายถึงฟังก์ชันแฮชเข้ารหัสที่พัฒนาโดย NIST ในขณะที่ MD5 เป็นฟังก์ชันแฮชที่ใช้กันทั่วไปซึ่งสร้างค่าแฮช 128 บิตจากไฟล์ที่มีความยาวสตริงต่างกัน
- ตัวย่อแต่ละตัวแสดงถึงรูปแบบเต็มที่แตกต่างกัน SHA ย่อมาจาก Secure Hash Algorithm ในขณะที่ MD5 ย่อมาจาก Message Digest Algorithm
- ความยาวการควบแน่นสูงสุดสำหรับแต่ละอัลกอริธึมจะแตกต่างกัน SHA สามารถประมวลผลข้อความอินพุตที่มีความยาวสูงสุด 264 – ถึง – 2128 บิต สิ่งนี้ถูกย่อเพื่อสร้างไดเจสต์ข้อความ 160- 512 บิต ในขณะที่ MD5 สามารถรับข้อความที่มีความยาวเท่าใดก็ได้ และย่อเป็นข้อความย่อย 128 บิต
- SHA นั้นปลอดภัยกว่าเมื่อเทียบกับอัลกอริธึมแฮชที่เข้ารหัสลับมากกว่า MD5
- อัลกอริทึม MD5 นั้นเร็วกว่าเวอร์ชัน SHA มาก อย่างไรก็ตาม เวอร์ชัน SHA1 ที่ปรับให้เหมาะสมนั้นได้รับการพัฒนาเพื่อปรับปรุงให้เหนือกว่าอัลกอริธึมเริ่มต้นและเร็วกว่า MD5 มาก
- มีการรายงานการโจมตีที่ร้ายแรงหลายครั้งในอัลกอริธึม MD5 ในขณะที่เวอร์ชัน SHA โดยเฉพาะอย่างยิ่งตัวแปรที่ปรับปรุงแล้ว รายงานการโจมตีน้อยลง
- อัลกอริธึม MD5 มีความอ่อนไหวต่อภัยคุกคามทางไซเบอร์และการโจมตีของแฮ็กเกอร์มากกว่า เนื่องจากอินเทอร์เฟซสามารถถอดรหัสได้ง่ายกว่าเมื่อเทียบกับเวอร์ชัน SHA ที่ปรับปรุงมากขึ้น เช่น SHA-1
บทสรุป
ทั้ง SHA และ MD5 เป็นอัลกอริธึมการแฮช ทั้งสองมีความคล้ายคลึงกันหลายประการ อย่างไรก็ตาม ความแตกต่างระหว่างทั้งสองมีความเท่าเทียมกันในการวิเคราะห์เปรียบเทียบการแสดงของแต่ละคน
Secure Hash Algorithm หรือ SHA ถูกสร้างขึ้นโดย NIST โดยมีวัตถุประสงค์เพื่อสร้างอัลกอริทึมแฮชที่มีการเข้ารหัส ปลอดภัย และมีประสิทธิภาพ ผู้สืบทอดรุ่น SHA ดั้งเดิมได้รับการเสนอชื่อโดย Federal Information Processing Standard ว่าเป็น 4 อัลกอริธึมการแฮชที่ปลอดภัยที่สุดในตลาด
ในทางกลับกัน MD5 ถูกสร้างขึ้นโดย Ron Rivest เป็นอัลกอริธึมการแฮชเข้ารหัสที่สามารถย่อข้อความอินพุตที่มีความยาวต่างกันลงในไดเจสต์ข้อความขนาด 128 บิตมาตรฐาน ในขณะที่ SHA สามารถแปลงข้อความที่มีความยาวสูงสุด 264 – ถึง – 2128 บิตเป็นไดเจสต์ข้อความ 160- 512 บิต MD5 มีความสามารถในการแปลงข้อความที่มีความยาวตามอำเภอใจเป็น 'ลายนิ้วมือ' มาตรฐานหรือไดเจสต์เอาต์พุต
มีความแตกต่างที่โดดเด่นอื่นๆ อีกหลายประการระหว่างทั้งสองในแง่ของความปลอดภัย การใช้งาน ช่องโหว่จากการโจมตีทางไซเบอร์ และอื่นๆ ในตัวเลือกระหว่างอัลกอริธึมการแฮชทั้งสองแบบ SHA จะรักษาความได้เปรียบเหนือ MD5 ที่ไม่อาจปฏิเสธได้อย่างแน่นอน
อ้างอิง
- https://ieeexplore.ieee.org/abstract/document/6632545/