การเผยแพร่การใช้งานขั้นสุดท้ายของอัลกอริทึม ซึ่งมีฟังก์ชันแฮชการเข้ารหัสที่ออกแบบมาสำหรับแอปพลิเคชันต่างๆ เช่น การตรวจสอบความสมบูรณ์ของไฟล์ การตรวจสอบความถูกต้องของข้อความ และการสร้างข้อมูลสำหรับลายเซ็นดิจิทัล BLAKE3 ไม่ได้ออกแบบมาสำหรับการแฮชรหัสผ่าน (สำหรับรหัสผ่าน ให้ใช้ yescrypt, bcrypt, scrypt หรือ Argon2) เนื่องจากออกแบบมาเพื่อคำนวณแฮชให้เร็วที่สุดเท่าที่จะเป็นไปได้ พร้อมทั้งรับประกันการไม่มีการชนกันและการป้องกัน และความไม่ไวต่อขนาดของข้อมูลที่ถูกแฮช การใช้งานอ้างอิงคือ BLAKE3 ได้รับอนุญาตสองฉบับ - สาธารณสมบัติ (CC0) และ Apache 2.0
คุณสมบัติหลักของฟังก์ชันแฮชใหม่คือประสิทธิภาพในการคำนวณแฮชที่สูงมาก ในขณะที่ยังคงรักษาความน่าเชื่อถือระดับ SHA-3 ไว้ได้ โดยค่าเริ่มต้น ขนาดแฮชที่ได้ใน BLAKE3 คือ 32 ไบต์ (256 บิต) แต่สามารถขยายเป็นค่าใดก็ได้ ในการทดสอบการสร้างแฮชสำหรับไฟล์ขนาด 16 KB พบว่า BLAKE3 มีประสิทธิภาพสูงกว่า SHA3-256 ถึง 15 เท่า, SHA-256 ถึง 12 เท่า, SHA-512 ถึง 8 เท่า, SHA-1 ถึง 6 เท่า และ BLAKE2b ถึง 4 เท่า ข้อได้เปรียบที่สำคัญนี้ยังคงอยู่แม้ในขณะที่ประมวลผลข้อมูลจำนวนมาก ตัวอย่างเช่น BLAKE3 ปรากฏว่า SHA-256 เร็วขึ้น 8 เท่า เมื่อคำนวณแฮชข้อมูลสุ่มขนาด 1GB
อัลกอริทึมนี้ได้รับการพัฒนาโดยผู้เชี่ยวชาญด้านการเข้ารหัสที่มีชื่อเสียง (, , , ) และยังคงพัฒนาอัลกอริทึมต่อไป และใช้กลไกในการเข้ารหัสต้นไม้ของบล็อกเชน ต่างจาก BLAKE2 (BLAKE2b, BLAKE2s) BLAKE3 นำเสนออัลกอริทึมเดียวสำหรับทุกแพลตฟอร์ม โดยไม่เกี่ยวข้องกับความลึกของบิตและขนาดของแฮช
การปรับปรุงประสิทธิภาพทำได้โดยการลดจำนวนรอบจาก 10 เหลือ 7 และแยกบล็อกแฮชเป็นชิ้นขนาด 1 KB ผู้สร้างกล่าวว่าพวกเขาพบว่า , ว่าสามารถใช้ 7 รอบแทน 10 รอบได้ โดยยังคงความน่าเชื่อถือในระดับเดิม (เพื่อความชัดเจน ลองพิจารณาตัวอย่างการผสมผลไม้ในเครื่องปั่น: หลังจากผ่านไป 7 วินาที ผลไม้ก็ผสมเข้ากันหมดแล้ว และการใช้เวลาเพิ่มอีก 3 วินาทีจะไม่ส่งผลต่อความสม่ำเสมอของส่วนผสม) อย่างไรก็ตาม นักวิจัยบางคนแสดงความสงสัย โดยเชื่อว่าแม้ว่า 7 รอบจะเพียงพอที่จะต้านทานการโจมตีแบบแฮชที่รู้จักทั้งหมดในปัจจุบัน แต่การเพิ่ม 3 รอบอาจเป็นประโยชน์หากค้นพบการโจมตีใหม่ๆ ในอนาคต
ในส่วนของการแบ่งบล็อก ใน BLAKE3 สตรีมจะถูกแบ่งออกเป็นชิ้นขนาด 1 KB และแต่ละชิ้นจะถูกแฮชแยกกัน โดยพิจารณาจากแฮชของชิ้น แฮชขนาดใหญ่เพียงตัวเดียวถูกสร้างขึ้น การแบ่งส่วนนี้ช่วยให้เราแก้ปัญหาการประมวลผลข้อมูลแบบขนานเมื่อคำนวณแฮชได้ ตัวอย่างเช่น เราสามารถใช้คำสั่ง SIMD แบบ 4 เธรดเพื่อคำนวณแฮชของ 4 บล็อกพร้อมกันได้ ฟังก์ชันแฮช SHA-* แบบดั้งเดิมจะประมวลผลข้อมูลตามลำดับ
คุณสมบัติของ BLAKE3:
- ประสิทธิภาพสูง;
- ความปลอดภัย รวมถึงความต้านทานต่อ ซึ่ง SHA-2 มีแนวโน้มจะได้รับผลกระทบ
- การจัดเตรียมการประมวลผลแบบขนานข้ามจำนวนเธรดและช่อง SIMD ใดๆ
- ความเป็นไปได้ในการอัปเดตเพิ่มเติมและการประมวลผลสตรีมที่ได้รับการตรวจสอบ
- สามารถใช้งานได้ในโหมด PRF, MAC, KDF, XOF และเป็นแฮชปกติ
- อัลกอริธึมเดียวสำหรับสถาปัตยกรรมทั้งหมด รวดเร็วบนทั้งระบบ x86-64 และโปรเซสเซอร์ ARM 32 บิต
ที่มา: opennet.ru
