Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

อะไรคือความแตกต่างระหว่าง SHA และ MD5 ในการรักษาความปลอดภัยข้อมูล?


SHA

SHA ย่อมาจาก Secure Hash Algorithm Secure Hash Algorithm (SHA) คือกลุ่มฟังก์ชันแฮชเข้ารหัสที่ผลิตโดย U.S. National Institute of Standardsand Technology (NIST)

SHA 1 สามารถรับข้อความใดก็ได้เป็นอินพุตซึ่งก็คือ 2 64 มีความยาวบิตและสร้างข้อความย่อยยาว 160 บิต SHA ใช้กันอย่างแพร่หลายในแอปพลิเคชันต่างๆ รวมถึง SSH, SSL, IPsec และ S-MIME (ส่วนขยายอีเมลที่ปลอดภัยและอเนกประสงค์)

MD5

Message Digest (MD5) เป็นอัลกอริธึมการแฮชแบบสากลที่ RonRivest คิดค้นและใช้ในแอปพลิเคชั่นอินเทอร์เน็ตหลายตัวในปัจจุบัน เป็น hashalgorithm เข้ารหัสที่สามารถใช้เพื่อสร้างค่าสตริง 128 บิตจากความยาวโดยพลการ โดยไม่คำนึงถึงช่องโหว่ด้านความปลอดภัย มีการใช้และปรับใช้อย่างกว้างๆ ส่วนใหญ่เพื่อตรวจสอบความสมบูรณ์ของไฟล์

MD5 ขึ้นอยู่กับรุ่นก่อน นั่นคืออัลกอริธึม MD4 อัลกอริทึมหลักอิงตามฟังก์ชันการบีบอัดที่ทำงานบนบล็อก อัลกอริทึม MD5 ใช้ข้อความอินพุทที่มีความยาวตามอำเภอใจ และพัฒนาเป็นเอาต์พุต "ลายนิ้วมือ" หรือ "ข้อความย่อย" ขนาด 128 บิตของข้อความอินพุต

MD5 ไม่ได้เร็วเหมือนอัลกอริธึม MD4 แต่ให้การรักษาความปลอดภัยของข้อมูลที่ดีกว่ามาก โดยทั่วไปจะใช้ในโปรโตคอลความปลอดภัยและแอปพลิเคชันต่างๆ รวมถึง SSH, SSL และ IPSec

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

อัลกอริธึมการแฮชสรุปข้อความ MD5 ประมวลผลข้อมูลในบล็อก 512 บิต แบ่งออกเป็น 16 คำ ประกอบด้วย 32 บิต เอาต์พุตจาก MD5 เป็นค่าสรุปข้อความขนาด 128 บิต

ให้เราดูการเปรียบเทียบระหว่าง SHA และ MD5

SHA MD5
SHA ย่อมาจาก Secure Hash Algorithm MD5 ย่อมาจาก Message Digest
อัลกอริทึมแฮชที่ปลอดภัย (SHA) คือกลุ่มของฟังก์ชันแฮชเข้ารหัสที่คิดค้นโดยสถาบันมาตรฐานและเทคโนโลยีแห่งสหรัฐอเมริกา (NIST) SHA มีการใช้อย่างแพร่หลายในแอปพลิเคชันต่างๆ รวมถึง SSH, SSL, IPsec และ S-MIME(Secure, Multi -purpose Mail Extension) การสรุปข้อความ (MD5) เป็นอัลกอริธึมการแฮชที่แพร่หลายซึ่งคิดค้นโดย Ron Rivest สามารถใช้ได้กับแอปพลิเคชั่นอินเทอร์เน็ตหลายตัวในปัจจุบัน เป็นอัลกอริธึมแฮชเข้ารหัสที่สามารถใช้เพื่อสร้างค่าสตริง 128 บิตจากสตริงที่มีความยาวตามอำเภอใจ วัตถุประสงค์หลักคือเพื่อตรวจสอบว่าไฟล์นั้นเหมือนกันหรือไม่
SHA1 สร้างไดเจสต์ข้อความยาว 160 บิต MD5 สามารถย่อยข้อความขนาดยาว 128 บิตได้
SHA1 นั้นยากกว่าเมื่อเทียบกับ MD5 MD5 เร็วกว่า SHA1
SHA-1 มี 20 รอบ MD5 มี 16 รอบ
SHA-1 ค่อนข้างต้องการพลังการประมวลผลมากกว่าเมื่อแยกจาก MD5 MD5 ค่อนข้างต้องการพลังในการประมวลผลน้อยกว่าเมื่อเทียบกับ SHA-1
SHA-1 ปลอดภัยกว่าและมีโอกาสน้อยที่จะเสี่ยงต่อการถูกโจมตีด้วยการเข้ารหัสลับ MD5 มีความปลอดภัยน้อยกว่าและเสี่ยงต่อการโจมตีด้วยการเข้ารหัส