Funksioni hash kriptografik BLAKE3 është i disponueshëm, i cili është 10 herë më i shpejtë se SHA-2

Zbatimi përfundimtar i algoritmit është publikuar ZGJIDHNI3, i cili ofron një funksion hash kriptografik të krijuar për aplikacione të tilla si kontrolli i integritetit të skedarëve, vërtetimi i mesazheve dhe gjenerimi i të dhënave për nënshkrimet dixhitale. BLAKE3 nuk është i destinuar për hashimin e fjalëkalimeve (për fjalëkalimet duhet të përdorni yescrypt, bcrypt, scrypt ose Argon2), pasi synon të llogaritë hash-et sa më shpejt që të jetë e mundur me një garanci për mos përplasje, mbrojtje kundër gjetja e prototipit dhe jo i ndjeshëm ndaj madhësisë së të dhënave të hashuara. Referenca e zbatimit të BLAKE3 botuar Licencuar e dyfishtë nën Domenin Publik (CC0) dhe Apache 2.0.

Dallimi kryesor i funksionit të ri hash është performanca shumë e lartë e llogaritjeve të hash-it duke ruajtur besueshmërinë në nivelin SHA-3. Si parazgjedhje, madhësia e hash-it që rezulton në BLAKE3 është 32 byte (256 bit), por mund të zgjerohet në vlera arbitrare. Në një test gjenerimi hash për një skedar 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ë boshllëk i rëndësishëm mbetet kur përpunohen sasi shumë të mëdha të dhënash, për shembull, BLAKE3 doli të jetë më shpejt SHA-256 me 8 herë kur llogaritet hash për 1 GB të dhëna të rastësishme.

Funksioni hash kriptografik BLAKE3 është i disponueshëm, i cili është 10 herë më i shpejtë se SHA-2

Algoritmi u zhvillua nga ekspertë të famshëm të kriptografisë (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) dhe vazhdon të zhvillojë algoritmin ZGJIDHNI2 dhe përdor një mekanizëm për të koduar pemën e zinxhirit të bllokut Bao. Ndryshe nga BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 ofron një algoritëm të vetëm për të gjitha platformat, jo i lidhur me thellësinë e bitit dhe madhësinë e hash-it.

Rritja e performancës u arrit duke reduktuar numrin e raundeve nga 10 në 7 dhe duke ndarë blloqet veçmas në copa 1 KB. Sipas krijuesve, ata gjetën një bindëse dëshmi, që mund t'ia dilni me 7 raunde në vend të 10 duke ruajtur të njëjtin nivel besueshmërie (për qartësi, mund të jepni një shembull me përzierjen e frutave në një mikser - pas 7 sekondash frutat tashmë janë përzier plotësisht dhe 3 sekonda shtesë do të nuk 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 në hash, atëherë 3 raunde shtesë mund të jenë të dobishme nëse sulmet e reja identifikohen në të ardhmen.

Për sa i përket ndarjes në blloqe, në BLAKE3 stream-i ndahet në copa 1 KB dhe secila pjesë hashohet në mënyrë të pavarur. Bazuar në hash-et e pjesëve në bazë pemë merkle binare formohet një hash i madh. Kjo ndarje na lejon të zgjidhim problemin e paralelizimit të përpunimit të të dhënave gjatë llogaritjes së një hash - për shembull, mund të përdorni udhëzimet SIMD me 4 fije për të llogaritur njëkohësisht hash-et e 4 blloqeve. Funksionet tradicionale hash SHA-* përpunojnë të dhënat në mënyrë sekuenciale.

Karakteristikat e BLAKE3:

  • Performanca e lartë;
  • Siguria, duke përfshirë rezistencën ndaj sulmi i zgjatjes së mesazhit, ndaj të cilit SHA-2 është i ndjeshëm;
  • Sigurimi i paralelizimit të llogaritjeve në çdo numër thread-sh dhe kanalesh SIMD;
  • Mundësia e përditësimit në rritje dhe përpunimit të verifikuar të prurjeve;
  • Përdorni në mënyrat PRF, MAC, KDF, XOF dhe si një hash i rregullt;
  • Një algoritëm i vetëm për të gjitha arkitekturat, i shpejtë si në sistemet x86-64 ashtu edhe në procesorët ARM 32-bit.

Burimi: opennet.ru

Shto një koment