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 raspršivanje lozinki (za zaporke morate koristiti yescrypt, bcrypt, scrypt ili Argon2), jer je usmjeren na izračunavanje raspršivanja što je brže moguće uz jamstvo da nema kolizija, zaštitu od pronalazak prototipa i nije osjetljiv na veličinu hashiranih podataka. Referentna implementacija BLAKE3 Objavljeno Dvostruka licenca pod Public Domain (CC0) i Apache 2.0.

Ključna razlika nove hash funkcije je vrlo visoka izvedba hash izračuna uz zadržavanje pouzdanosti na razini SHA-3. Prema zadanim postavkama, rezultirajuća veličina raspršivanja u BLAKE3 je 32 bajta (256 bita), ali se može proširiti na proizvoljne vrijednosti. U testu generiranja hash-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. Značajna praznina ostaje pri obradi vrlo velikih količina podataka, na primjer, pokazao se BLAKE3 brže SHA-256 za 8 puta pri izračunavanju raspršivanja za 1 GB 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 razvijati 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 dubinu bita i veličinu hash vrijednosti.

Povećana izvedba postignuta je smanjenjem broja krugova s ​​10 na 7 i zasebnim raspršivanjem blokova u komadima od 1 KB. Prema kreatorima, našli su uvjerljivo dokazi, da možete proći sa 7 krugova umjesto 10 uz zadržavanje iste razine pouzdanosti (radi jasnoće, možete dati primjer s miješanjem voća u mikseru - nakon 7 sekundi voće je već potpuno izmiješano, a dodatne 3 sekunde će ne utječe na konzistenciju smjese). Međutim, neki istraživači izražavaju sumnje, vjerujući da čak i ako je trenutačno 7 krugova dovoljno da izdrže sve poznate napade na hashove, onda bi dodatna 3 kruga mogla biti korisna ako se u budućnosti identificiraju novi napadi.

Što se tiče podjele na blokove, u BLAKE3 tok je podijeljen na dijelove od 1 KB i svaki se dio neovisno raspršuje. Temeljeno na hashovima dijelova na bazi binarno merkleovo stablo nastaje jedan veliki hash. Ova nam podjela omogućuje rješavanje problema paralelne obrade podataka pri izračunavanju hash-a - na primjer, možete koristiti 4-nitne SIMD instrukcije za simultano izračunavanje hash-ova 4 bloka. Tradicionalne SHA-* hash funkcije obrađuju podatke sekvencijalno.

Značajke BLAKE3:

  • Visoke performanse;
  • Sigurnost, uključujući otpornost na napad produženja poruke, na koje je SHA-2 osjetljiv;
  • Osiguravanje paralelizacije izračuna na bilo kojem broju niti i SIMD kanala;
  • Mogućnost inkrementalnog ažuriranja i provjerene obrade streamova;
  • Koristite u načinima rada PRF, MAC, KDF, XOF i kao obični hash;
  • Jedan algoritam za sve arhitekture, brz i na x86-64 sustavima i na 32-bitnim ARM procesorima.

Izvor: opennet.ru

Dodajte komentar