K dispozícii je kryptografická hašovacia funkcia BLAKE3, ktorá je 10-krát rýchlejšia ako SHA-2

Konečná implementácia algoritmu bola zverejnená BLAKE3, ktorá ponúka kryptografickú hašovaciu funkciu určenú pre aplikácie, ako je 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), nakoľko je zameraný na čo najrýchlejší výpočet hashov so zárukou bez kolízií, ochrana proti nájdenie prototypu a nie sú citlivé na veľkosť hashovaných údajov. Referenčná implementácia BLAKE3 publikovaný Dual licencovaný pod Public Domain (CC0) a Apache 2.0.

Kľúčovým rozdielom novej hašovacej funkcie je veľmi vysoký výkon výpočtu hašovania pri zachovaní spoľahlivosti na úrovni SHA-3. V predvolenom nastavení je výsledná veľkosť hash v BLAKE3 32 bajtov (256 bitov), ​​ale dá sa rozšíriť na ľubovoľné hodnoty. V teste generovania hash pre súbor s veľkosťou 16 kB prekoná BLAKE3 SHA3-256 15-krát, SHA-256 12-krát, SHA-512 8-krát, SHA-1 6-krát a BLAKE2b 4-krát. Značná medzera zostáva pri spracovaní veľmi veľkého množstva údajov, napríklad sa ukázal byť BLAKE3 rýchlejšie SHA-256 8-krát pri výpočte hash pre 1 GB náhodných údajov.

K dispozícii je kryptografická hašovacia funkcia BLAKE3, ktorá je 10-krát rýchlejšia ako SHA-2

Algoritmus bol vyvinutý známymi odborníkmi na kryptografiu (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) a pokračuje vo vývoji algoritmu BLAKE2 a používa mechanizmus na kódovanie stromu blokového reťazca Drancovanie. Na rozdiel od BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 ponúka jediný algoritmus pre všetky platformy, ktorý nie je viazaný na bitovú hĺbku a veľkosť hash.

Zvýšený výkon bol dosiahnutý znížením počtu kôl z 10 na 7 a oddeleným hashovaním blokov po 1 KB kusoch. Podľa tvorcov našli presvedčivé dôkaz, že si vystačíte so 7 kolami namiesto 10 pri zachovaní rovnakej úrovne spoľahlivosti (pre názornosť môžete uviesť príklad s mixovaním ovocia v mixéri - po 7 sekundách je ovocie už úplne rozmixované a ďalšie 3 sekundy budú neovplyvňuje konzistenciu zmesi). Niektorí výskumníci však vyjadrujú pochybnosti a veria, že aj keď v súčasnosti stačí 7 kôl na to, aby odolali všetkým známym útokom na hashe, ďalšie 3 kolá môžu byť užitočné, ak sa v budúcnosti zistia nové útoky.

Čo sa týka rozdelenia do blokov, v BLAKE3 je stream rozdelený na 1 KB časti a každá časť je hašovaná samostatne. Na základe hash kusov na základe binárny merkle strom vytvorí sa jeden veľký hash. Toto rozdelenie nám umožňuje vyriešiť problém paralelizácie spracovania dát pri výpočte hashu – napríklad pomocou 4-vláknových inštrukcií SIMD môžete súčasne vypočítať hashe 4 blokov. Tradičné hašovacie funkcie SHA-* spracovávajú údaje postupne.

Vlastnosti BLAKE3:

  • Vysoký výkon;
  • Bezpečnosť vrátane odolnosti voči útok predlžovania správ, na ktorý je citlivý SHA-2;
  • Zabezpečenie paralelizácie výpočtov na ľubovoľnom počte vlákien a kanálov SIMD;
  • Možnosť postupnej aktualizácie a overeného spracovania streamov;
  • Použitie v režimoch PRF, MAC, KDF, XOF a ako bežný hash;
  • Jediný algoritmus pre všetky architektúry, rýchly na systémoch x86-64 aj na 32-bitových procesoroch ARM.

Zdroj: opennet.ru

Pridať komentár