Rilaxx tal-implimentazzjoni ta 'referenza tal-funzjoni hash kriptografika BLAKE3 1.0

Ġiet rilaxxata implimentazzjoni ta 'referenza tal-funzjoni tal-hash kriptografika BLAKE3 1.0, notevoli għall-prestazzjoni għolja ħafna tal-kalkolu tal-hash filwaqt li tiżgura l-affidabbiltà fil-livell SHA-3. Fit-test tal-ġenerazzjoni tal-hash għal fajl ta' 16 KB, BLAKE3 b'ċavetta ta' 256 bit jegħleb lil SHA3-256 b'17-il darba, SHA-256 b'14-il darba, SHA-512 b'9 darbiet, SHA-1 b'6 darbiet, u BLAKE2b - 5 darbiet. Għad hemm vojt sinifikanti meta jiġu pproċessati ammonti kbar ħafna ta 'dejta, pereżempju, BLAKE3 irriżulta li kien 256 darbiet aktar mgħaġġel minn SHA-8 meta kkalkola hash għal 1GB ta' dejta każwali. Il-kodiċi ta 'implimentazzjoni ta' referenza BLAKE3 huwa disponibbli fil-verżjonijiet C u Rust taħt dominju pubbliku doppju (CC0) u liċenzja Apache 2.0.

Rilaxx tal-implimentazzjoni ta 'referenza tal-funzjoni hash kriptografika BLAKE3 1.0

Il-funzjoni tal-hash hija ddisinjata għal applikazzjonijiet bħall-iċċekkjar tal-integrità tal-fajls, l-awtentikazzjoni tal-messaġġi, u l-ġenerazzjoni tad-dejta għal firem diġitali kriptografiċi. BLAKE3 mhuwiex maħsub għall-hashing tal-passwords, peress li għandu l-għan li jikkalkula l-hashes kemm jista 'jkun malajr (għall-passwords, huwa rakkomandat li tuża l-funzjonijiet tal-hash bil-mod yescrypt, bcrypt, scrypt jew Argon2). Il-funzjoni tal-hash li qed tiġi kkunsidrata mhijiex sensittiva għad-daqs tad-dejta bil-hash u hija protetta minn attakki fuq l-għażla tal-ħabta u s-sejba ta' qabel l-immaġini.

L-algoritmu ġie żviluppat minn esperti tal-kriptografija magħrufa (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) u jkompli l-iżvilupp tal-algoritmu BLAKE2 u juża l-mekkaniżmu Bao biex jikkodifika s-siġra tal-katina tal-blokki. . B'differenza BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 joffri algoritmu wieħed għall-pjattaformi kollha, mhux marbut mal-fond tal-bit u d-daqs tal-hash.

Inkiseb prestazzjoni akbar billi tnaqqas in-numru ta 'rawnds minn 10 għal 7 u blokki ta' hashing separatament f'biċċiet ta '1 KB. Skont il-ħallieqa, sabu prova matematika konvinċenti li huwa possibbli li tgħaddi b'7 rawnds minflok 10 filwaqt li jżommu l-istess livell ta 'affidabilità (għal ċarezza, nistgħu nagħtu eżempju bit-taħlit tal-frott f'mixer - wara 7 sekondi il-frott huwa diġà mħallat kompletament, u 3 sekondi addizzjonali mhux se jaffettwaw il-konsistenza tat-taħlita). Madankollu, xi riċerkaturi jesprimu dubji, u jemmnu li anki jekk 7 rawnds huma attwalment biżżejjed biex jikkumbattu l-attakki kollha magħrufa fuq il-hashes, allura rawnds 3 addizzjonali jistgħu jkunu utli jekk jiġu identifikati attakki ġodda fil-futur.

Fir-rigward tad-diviżjoni fi blokki, f'BLAKE3 in-nixxiegħa hija maqsuma f'biċċiet 1 KB u kull biċċa hija hashed b'mod indipendenti. Ibbażat fuq il-hashes tal-biċċiet, hash wieħed kbir huwa ffurmat ibbażat fuq is-siġra Merkle binarja. Din id-diviżjoni tippermettilna nsolvu l-problema tal-parallelizzazzjoni tal-ipproċessar tad-dejta meta nikkalkulaw il-hashes - pereżempju, tista 'tuża struzzjonijiet SIMD b'4-threaded biex simultanjament tikkalkula hashes ta' 4 blokki. Il-funzjonijiet tradizzjonali SHA-* tal-hash jipproċessaw id-dejta b'mod sekwenzjali.

Karatteristiċi ta' BLAKE3:

  • Prestazzjoni għolja, BLAKE3 huwa sinifikament aktar mgħaġġel minn MD5, SHA-1, SHA-2, SHA-3 u BLAKE2.
  • Sigurtà, inkluża reżistenza għall-attakki ta' elongazzjoni tal-messaġġ li SHA-2 huwa suxxettibbli għalihom;
  • Disponibbli f'Rut, ottimizzat għall-istruzzjonijiet SSE2, SSE4.1, AVX2, AVX-512, u NEON.
  • L-iżgurar tal-parallelizzazzjoni tal-kalkoli fuq kwalunkwe numru ta 'ħjut u kanali SIMD.
  • Possibbiltà ta 'aġġornament inkrementali u pproċessar verifikat ta' flussi;
  • Użu fil-modi PRF, MAC, KDF, XOF u bħala hash regolari;
  • Algoritmu wieħed għall-arkitetturi kollha, veloċi kemm fuq sistemi x86-64 kif ukoll fuq proċessuri ARM ta '32-bit.

Id-differenzi ewlenin bejn BLAKE3 u BLAKE2:

  • Użu ta 'struttura ta' siġra binarja li tippermetti paralleliżmu illimitat fil-kalkoli tal-hash.
  • Tnaqqis in-numru ta 'rawnds minn 10 għal 7.
  • Tliet modi ta 'tħaddim: hashing, hashing b'ċavetta (HMAC) u ġenerazzjoni taċ-ċavetta (KDF).
  • Ebda overhead addizzjonali meta hashing b'ċavetta minħabba l-użu taż-żona li qabel kienet okkupata mill-blokk tal-parametri ewlenin.
  • Mekkaniżmu operattiv inkorporat fil-forma ta 'funzjoni b'riżultat estiż (XOF, Funzjoni ta' Output Extendable), li tippermetti parallelizzazzjoni u pożizzjonament (tfittxija).

Sors: opennet.ru

Żid kumment