มีฟังก์ชันแฮชการเข้ารหัสลับ BLAKE3 ซึ่งเร็วกว่า SHA-10 ถึง 2 เท่า

มีการเผยแพร่การใช้งานอัลกอริทึมขั้นสุดท้ายแล้ว เบลค3ซึ่งมีฟังก์ชันแฮชการเข้ารหัสที่ออกแบบมาสำหรับแอปพลิเคชัน เช่น การตรวจสอบความสมบูรณ์ของไฟล์ การตรวจสอบข้อความ และการสร้างข้อมูลสำหรับลายเซ็นดิจิทัล 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

มีฟังก์ชันแฮชการเข้ารหัสลับ BLAKE3 ซึ่งเร็วกว่า SHA-10 ถึง 2 เท่า

อัลกอริธึมได้รับการพัฒนาโดยผู้เชี่ยวชาญด้านการเข้ารหัสที่มีชื่อเสียง (แจ็ค โอคอนเนอร์, ฌอง-ฟิลิปป์ โอมาสซง, ซามูเอล เนเวส, Zooko Wilcox-O'Hearn) และยังคงพัฒนาอัลกอริทึมต่อไป เบลค2 และใช้กลไกในการเข้ารหัสบล็อกเชนทรี กระสอบ. ต่างจาก 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

เพิ่มความคิดเห็น