Implementasi pungkasan saka algoritma wis diterbitake , sing nawakake fungsi hash kriptografi sing dirancang kanggo aplikasi kayata mriksa integritas file, otentikasi pesen, lan ngasilake data kanggo tandha digital. BLAKE3 ora dimaksudake kanggo hashing sandhi (kanggo tembung sandhi sampeyan kudu nggunakake yescrypt, bcrypt, scrypt utawa Argon2), amarga tujuane kanggo ngitung hash kanthi cepet kanthi njamin ora ana tabrakan, perlindungan marang lan ora sensitif karo ukuran data hash. Referensi implementasi BLAKE3 Dual dilisensi ing Public Domain (CC0) lan Apache 2.0.
Bentenane utama fungsi hash anyar yaiku kinerja kalkulasi hash sing dhuwur banget nalika njaga linuwih ing tingkat SHA-3. Kanthi gawan, ukuran hash sing diasilake ing BLAKE3 yaiku 32 bait (256 bit), nanging bisa ditambahi dadi nilai sing sewenang-wenang. Ing test generasi hash kanggo file 16 KB, BLAKE3 ngluwihi SHA3-256 kaping 15, SHA-256 kaping 12, SHA-512 kaping 8, SHA-1 kaping 6, lan BLAKE2b kaping 4. A longkangan pinunjul tetep nalika ngolah data sing akeh banget, contone, BLAKE3 dadi SHA-256 kaping 8 nalika ngetung hash kanggo 1GB data acak.
Algoritma iki dikembangake dening ahli kriptografi sing misuwur (, , , ) lan terus ngembangake algoritma kasebut lan nggunakake mekanisme kanggo encode wit chain pemblokiran . Boten kados BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 nawakake algoritma siji kanggo kabeh platform, ora disambungake menyang ambane dicokot lan ukuran hash.
Peningkatan kinerja digayuh kanthi nyuda jumlah babak saka 10 dadi 7 lan blok hashing kanthi kapisah ing potongan 1 KB. Miturut pangripta, dheweke nemokake sing ngyakinake , sing bisa ditindakake kanthi 7 babak tinimbang 10 nalika njaga tingkat linuwih sing padha (kanggo gamblang, sampeyan bisa menehi conto karo nyampur woh-wohan ing mixer - sawise 7 detik woh-wohan wis rampung dicampur lan tambahan 3 detik bakal ora mengaruhi konsistensi campuran). Nanging, sawetara peneliti nyatakake keraguan, percaya yen saiki 7 babak cukup kanggo nahan kabeh serangan sing dikenal ing hash, banjur tambahan 3 babak bisa uga migunani yen serangan anyar diidentifikasi ing mangsa ngarep.
Minangka kanggo dibagi dadi pamblokiran, ing BLAKE3 stream dipérang dadi 1 bêsik KB lan saben Piece wis hashed independen. Adhedhasar hash saka potongan ing dhasar siji hash gedhe dibentuk. Divisi iki ngidini kita ngatasi masalah paralelisasi pangolahan data nalika ngetung hash - contone, sampeyan bisa nggunakake instruksi SIMD 4-threaded kanggo ngetung hash 4 blok bebarengan. Fungsi hash SHA-* tradisional ngolah data kanthi urut.
Fitur BLAKE3:
- Kinerja dhuwur;
- Safety, kalebu resistance kanggo , sing SHA-2 rentan;
- Njamin parallelization saka petungan ing nomer Utas lan saluran SIMD;
- Kamungkinan nganyari tambahan lan pangolahan aliran sing diverifikasi;
- Gunakake ing mode PRF, MAC, KDF, XOF lan minangka hash biasa;
- Algoritma tunggal kanggo kabeh arsitektur, cepet ing sistem x86-64 lan prosesor ARM 32-bit.
Source: opennet.ru
