CH-J Server Managerการจัดการเซิร์ฟเวอร์ผ่าน SSH
เมนู
คู่มือและบทความทั้งหมด →

SHA-256 เทียบกับ SHA-512 และ BLAKE3: ควรใช้เช็กซัมแบบใด?

ความแตกต่างของทั้งสามอัลกอริทึมด้านความปลอดภัย ความเร็ว และความเข้ากันได้ สิ่งที่เช็กซัมพิสูจน์ไม่ได้ และแนวทางเลือกใช้

คำตอบแบบสั้น

ใช้อัลกอริทึมที่ผู้เผยแพร่ไฟล์ระบุให้ เพราะต้องใช้อัลกอริทึมเดียวกันจึงจะเปรียบเทียบได้ สำหรับงานใหม่ SHA-256 เป็นตัวเลือกที่เข้ากันได้กว้างที่สุด และ SHA-512 ก็เป็นตัวเลือกที่ดีเช่นกัน BLAKE3 เป็นตัวเลือกที่เร็วที่สุดสำหรับข้อมูลขนาดใหญ่ของคุณเอง หากมีเครื่องมือนี้ในทุกระบบที่เกี่ยวข้อง ปัจจุบันทั้งสามถือว่าปลอดภัย และยังไม่มีการโจมตีที่นำไปใช้ได้จริงซึ่งเป็นที่ทราบสำหรับทั้งสามอัลกอริทึม

ความแตกต่างของแต่ละอัลกอริทึม

SHA-256 และ SHA-512 อยู่ในตระกูล SHA-2 ที่ NIST กำหนดเป็นมาตรฐาน และมักเป็นข้อกำหนดตามกฎการปฏิบัติตามมาตรฐาน BLAKE3 ใหม่กว่าและไม่ใช่มาตรฐานของ NIST จึงอาจไม่ตรงตามกฎเหล่านั้น SHA-256 และ BLAKE3 ที่ใช้เอาต์พุตเริ่มต้นให้ผลลัพธ์ 256 บิต ซึ่งหมายถึงความต้านทานการชนกันประมาณ 128 บิต SHA-512 ให้ผลลัพธ์ 512 บิตและความต้านทานประมาณ 256 บิต ในทางปฏิบัติ ทั้งสองระดับสูงเกินขีดความสามารถในการโจมตีไปมาก

ความเร็วขึ้นอยู่กับฮาร์ดแวร์

BLAKE3 ออกแบบมาให้ใช้ CPU หลายคอร์และคำสั่งเวกเตอร์สมัยใหม่ จึงมักเร็วกว่าอย่างชัดเจนเมื่อใช้กับไฟล์ขนาดใหญ่ ส่วนผลลัพธ์ระหว่างรุ่นต่าง ๆ ของ SHA-2 จะแตกต่างกันไป: SHA-512 มักเร็วกว่าเมื่อใช้ CPU 64 บิตที่ไม่มีคำสั่งเฉพาะ ขณะที่ CPU ที่มีส่วนขยาย SHA ทำให้ SHA-256 เร็วกว่า ควรวัดบนเครื่องของคุณเองด้วยไฟล์ขนาดใหญ่ เพราะแคชและดิสก์มีผลต่อผลลัพธ์ อาจต้องติดตั้ง b3sum แยกต่างหาก

time sha256sum large.iso
time sha512sum large.iso
time b3sum large.iso

เช็กซัมพิสูจน์อะไรได้บ้าง

เช็กซัมที่ตรงกันแสดงว่าไฟล์เหมือนกับไฟล์ที่ใช้คำนวณค่าแฮชทุกประการ แต่ไม่ได้ระบุว่าใครเป็นผู้สร้างไฟล์ หากผู้โจมตีแก้ไขได้ทั้งไฟล์ที่ให้ดาวน์โหลดและเช็กซัมบนหน้าเดียวกัน การเปรียบเทียบก็จะผ่าน หากต้องการตรวจสอบแหล่งที่มา คุณต้องใช้ค่าแฮชจากช่องทางแยกที่เชื่อถือได้ หรือลายเซ็น เช่น GPG

sha256sum -c SHA256SUMS
gpg --verify SHA256SUMS.asc SHA256SUMS

สิ่งที่ควรหลีกเลี่ยง

ความต้านทานการชนกันของ MD5 และ SHA-1 ถูกเจาะได้แล้ว จึงไม่ควรใช้ป้องกันการแก้ไขข้อมูลโดยเจตนา ทั้งสองอาจยังปรากฏในไฟล์รายการเก่า ซึ่งใช้ตรวจจับความเสียหายที่เกิดขึ้นโดยไม่ตั้งใจเท่านั้น ฟังก์ชันที่ไม่ใช่แบบเข้ารหัสลับ เช่น CRC-32 และ xxHash สร้างมาเพื่อความเร็วและการตรวจจับข้อผิดพลาดโดยไม่ตั้งใจ ไม่ใช่เพื่อความปลอดภัยโดยเด็ดขาด

เช็กซัมใน CH-J Server Manager

โมดูล Hash & Checksum มีทั้งสามอัลกอริทึม และระบุ SHA-256, SHA-512 และ BLAKE3 ว่าแนะนำให้ใช้ ส่วน MD5 และ SHA-1 ระบุว่าถูกเจาะได้แล้ว โมดูลนี้คำนวณค่าแฮช เปรียบเทียบไฟล์ และตรวจสอบกับค่าที่คาดไว้ได้ แต่ไม่สามารถบอกได้ว่าค่าที่คาดไว้นั้นเชื่อถือได้หรือไม่ จึงควรนำค่ามาจากแหล่งที่คุณเชื่อถือ แอปตรวจสอบการอัปเดตของตัวเองด้วย SHA-512 ร่วมกับลายเซ็น OpenPGP

เอกสารโดยละเอียด

NIST FIPS 180-4 →

BLAKE3 specification →

การปลดล็อกด้วยไบโอเมตริกและความปลอดภัย →