Elérhető a BLAKE3 kriptográfiai hash funkció, amely 10-szer gyorsabb, mint az SHA-2

Megjelent az algoritmus végleges megvalósítása BLAKE3, amely olyan kriptográfiai hash funkciót kínál, amelyet olyan alkalmazásokhoz terveztek, mint a fájlok integritásának ellenőrzése, üzenetek hitelesítése és a digitális aláírásokhoz szükséges adatok generálása. A BLAKE3 nem alkalmas jelszavak kivonatozására (a jelszavakhoz yescrypt, bcrypt, scrypt vagy Argon2-t kell használni), mivel célja a hashek lehető leggyorsabb kiszámítása, garantálva az ütközések elkerülését és a védelmet. megtalálni a prototípust és nem érzékeny a kivonatolt adatok méretére. A BLAKE3 referencia megvalósítása közzétett Kettős licenc a Public Domain (CC0) és az Apache 2.0 alatt.

Az új hash-függvény legfontosabb különbsége a hash-számítások nagyon magas teljesítménye, miközben megőrzi a megbízhatóságot az SHA-3 szinten. Alapértelmezés szerint a kapott hash mérete a BLAKE3-ban 32 bájt (256 bit), de tetszőleges értékre bővíthető. Egy 16 KB-os fájl hash-generálási tesztjében a BLAKE3 3-ször felülmúlja az SHA256-15-ot, az SHA-256-ot 12-szer, az SHA-512-t 8-szor, az SHA-1-et 6-szor és a BLAKE2b-t 4-szer. Jelentős hiányosság marad nagyon nagy mennyiségű adat feldolgozásakor, például a BLAKE3 bizonyult annak gyorsabb SHA-256 8-szorosára 1 GB véletlenszerű adat hash kiszámításakor.

Elérhető a BLAKE3 kriptográfiai hash funkció, amely 10-szer gyorsabb, mint az SHA-2

Az algoritmust híres kriptográfiai szakértők fejlesztették ki (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn), és folytatja az algoritmus fejlesztését BLAKE2 és egy mechanizmust használ a blokklánc-fa kódolására Bao. A BLAKE2-vel (BLAKE2b, BLAKE2s) ellentétben a BLAKE3 egyetlen algoritmust kínál minden platformhoz, amely nincs a bitmélységhez és a hash méretéhez kötve.

A teljesítménynövekedést a körök számának 10-ről 7-re való csökkentésével és a blokkok külön-külön 1 KB-os darabokra történő kivonatával érték el. Az alkotók szerint meggyőzőnek találták bizonyíték, hogy 7 helyett 10 körrel is boldogulhatsz, miközben megőrizheted a megbízhatósági szintet (az érthetőség kedvéért hozhatsz példát a gyümölcsök mixerben való összekeverésére - 7 másodperc múlva a gyümölcsök már teljesen összekeverednek, és további 3 másodpercig nem befolyásolja a keverék állagát). Egyes kutatók azonban kétségeiket fejezik ki, mivel úgy vélik, hogy még ha jelenleg 7 lövés elég is ahhoz, hogy ellenálljon az összes ismert hash elleni támadásnak, további 3 lövés hasznos lehet, ha a jövőben újabb támadásokat azonosítanak.

Ami a blokkokra osztást illeti, a BLAKE3-ban az adatfolyam 1 KB-os darabokra van felosztva, és mindegyik darab külön-külön kivonatolva van. Az alapon lévő darabok hash-ei alapján bináris merkle fa egy nagy hash keletkezik. Ez a felosztás lehetővé teszi számunkra, hogy megoldjuk az adatfeldolgozás párhuzamosításának problémáját a hash kiszámításakor - például 4 szálas SIMD utasításokat használhatunk 4 blokk hasheinek egyidejű kiszámításához. A hagyományos SHA-* hash függvények szekvenciálisan dolgozzák fel az adatokat.

A BLAKE3 jellemzői:

  • Nagy teljesítményű;
  • Biztonság, beleértve az ellenállást üzenet elongációs támadás, amelyre az SHA-2 érzékeny;
  • Számítások párhuzamosításának biztosítása tetszőleges számú szálon és SIMD csatornán;
  • A folyamok fokozatos frissítésének és ellenőrzött feldolgozásának lehetősége;
  • Használja PRF, MAC, KDF, XOF módokban és normál hashként;
  • Egyetlen algoritmus minden architektúrához, gyors mind az x86-64 rendszereken, mind a 32 bites ARM processzorokon.

Forrás: opennet.ru

Hozzászólás