BLAKE3-kriptografa hash-funkcio disponebla, kiu estas 10 fojojn pli rapida ol SHA-2

La fina efektivigo de la algoritmo estis publikigita BLAKE3, kiu ofertas kriptografan hashfunkcion dizajnitan por aplikoj kiel ekzemple dosiera integreckontrolado, mesaĝaŭtentigo, kaj generado de datumoj por ciferecaj subskriboj. BLAKE3 ne estas destinita por haŝigi pasvortojn (por pasvortoj vi devas uzi yescrypt, bcrypt, scrypt aŭ Argon2), ĉar ĝi celas kalkuli hashojn kiel eble plej rapide kun garantio de neniuj kolizioj, protekto kontraŭ trovante la prototipon kaj ne sentema al la grandeco de la hakitaj datumoj. Referenca efektivigo de BLAKE3 eldonita Duobla licenco sub Public Domain (CC0) kaj Apache 2.0.

La ŝlosila diferenco de la nova hashfunkcio estas la tre alta rendimento de hashkalkuloj konservante fidindecon ĉe la SHA-3-nivelo. Defaŭlte, la rezulta hashgrandeco en BLAKE3 estas 32 bajtoj (256 bitoj), sed ĝi povas esti vastigita al arbitraj valoroj. En hashgeneracia testo por 16 KB-dosiero, BLAKE3 superas SHA3-256 je 15 fojojn, SHA-256 je 12 fojojn, SHA-512 je 8 fojojn, SHA-1 je 6 fojojn, kaj BLAKE2b je 4 fojojn. Signifa breĉo restas dum prilaborado de tre grandaj kvantoj da datumoj, ekzemple, BLAKE3 montriĝis esti pli rapide SHA-256 je 8 fojojn kiam kalkulas hash por 1GB da hazardaj datumoj.

BLAKE3-kriptografa hash-funkcio disponebla, kiu estas 10 fojojn pli rapida ol SHA-2

La algoritmo estis evoluigita fare de famaj kriptografiaj spertuloj (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) kaj daŭre evoluigas la algoritmon BLAKE2 kaj uzas mekanismon por ĉifri la blokĉenarbon Bao. Male al BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 ofertas ununuran algoritmon por ĉiuj platformoj, ne ligita al la bitprofundo kaj hashgrandeco.

Pliigita rendimento estis atingita reduktante la nombron da ĉirkaŭvojoj de 10 al 7 kaj aparte hakante blokojn en 1 KB-pecoj. Laŭ la kreintoj, ili trovis konvinkan evidenteco, ke vi povas elteni per 7 rondoj anstataŭ 10 konservante la saman nivelon de fidindeco (por klareco, vi povas doni ekzemplon kun miksado de fruktoj en miksilo - post 7 sekundoj la fruktoj jam estas tute miksitaj kaj pliaj 3 sekundoj estos). ne influas la konsistencon de la miksaĵo). Tamen, iuj esploristoj esprimas dubojn, kredante, ke eĉ se nuntempe 7-raŭndoj sufiĉas por rezisti ĉiujn konatajn atakojn kontraŭ haŝiŝoj, tiam pliaj 3-raŭndoj povas esti utilaj se novaj atakoj estas identigitaj estonte.

Koncerne dividadon en blokojn, en BLAKE3 la rivereto estas dividita en 1 KB-pecojn kaj ĉiu peco estas haŝita sendepende. Bazita sur hashes de la pecoj sur la bazo binara merkle-arbo unu granda hash formiĝas. Ĉi tiu divido permesas al ni solvi la problemon de paraleligo de datumtraktado dum kalkulado de hash - ekzemple, vi povas uzi 4-fadenajn SIMD-instrukciojn por samtempe kalkuli la hashojn de 4 blokoj. Tradiciaj SHA-* hash-funkcioj prilaboras datumojn sinsekve.

Karakterizaĵoj de BLAKE3:

  • Alta rendimento;
  • Sekureco, inkluzive de rezisto al mesaĝo plilongiga atako, al kiu SHA-2 estas susceptible;
  • Certigante paraleligon de kalkuloj sur ajna nombro da fadenoj kaj SIMD-kanaloj;
  • Eblo de pliiga ĝisdatigo kaj kontrolita prilaborado de riveretoj;
  • Uzu en PRF, MAC, KDF, XOF-reĝimoj kaj kiel regula hash;
  • Ununura algoritmo por ĉiuj arkitekturoj, rapida sur ambaŭ x86-64-sistemoj kaj 32-bitaj ARM-procesoroj.

fonto: opennet.ru

Aldoni komenton