K dispozici je kryptografická hašovací funkce BLAKE3, která je 10krát rychlejší než SHA-2

Byla zveřejněna konečná implementace algoritmu BLAKE3, která nabízí kryptografickou hashovací funkci určenou pro aplikace, jako je kontrola integrity souborů, ověřování zpráv a generování dat pro digitální podpisy. BLAKE3 není určen pro hashování hesel (pro hesla je potřeba použít yescrypt, bcrypt, scrypt nebo Argon2), je totiž zaměřen na co nejrychlejší výpočet hashů se zárukou bez kolizí, ochrana proti nalezení prototypu a nejsou citlivé na velikost hashovaných dat. Referenční implementace BLAKE3 publikováno Duální licence pod Public Domain (CC0) a Apache 2.0.

Klíčovým rozdílem nové hašovací funkce je velmi vysoký výkon hašovacích výpočtů při zachování spolehlivosti na úrovni SHA-3. Ve výchozím nastavení je výsledná velikost hash v BLAKE3 32 bajtů (256 bitů), ale lze ji rozšířit na libovolné hodnoty. V testu generování hash pro soubor o velikosti 16 kB překonal BLAKE3 SHA3-256 15krát, SHA-256 12krát, SHA-512 8krát, SHA-1 6krát a BLAKE2b 4krát. Značná mezera zůstává při zpracování velmi velkého množství dat, například BLAKE3 se ukázal být rychleji SHA-256 8krát při výpočtu hash pro 1 GB náhodných dat.

K dispozici je kryptografická hašovací funkce BLAKE3, která je 10krát rychlejší než SHA-2

Algoritmus byl vyvinut slavnými odborníky na kryptografii (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) a pokračuje ve vývoji algoritmu BLAKE2 a používá mechanismus pro kódování stromu blokového řetězce Bao. Na rozdíl od BLAKE2 (BLAKE2b, BLAKE2s) nabízí BLAKE3 jediný algoritmus pro všechny platformy, který není vázán na bitovou hloubku a velikost hash.

Zvýšeného výkonu bylo dosaženo snížením počtu kol z 10 na 7 a odděleným hashováním bloků po 1 KB kusech. Podle tvůrců našli přesvědčivé důkazy, že si vystačíte se 7 koly místo 10 při zachování stejné úrovně spolehlivosti (pro názornost můžete uvést příklad s mixováním ovoce v mixéru - po 7 sekundách je ovoce již zcela rozmixováno a další 3 sekundy budou nemá vliv na konzistenci směsi). Někteří výzkumníci však vyjadřují pochybnosti a věří, že i když v současné době stačí 7 kol, aby odolalo všem známým útokům na hashe, mohou být další 3 kola užitečná, pokud budou v budoucnu identifikovány nové útoky.

Co se týče dělení do bloků, v BLAKE3 je stream rozdělen na 1 KB části a každý kousek je hašován samostatně. Na základě hash kusů na základně binární merkle strom vytvoří se jeden velký hash. Toto rozdělení nám umožňuje vyřešit problém paralelizace zpracování dat při výpočtu hashe – například můžete použít 4vláknové SIMD instrukce pro současný výpočet hashe 4 bloků. Tradiční hašovací funkce SHA-* zpracovávají data postupně.

Vlastnosti BLAKE3:

  • Vysoký výkon;
  • Bezpečnost včetně odolnosti vůči útok prodlužování zpráv, na které je SHA-2 citlivý;
  • Zajištění paralelizace výpočtů na libovolném počtu vláken a SIMD kanálů;
  • Možnost postupné aktualizace a ověřeného zpracování streamů;
  • Použití v režimech PRF, MAC, KDF, XOF a jako běžný hash;
  • Jediný algoritmus pro všechny architektury, rychlý na systémech x86-64 i na 32bitových procesorech ARM.

Zdroj: opennet.ru

Přidat komentář