Dostupna je BLAKE3 kriptografska hash funkcija, koja je 10 puta brža od SHA-2

Konačna implementacija algoritma je objavljena BLAKE3, koji nudi kriptografsku hash funkciju dizajniranu za aplikacije kao što su provjera integriteta datoteka, autentifikacija poruka i generiranje podataka za digitalne potpise. BLAKE3 nije namijenjen za heširanje lozinki (za lozinke morate koristiti yescrypt, bcrypt, scrypt ili Argon2), jer je usmjeren na što brže izračunavanje hashova uz garanciju bez kolizija, zaštitu od pronalaženje prototipa i nije osjetljiv na veličinu heširanih podataka. Referentna implementacija BLAKE3 objavljeno Dvostruka licenca pod Public Domain (CC0) i Apache 2.0.

Ključna razlika nove hash funkcije je vrlo visoka performansa heš kalkulacija uz održavanje pouzdanosti na SHA-3 nivou. Po defaultu, rezultujuća heš veličina u BLAKE3 je 32 bajta (256 bita), ali se može proširiti na proizvoljne vrijednosti. U testu generisanja heša za datoteku od 16 KB, BLAKE3 nadmašuje SHA3-256 15 puta, SHA-256 12 puta, SHA-512 8 puta, SHA-1 6 puta i BLAKE2b 4 puta. Ostaje značajan jaz prilikom obrade vrlo velikih količina podataka, na primjer, ispostavilo se da je BLAKE3 brže SHA-256 za 8 puta kada se izračuna heš za 1GB nasumičnih podataka.

Dostupna je BLAKE3 kriptografska hash funkcija, koja je 10 puta brža od SHA-2

Algoritam su razvili poznati stručnjaci za kriptografiju (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) i nastavlja da razvija algoritam BLAKE2 i koristi mehanizam za kodiranje stabla blok lanca Bao. Za razliku od BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 nudi jedan algoritam za sve platforme, koji nije vezan za bitnu dubinu i veličinu heša.

Povećane performanse postignute su smanjenjem broja rundi sa 10 na 7 i odvojenim heširanjem blokova u komadima od 1 KB. Prema riječima kreatora, našli su se uvjerljivo dokaz, da možete proći sa 7 krugova umjesto sa 10 uz zadržavanje istog nivoa pouzdanosti (radi jasnoće možete navesti primjer sa miješanjem voća u mikseru - nakon 7 sekundi voće je već potpuno izmiješano i dodatne 3 sekunde će ne utiče na konzistenciju smeše). Međutim, neki istraživači izražavaju sumnje, vjerujući da čak i ako je trenutno 7 rundi dovoljno da se izdrže svi poznati napadi na hasheve, onda dodatna 3 runde mogu biti korisna ako se u budućnosti identifikuju novi napadi.

Što se tiče podjele na blokove, u BLAKE3 stream je podijeljen na komade od 1 KB i svaki dio se hešuje nezavisno. Zasnovano na hešovima komada na bazi binarno merkle drvo formira se jedan veliki hash. Ova podjela nam omogućava da riješimo problem paraleliziranja obrade podataka prilikom izračunavanja heša - na primjer, možete koristiti 4-nitne SIMD instrukcije da istovremeno izračunate hešove 4 bloka. Tradicionalne SHA-* hash funkcije obrađuju podatke sekvencijalno.

Karakteristike BLAKE3:

  • Visoke performanse;
  • Sigurnost, uključujući otpornost na napad elongacije poruke, na koje je SHA-2 osjetljiv;
  • Osiguravanje paralelizacije proračuna na bilo kojem broju niti i SIMD kanala;
  • Mogućnost inkrementalnog ažuriranja i verifikovane obrade tokova;
  • Koristi se u PRF, MAC, KDF, XOF modovima i kao običan hash;
  • Jedan algoritam za sve arhitekture, brz i na x86-64 sistemima i na 32-bitnim ARM procesorima.

izvor: opennet.ru

Dodajte komentar