Dostupná kryptografická hash funkcia BLAKE3, ktorá je 10-krát rýchlejšia ako SHA-2

Bola zverejnená finálna implementácia algoritmu BLAKE3, ktorý ponúka kryptografickú hashovaciu funkciu, určenú pre použitia ako kontrola integrity súborov, autentifikácia správ a generovanie údajov pre digitálne podpisy. BLAKE3 nie je určená na hashovanie hesiel (na heslá je potrebné použiť yescrypt, bcrypt, scrypt alebo Argon2), pretože sa zameriava na maximálne rýchle výpočty hashov s garanciou absencie kolízií, ochranou proti nájdeniu preimage a nie je citlivá na veľkosť hashovaných údajov. Referenčná implementácia BLAKE3 bola publikovaná pod dvojitou licenciou — verejná doména (CC0) a Apache 2.0.

Kľúčovým rozdielom novej hashovacej funkcie je veľmi vysoký výkon pri výpočte hashov pri zachovaní spoľahlivosti na úrovni SHA-3. Predvolene veľkosť výsledného hashovacieho výstupu v BLAKE3 je 32 bajtov (256 bitov), no môže byť rozšírená na ľubovoľné hodnoty. V teste generovania hashov pre súbor s veľkosťou 16 KB BLAKE3 prekonáva SHA3-256 15-násobne, SHA-256 12-násobne, SHA-512 8-násobne, SHA-1 6-násobne a BLAKE2b 4-násobne. Významný odstup sa udržiava aj pri spracovaní veľmi veľkých objemov údajov, napríklad BLAKE3 sa ukázal rýchlejšie SHA-256 8-násobne pri výpočte hashov pre 1 GB náhodných údajov.

Dostupná kryptografická hash funkcia BLAKE3, ktorá je 10-krát rýchlejšia ako SHA-2

Algoritmus vyvinuli známi odborníci na kryptografiu (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) a pokračuje vo vývoji algoritmu BLAKE2 a na kódovanie stromu reťazcov blokov využíva mechanizmus Bao. Na rozdiel od BLAKE2 (BLAKE2b, BLAKE2s) ponúka BLAKE3 pre všetky platformy jednotný algoritmus, ktorý nie je viazaný na presnosť a veľkosť hash.

Zvýšenie výkonu sa podarilo dosiahnuť znížením počtu kôl z 10 na 7 a oddeleným hashovaním blokov po častiach po 1 KB. Podľa vyjadrenia tvorcov našli presvedčivé dôkazy, že je možné obísť sa 7 kolami namiesto 10 pri zachovaní tej istej úrovne spoľahlivosti (na ilustráciu môžeme uviesť príklad s mixovaním ovocia v mixéri — po 7 sekundách sú ovocie už úplne premiešané a ďalšie 3 sekundy neovplyvnia konzistenciu zmesi). Pri tom niektorí vedci vyjadrujú pochybnosti, domnievajúc sa, že aj keď sú v súčasnosti 7 kôl dostatočné na odolávanie všetkým známym útokom na hash, ďalšie 3 kolá by mohli byť užitočné v prípade odhalenia nových útokov v budúcnosti.

Čo sa týka delenia na bloky, v BLAKE3 sa prúd rozdeľuje na kúsky po 1 kB a každý kúsok sa hashujú nezávisle. Na základe hashov kúskov sa vytvára binárneho stromu Merkle formuje sa jeden veľký hash. Uvedené delenie umožňuje vyriešiť problém s paralelizačným spracovaním dát pri výpočte hashu — napríklad je možné použiť 4-vláknové SIMD inštrukcie na súčasný výpočet hashov 4 blokov. Tradičné hash-funkcie SHA-* spracovávajú dáta sekvenčne.

Vlastnosti BLAKE3:

  • Vysoký výkon;
  • Bezpečnosť, vrátane odolnosti voči útoku na predĺženie správy, ktorému je vystavený SHA-2;
  • Zabezpečenie paralelizácie výpočtov na akýkoľvek počet vlákien a SIMD kanálov;
  • Možnosť inkrementálneho aktualizovania a verifikovanej správy prúdov;
  • Použitie v režimoch PRF, MAC, KDF, XOF a ako bežný hash;
  • Jednoduchý algoritmus pre všetky architektúry, rýchly ako na systémoch x86-64, tak aj na 32-bitových procesoroch ARM.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster