PĂ«rfundimi i realizimit final tĂ« algoritmit Ă«shtĂ« publik , i cili ofron njĂ« funksion hash kriptografik tĂ« dizajnuar pĂ«r aplikime tĂ« tilla si verifikimi i integritetit tĂ« skedarĂ«ve, autentikimi i mesazheve dhe krijimi i tĂ« dhĂ«nave pĂ«r nĂ«nshkrime digjitale. BLAKE3 nuk Ă«shtĂ« i destinuar pĂ«r hashimin e fjalĂ«kalimeve (pĂ«r fjalĂ«kalime duhet tĂ« pĂ«rdoren yescrypt, bcrypt, scrypt ose Argon2), pasi fokusohet nĂ« llogaritjen e shpejtĂ« tĂ« hash-eve me garancinĂ« e mungesĂ«s sĂ« kolizionit, mbrojtje nga dhe jo ndjeshmĂ«ri ndaj madhĂ«sisĂ« sĂ« tĂ« dhĂ«nave qĂ« heshtohen. Implementimi referues i BLAKE3 Ă«shtĂ« nĂ«n licencĂ« tĂ« dyfishtĂ« â pronĂ« publike (CC0) dhe Apache 2.0.
Dallimi kryesor i funksionit të ri hash është performanca shumë e lartë e llogaritjes së hash-it duke ruajtur besueshmërinë në nivelin e SHA-3. Sa herë që rezultati i hash-it në BLAKE3 është 32 byte (256 bit), ai mund të zgjatet deri në vlera arbitrare. Në testin e gjenerimit të hash-it për një skedar prej 16 KB, BLAKE3 tejkalon SHA3-256 me 15 herë, SHA-256 me 12 herë, SHA-512 me 8 herë, SHA-1 me 6 herë, dhe BLAKE2b me 4 herë. Një diferencë e konsiderueshme ruhet edhe gjatë përpunimit të sasisë shumë të madhe të të dhënave, për shembull, BLAKE3 është SHA-256 me 8 herë gjatë llogaritjes së hash-it për 1GB të dhënash të rastësishme.
Algoritmi është zhvilluar nga specialistë të njohur të kriptografisë (, , , ) dhe vazhdon zhvillimin e algoritmit dhe përdor mekanizmin për kodimin e pemës së zinxhirëve të bllokave. Në krahasim me BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 ofron një algoritëm të vetëm për të gjitha platformate, pa u lidhur me 64-bit apo 32-bit.
Rritja e performancës është arritur duke reduktuar numrin e raundeve nga 10 në 7 dhe duke bërë hashimin e blloqeve në copa prej 1 KB. Sipas krijuesve, ata gjetën një prova bindëse , që mund të arrihet me 7 rrotullime në vend të 10 duke ruajtur të njëjtin nivel besueshmërie (për ilustruese, mund të jepet shembulli me përzierjen e frutave në një mikser - pas 7 sekondash, frutat janë përzier plotësisht dhe 3 sekonda shtesë nuk do të kenë ndonjë ndikim në konsistencën e përzierjes). Megjithatë, disa studiues shprehin dyshime, duke besuar se edhe nëse aktualisht 7 rrotullime janë të mjaftueshme për të përballuar të gjitha sulmet e njohura ndaj hash, 3 rrotullime shtesë mund të jenë të dobishme në rast se zbulohen sulme të reja në të ardhmen.
Sa i pĂ«rket ndarjes nĂ« blloqe, nĂ« BLAKE3, rrjedha ndahet nĂ« copĂ«za prej 1 KB dhe çdo copĂ«za hash-it bĂ«het nĂ« mĂ«nyrĂ« tĂ« pavarur. Bazuar nĂ« hash-et e copĂ«ve mbi bazĂ«n , formohet njĂ« hash i madh. Kjo ndarje lejon tĂ« zgjidhet problemi i paralelizmit tĂ« pĂ«rpunimit tĂ« tĂ« dhĂ«nave gjatĂ« llogaritjes sĂ« hash-it â pĂ«r shembull, mund tĂ« pĂ«rdoren instruksione 4-thread SIMD pĂ«r llogaritjen e hash-eve pĂ«r 4 blloqe nĂ« tĂ« njĂ«jtĂ«n kohĂ«. Funksionet tradicionale hash SHA-* pĂ«rpunojnĂ« tĂ« dhĂ«nat nĂ« mĂ«nyrĂ« sekuenciale.
Karakteristikat e BLAKE3:
- Performancë e lartë;
- Siguri, përfshirë rezistencën ndaj , i cili është i prirur ndaj SHA-2;
- Sigurimi i paralelizmit të llogaritjeve për çdo numër thread-esh dhe kanaleve SIMD;
- Mundësia e azhurnimit inkremental dhe përpunimit të verifikuar të rrjedhave;
- Përdorimi në modulet PRF, MAC, KDF, XOF dhe si një hash i zakonshëm;
- Algoritëm i vetëm për të gjitha arkitekturat, i shpejtë si në sistemet x86-64 ashtu edhe në procesorët 32-bit ARM.
Burimi: opennet.ru
