Palaksanaan ahir algoritma geus diterbitkeun , anu nawiskeun fungsi hash kriptografis anu dirancang pikeun aplikasi sapertos verifikasi integritas file, auténtikasi pesen, sareng ngahasilkeun data pikeun tanda tangan digital. BLAKE3 henteu dirancang pikeun hashing sandi (pikeun sandi, make yescrypt, bcrypt, scrypt, atawa Argon2), sabab dirancang pikeun ngitung hashes gancang-gancang bari ngajamin henteuna tabrakan jeung panyalindungan ngalawan sareng teu sensitipitas kana ukuran data anu hashed. Palaksanaan rujukan nyaéta BLAKE3 Dual dilisensikeun - domain publik (CC0) jeung Apache 2.0.
Fitur konci tina fungsi hash anyar nyaéta kinerja itungan hash anu luhur pisan bari ngajaga réliabilitas tingkat SHA-3. Sacara standar, ukuran hash anu dihasilkeun dina BLAKE3 nyaéta 32 bait (256 bit), tapi tiasa dilegakeun kana nilai anu sawenang. Dina uji ngahasilkeun hash pikeun file 16 KB, BLAKE3 ngaleuwihan SHA3-256 ku 15 kali, SHA-256 ku 12 kali, SHA-512 ku 8 kali, SHA-1 ku 6 kali, sarta BLAKE2b ku 4 kali. kalungguhan signifikan ieu dijaga sanajan ngolah jumlahna kacida gedéna data; contona, BLAKE3 tétéla SHA-256 8 kali langkung gancang nalika ngitung hash 1GB data acak.
Algoritma ieu dikembangkeun ku ahli kriptografi anu kasohor (, , , ) sarta terus ngamekarkeun algoritma sarta ngagunakeun mékanisme pikeun encode tangkal tina ranté block Beda sareng BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 nawiskeun algoritma tunggal pikeun sadaya platform, teu aya hubunganana sareng jerona bit sareng ukuran hash.
Perbaikan kinerja dihontal ku cara ngirangan jumlah babak tina 10 ka 7 sareng blok hashing sacara misah dina sakumpulan 1 KB. Numutkeun panyipta, aranjeunna mendakan anu pikaresepeun , éta 7 rounds bisa dipaké tinimbang 10 bari ngajaga tingkat reliabiliti sarua (pikeun kajelasan, mertimbangkeun conto Pergaulan buah dina Blénder a: sanggeus 7 detik, buah tos rengse dicampurkeun, sarta tambahan 3 detik moal mangaruhan konsistensi campuran). Sanajan kitu, sababaraha peneliti nganyatakeun ragu, yakin yén sanajan 7 rounds ayeuna cukup pikeun nolak sagala serangan hash dipikawanoh, tambahan 3 rounds bisa ngabuktikeun mangpaat lamun serangan anyar kapanggih dina mangsa nu bakal datang.
Ngeunaan division blok, dina BLAKE3 aliran dibagi kana 1 sakumpulan KB, sarta unggal sapotong geus hashed mandiri. Dumasar hashes chunk, A hash badag tunggal kabentuk. Divisi ieu ngamungkinkeun urang pikeun ngajawab masalah parallelizing ngolah data nalika ngitung hash-contona, urang tiasa nganggo paréntah SIMD 4-threaded pikeun sakaligus ngitung hashes 4 blok. Fungsi hash SHA-* Tradisional ngolah data sacara berurutan.
Keunggulan BLAKE3:
- kinerja luhur;
- Kasalametan, kaasup lalawanan ka , nu SHA-2 rentan ka;
- Nyadiakeun paralelisasi komputasi dina sajumlah benang sareng saluran SIMD;
- Kamungkinan ngamutahirkeun incremental sareng ngolah aliran anu diverifikasi;
- Bisa dipaké dina modeu PRF, MAC, KDF, XOF jeung salaku Hash biasa;
- Algoritma tunggal pikeun sadaya arsitéktur, gancang dina sistem x86-64 sareng prosesor ARM 32-bit.
sumber: opennet.ru
