Có sẵn hàm băm mật mã BLAKE3, nhanh hơn 10 lần so với SHA-2

Việc thực hiện cuối cùng của thuật toán đã được công bố BẠCH3, cung cấp hàm băm mật mã được thiết kế cho các ứng dụng như kiểm tra tính toàn vẹn của tệp, xác thực tin nhắn và tạo dữ liệu cho chữ ký số. BLAKE3 không nhằm mục đích băm mật khẩu (đối với mật khẩu bạn cần sử dụng Yescrypt, bcrypt, scrypt hoặc Argon2), vì nó nhằm mục đích tính toán băm càng nhanh càng tốt với sự đảm bảo không va chạm, bảo vệ chống lại tìm nguyên mẫu và không nhạy cảm với kích thước của dữ liệu băm. Tham khảo triển khai BLAKE3 xuất bản Được cấp phép kép theo Miền công cộng (CC0) và Apache 2.0.

Sự khác biệt chính của hàm băm mới là hiệu suất tính toán băm rất cao trong khi vẫn duy trì độ tin cậy ở cấp độ SHA-3. Theo mặc định, kích thước băm thu được trong BLAKE3 là 32 byte (256 bit), nhưng nó có thể được mở rộng thành các giá trị tùy ý. Trong thử nghiệm tạo hàm băm cho tệp 16 KB, BLAKE3 vượt trội hơn SHA3-256 gấp 15 lần, SHA-256 gấp 12 lần, SHA-512 gấp 8 lần, SHA-1 gấp 6 lần và BLAKE2b gấp 4 lần. Vẫn còn một khoảng cách đáng kể khi xử lý lượng dữ liệu rất lớn, ví dụ BLAKE3 hóa ra là nhanh hơn SHA-256 gấp 8 lần khi tính toán hàm băm cho 1GB dữ liệu ngẫu nhiên.

Có sẵn hàm băm mật mã BLAKE3, nhanh hơn 10 lần so với SHA-2

Thuật toán được phát triển bởi các chuyên gia mật mã nổi tiếng (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) và tiếp tục phát triển thuật toán BẠCH2 và sử dụng cơ chế mã hóa cây chuỗi khối Bảo. Không giống như BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 cung cấp một thuật toán duy nhất cho tất cả các nền tảng, không bị ràng buộc bởi độ sâu bit và kích thước băm.

Hiệu suất tăng lên đạt được bằng cách giảm số vòng từ 10 xuống 7 và các khối băm riêng biệt thành các phần 1 KB. Theo những người sáng tạo, họ đã tìm thấy một sự thuyết phục bằng chứng, bạn có thể đạt được điều đó với 7 vòng thay vì 10 vòng trong khi vẫn duy trì mức độ tin cậy như nhau (để rõ ràng, bạn có thể đưa ra ví dụ về việc trộn trái cây trong máy trộn - sau 7 giây, trái cây đã được trộn hoàn toàn và thêm 3 giây nữa sẽ không ảnh hưởng đến độ đặc của hỗn hợp). Tuy nhiên, một số nhà nghiên cứu bày tỏ nghi ngờ, tin rằng ngay cả khi 7 vòng hiện tại là đủ để chống lại tất cả các cuộc tấn công đã biết vào bảng băm, thì 3 vòng bổ sung có thể hữu ích nếu các cuộc tấn công mới được xác định trong tương lai.

Đối với việc chia thành các khối, trong BLAKE3 luồng được chia thành các phần 1 KB và mỗi phần được băm độc lập. Dựa trên giá trị băm của các mảnh trên cơ sở cây merkle nhị phân một hàm băm lớn được hình thành. Phép chia này cho phép chúng ta giải quyết vấn đề xử lý song song dữ liệu khi tính toán hàm băm - ví dụ: bạn có thể sử dụng lệnh SIMD 4 luồng để tính toán đồng thời hàm băm của 4 khối. Hàm băm SHA-* truyền thống xử lý dữ liệu một cách tuần tự.

Các tính năng của BLAKE3:

  • Hiệu suất cao;
  • An toàn, bao gồm khả năng chống lại tấn công kéo dài tin nhắn, SHA-2 dễ bị ảnh hưởng;
  • Đảm bảo tính song song của các phép tính trên bất kỳ số lượng luồng và kênh SIMD nào;
  • Khả năng cập nhật gia tăng và xử lý các luồng được xác minh;
  • Sử dụng ở các chế độ PRF, MAC, KDF, XOF và dưới dạng hàm băm thông thường;
  • Một thuật toán duy nhất cho tất cả các kiến ​​trúc, nhanh chóng trên cả hệ thống x86-64 và bộ xử lý ARM 32 bit.

Nguồn: opennet.ru

Thêm một lời nhận xét