Lëshimi i implementimit referencë të funksionit hash kriptografik BLAKE3 1.0.

LĂ«shimi i implementimit referencĂ« tĂ« funksionit hash kristografik BLAKE3 1.0, i cili Ă«shtĂ« i njohur pĂ«r performancĂ«n shumĂ« tĂ« lartĂ« tĂ« llogaritjes sĂ« hash-it, duke siguruar njĂ« nivel besueshmĂ«rie nĂ« nivelin e SHA-3. NĂ« testin pĂ«r gjenerimin e hash-it pĂ«r njĂ« skedar tĂ« madhĂ«sisĂ« 16 KB, BLAKE3 me çelĂ«s 256-bit e tejkalon SHA3-256 nĂ« 17 herĂ«, SHA-256 nĂ« 14 herĂ«, SHA-512 nĂ« 9 herĂ«, SHA-1 nĂ« 6 herĂ«, dhe BLAKE2b nĂ« 5 herĂ«. NjĂ« diferencĂ« e konsiderueshme qĂ«ndron edhe kur trajtohen volumed shumĂ« tĂ« mĂ«dha tĂ« tĂ« dhĂ«nave, pĂ«r shembull, BLAKE3 u tregua mĂ« i shpejtĂ« se SHA-256 nĂ« 8 herĂ« nĂ« llogaritjen e hash-it pĂ«r 1GB tĂ« dhĂ«nash tĂ« rastit. Kodi i implementimit referencĂ« tĂ« BLAKE3 ofrohet nĂ« versione nĂ« gjuhĂ«t C dhe Rust nĂ«n njĂ« çift licencash — pronĂ«si publike (CC0) dhe Apache 2.0.

Lëshimi i implementimit referencë të funksionit hash kriptografik BLAKE3 1.0.

Funksioni hash është i dizajnuar për aplikime të tilla si kontrolli i integritetit të skedarëve, autentikimi i mesazheve dhe formimi i të dhënave për nënshkrime dixhitale kristografike. BLAKE3 nuk është e destinuar për hashimin e fjalëkalimeve, pasi është e fokusuar në llogaritjen maksimale të shpejtë të hash-ëve (për fjalëkalime rekomandohet të përdoren funksione hash të ngadalta si yescrypt, bcrypt, scrypt ose Argon2). Funksioni hash i shqyrtuar nuk është i ndjeshëm ndaj madhësisë së të dhënave të hash-uara dhe është i mbrojtur nga sulmet për gjenerimin e kolizionëve dhe gjetjen e pre-image.

Algoritmi Ă«shtĂ« zhvilluar nga specialistĂ« tĂ« njohur nĂ« fushĂ«n e kriptografisĂ« (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) dhe vazhdon zhvillimin e algoritmit BLAKE2 duke aplikuar njĂ« mekanizĂ«m Bao pĂ«r kodimin e pemĂ«s sĂ« blloqeve. Ndryshe nga BLAKE2 (BLAKE2b, BLAKE2s), nĂ« BLAKE3 Ă«shtĂ« propozuar njĂ« algoritĂ«m i vetĂ«m pĂ«r tĂ« gjitha platformat, i pa lidhur me sistemin e bitĂ«ve dhe madhĂ«sinĂ« e hash-it.

Rritjet e performancĂ«s janĂ« arritur duke reduktuar numrin e raundeve nga 10 nĂ« 7 dhe duke e bĂ«rĂ« hashimin e blloqeve me copĂ«za prej 1 KB. Sipas deklaratave tĂ« krijuesve, ata kanĂ« gjetur njĂ« provĂ« tĂ« bindshme matematikore se mund tĂ« mjaftojnĂ« 7 raunde nĂ« vend tĂ« 10 duke ruajtur tĂ« njĂ«jtin nivel besueshmĂ«rie (pĂ«r ilustrim mund tĂ« pĂ«rmendim shembullin e pĂ«rzierjes sĂ« frutave nĂ« njĂ« mikser — pas 7 sekondash frutat janĂ« pĂ«rzier plotĂ«sisht dhe 3 sekonda shtesĂ« nuk do tĂ« ndikojnĂ« nĂ« konsistencĂ«n e pĂ«rzierjes). MegjithatĂ«, disa hulumtues shprehin dyshime, duke besuar se edhe nĂ«se aktualisht 7 raunde janĂ« tĂ« mjaftueshme pĂ«r t'u pĂ«rballur me tĂ« gjitha sulmet e njohura ndaj hashimĂ«ve, 3 raunde shtesĂ« mund tĂ« jenĂ« tĂ« dobishme nĂ« rast se dalin 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Ă«z hashizohet nĂ« mĂ«nyrĂ« tĂ« pavarur. Baza e hashĂ«ve tĂ« copĂ«zave formon njĂ« hash tĂ« madh mbi bazĂ«n e njĂ« peme binar Merkle. 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 SIMD 4-tĂ« pĂ«r llogaritjen e pĂ«rbashkĂ«t tĂ« hashĂ«ve tĂ« 4 blloqeve. Funksionet tradicionale hash SHA-* pĂ«rpunojnĂ« tĂ« dhĂ«nat radhazi.

Veçoritë e BLAKE3:

  • PerformancĂ« e lartĂ«, BLAKE3 Ă«shtĂ« ndjeshĂ«m mĂ« i shpejtĂ« se MD5, SHA-1, SHA-2, SHA-3 dhe BLAKE2.
  • Siguria, duke pĂ«rfshirĂ« qĂ«ndrueshmĂ«rinĂ« ndaj sulmit tĂ« zgjatjes sĂ« mesazhit, tĂ« cilit i nĂ«nshtrohet SHA-2;
  • JanĂ« tĂ« disponueshme versione nĂ« gjuhĂ«n Rust, tĂ« optimizuara pĂ«r pĂ«rdorimin e instrukcioneve SSE2, SSE4.1, AVX2, AVX-512 dhe NEON.
  • Sigurimi i paralelizimit tĂ« llogaritjeve nĂ« çdo numĂ«r tĂ« fijeve dhe kanaleve SIMD.
  • MundĂ«sia e pĂ«rditĂ«simit inkremental dhe pĂ«rpunimit tĂ« verifikuar tĂ« rrjedhave;
  • PĂ«rgatitja nĂ« modus 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.

Dallimet kryesore të BLAKE3 në krahasim me BLAKE2:

  • PĂ«rdorimi i njĂ« strukture binar pemore, e cila mundĂ«son njĂ« paralelizĂ«m tĂ« pakufizuar gjatĂ« llogaritjes sĂ« hash-it.
  • Reduktimi i numrit tĂ« raundeve nga 10 nĂ« 7.
  • Tre moda funksionimi: hashing, hashing me çelĂ«s (HMAC) dhe krijimi i çelĂ«sit (KDF).
  • Mungesa e shpenzimeve shtesĂ« gjatĂ« hashimit me çelĂ«s falĂ« pĂ«rdorimit tĂ« hapĂ«sirĂ«s qĂ« mĂ« parĂ« zinte blloku i parametrave tĂ« çelĂ«sit.
  • Mekanizmi i integruar i funksionimit si njĂ« funksion me rezultat tĂ« zgjatur (XOF, Extendable Output Function), qĂ« lejon paralelizimin dhe pozicionimin (seek).

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster