SHA เป็นตัวย่อสำหรับ Secure Hash Algorithm ซึ่งเป็นมาตรฐานการเข้ารหัสที่คิดค้นโดย National Security Agency และเผยแพร่โดย National Institutes of Standards and Technology พบว่าอัลกอริทึม SHA ดั้งเดิมมีจุดอ่อนในวิธีการเข้ารหัส และถูกแทนที่ด้วย SHA-1 เพื่อความปลอดภัยที่แข็งแกร่งยิ่งขึ้น
อัลกอริทึมแฮชที่ปลอดภัย
SHA เป็นฟังก์ชันแฮชเข้ารหัส ฟังก์ชันแฮชใช้ข้อความที่ไม่ได้เข้ารหัสเริ่มต้น เรียกว่าข้อความธรรมดา และสร้างตัวเลขเฉพาะทางทฤษฎีที่ประกอบขึ้นเป็นข้อความที่เข้ารหัส SHA สร้างตัวเลข 160 บิต ซึ่งเป็นตัวเลขระหว่าง 0 ถึง 1.46 x 10^48 เป็นไปไม่ได้ที่หมายเลขนี้จะรับประกันว่าจะไม่ซ้ำกันสำหรับข้อความธรรมดาที่เป็นไปได้ทั้งหมด เนื่องจากจำนวนข้อความดังกล่าวคือ ในทางทฤษฎีไม่มีที่สิ้นสุด แต่อัตราต่อรองอยู่ที่ประมาณ 2^80 หรือ 1.21 x 10^24 กับสองข้อความที่สร้างการเข้ารหัสเดียวกัน ผลลัพธ์. หากสิ่งนี้เกิดขึ้น สิ่งนี้เรียกว่าการชนกัน การชนกันทำให้เกิดการโจมตีทางคณิตศาสตร์ในอัลกอริธึมการเข้ารหัส ทำให้ผู้เข้ารหัสสามารถถอดรหัสข้อความธรรมดาได้
วีดีโอประจำวันนี้
SHA-0 และ SHA-1
หลังจากการตีพิมพ์ พบข้อบกพร่องในอัลกอริธึม SHA ดั้งเดิมซึ่งอนุญาตให้มีการโจมตีด้วยการเข้ารหัสเพื่อสร้างการชนกันของแฮช ซึ่งทำให้ประสิทธิภาพลดลงอย่างมาก SHA-1 เวอร์ชัน SHA ที่แก้ไขได้รับการพัฒนาซึ่งสร้างผลลัพธ์ 160 บิตแบบเดียวกันโดยไม่มีข้อบกพร่องดั้งเดิมในอัลกอริทึม SHA ดั้งเดิมถูกเปลี่ยนชื่อย้อนหลัง SHA-0 เพื่อแยกความแตกต่างระหว่างการใช้งานและการใช้งาน SHA-1
การเปลี่ยนแปลงใน SHA-1
ข้อบกพร่องดั้งเดิมใน SHA-0 ไม่เคยเผยแพร่ เนื่องจากข้อบกพร่องเหล่านี้มีชุดเครื่องมือสำหรับผู้โจมตีที่พยายามถอดรหัสข้อความโดยใช้การเข้ารหัส SHA-0 ข้อมูลสาธารณะเพียงอย่างเดียวเกี่ยวกับจุดอ่อนในอัลกอริธึมดั้งเดิมบ่งชี้ว่าการชนกันของแฮชมีโอกาสมากกว่า มากกว่าจากโอกาสสุ่มเมื่อใช้ SHA-0 และการชนกันโดยใช้วิธีที่ไม่ได้เผยแพร่นั้นจะถูกกำจัดเมื่อใช้ เอสเอชเอ-1 เนื่องจาก SHA-1 และ SHA-0 ให้ผลลัพธ์ทางคณิตศาสตร์ที่มีความยาวเท่ากัน SHA-1 จึงสามารถใช้แทนการดรอปอินได้ ในซอฟต์แวร์คอมพิวเตอร์สำหรับอัลกอริธึม SHA-0 ดั้งเดิมโดยไม่ต้องมีการเขียนซ้ำครั้งใหญ่ในส่วนที่เหลือของ ซอฟต์แวร์.
SHA-2 และ SHA-3
พบว่า SHA-1 แข็งแกร่งกว่า SHA-0 แต่ยังเหลือพื้นที่สำหรับการปรับปรุง การวิเคราะห์ทางคณิตศาสตร์ของผลลัพธ์ SHA-1 แสดงให้เห็นวิธีการที่การเข้ารหัส SHA-1 สามารถทำได้โดยเสียหาย เร็วกว่าที่จะเป็นไปได้ในทางทฤษฎี 2,000 เท่าโดยการตรวจสอบชุดค่าผสมที่เป็นไปได้ทั้งหมด 10^48 รายการของ เอาท์พุท เนื่องจากอัลกอริธึมการเข้ารหัสในอุดมคติจะป้องกันการปรับปรุงความเร็วในการถอดรหัสประเภทนี้ อัลกอริธึม SHA-2 จึงหลีกเลี่ยงการโจมตีนี้และเพิ่มขนาดแฮชที่เป็นไปได้เป็น 512 บิต หรือ 1.34 x 10^154 SHA-3 ซึ่งเป็นอัลกอริธึมการเข้ารหัสที่ทรงพลังยิ่งกว่า กำลังอยู่ในระหว่างการพัฒนา