Implementimi pĂ«rfundimtar i algoritmit Ă«shtĂ« publikuar , i cili ofron njĂ« funksion hesh tĂ« kriptografisĂ« tĂ« dizajnuar pĂ«r aplikime tĂ« tilla si verifikimi i integritetit tĂ« skedarĂ«ve, autentikimi i mesazheve dhe formimi i tĂ« dhĂ«nave pĂ«r nĂ«nshkrime digjitale. BLAKE3 nuk Ă«shtĂ« e destinuar pĂ«r heshimin e fjalĂ«kalimeve (pĂ«r fjalĂ«kalime duhet tĂ« pĂ«rdoren yescrypt, bcrypt, scrypt ose Argon2), pasi fokusimi Ă«shtĂ« nĂ« llogaritjen sa mĂ« tĂ« shpejtĂ« tĂ« heshave me garantimin e mungesĂ«s sĂ« kolizionit, mbrojtje nga dhe nuk Ă«shtĂ« e ndjeshme ndaj madhĂ«sisĂ« sĂ« tĂ« dhĂ«nave qĂ« hetohen. Implementimi standard i BLAKE3 Ă«shtĂ« i licencuar nĂ«n dy licenca â pronĂ«si e pĂ«rgjithshme (CC0) dhe Apache 2.0.
Dallimi kryesor i funksionit të ri të heshit është performance shumë e lartë në llogaritjen e heshit duke ruajtur besueshmërinë në nivelin e SHA-3. Për default, madhësia e heshit rezultues në BLAKE3 është 32 Byte (256 bit), por mund të zgjerohet deri në vlera të rastësishme. Në testin e gjenerimit të heshit për një skedar me madhësi 16 KB, BLAKE3 e kalon 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ë distancë e konsiderueshme mbetet edhe kur përpunohen volumet shumë të mëdha të të dhënave, për shembull, BLAKE3 doli SHA-256 me 8 herë në llogaritjen e heshit 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 për kodimin e pemës së zinxhirëve të bllokimeve mekanizmin . Ndryshe nga BLAKE2 (BLAKE2b, BLAKE2s), për BLAKE3 ofrohet një algoritëm unifikues për të gjitha platforma, i cili nuk është i lidhur me përmasën dhe madhësinë e heshit.
Rritja e performancës është arritur falë reduktimit të numrit të raundeve nga 10 në 7 dhe heshimit të veçantë të blloqeve në copa prej 1 KB. Sipas krijuesve, ata kanë gjetur një provë të bindshme , që mund të arrihet me 7 raunde në vend të 10 pa humbur atë nivel besueshmërie (për ilustrim, mund të japim shembullin e përzierjes së frutave në një mikser - pas 7 sekondash, frutat janë tashmë të përziera plotësisht dhe 3 sekonda të mëtejshme nuk do të ndikojnë në konsistencën e përzierjes). Megjithatë, disa studiues shprehin dyshime, duke besuar se edhe nëse aktualisht 7 raunde janë të mjaftueshme për të përballuar të gjitha sulmet e njohura ndaj hash-it, 3 raunde të mëtejshme mund të jenë të dobishme në rast se zbulohet ndonjë sulm i ri në të ardhmen.
Sa i pĂ«rket ndarjes nĂ« blloqe, BLAKE3 ndan rrjedhĂ«n nĂ« copa prej 1 KB dhe çdo copĂ« hash-izohet nĂ« mĂ«nyrĂ« tĂ« pavarur. Bazuar nĂ« hash-et e copave mbi formohet njĂ« hash i madh. Kjo ndarje lejon zgjidhjen e problemit tĂ« paralelizimit tĂ« pĂ«rpunimit tĂ« tĂ« dhĂ«nave gjatĂ« llogaritjes sĂ« hash-it â pĂ«r shembull, mund tĂ« pĂ«rdoren instruksione 4-tĂ«rore SIMD pĂ«r tĂ« llogaritur njĂ«kohĂ«sisht hash-et e 4 blloqeve. Funksionet tradicionale tĂ« hash SHA-* pĂ«rpunojnĂ« tĂ« dhĂ«nat njĂ«pasnjĂ«risht.
Veçoritë e BLAKE3:
- Performancë e lartë;
- Siguri, përfshirë qëndrueshmërinë ndaj , të cilit SHA-2 i është nënshtruar;
- Sigurimi i paralelizmit të llogaritjeve në çdo numër nëndegësh dhe kanale SIMD;
- Mundësia e përditësimit inkremental dhe përpunimit të verifikuar të rrjedhave;
- Përdorimi në moda PRF, MAC, KDF, XOF dhe si një hash i zakonshëm;
- Një algoritëm i vetëm për të gjitha arkitekturët, i shpejtë si në sistemet x86-64 ashtu edhe në procesorët 32-bitë ARM.
Burimi: opennet.ru
