Verëffentlechung vun der Referenzimplementatioun vun der kryptografescher Hashfunktioun BLAKE3 1.0

Eng Referenzimplementatioun vun der kryptografescher Hashfunktioun BLAKE3 1.0 gouf verëffentlecht, notabel fir seng ganz héich Hash Berechnungsleistung wärend Zouverlässegkeet um SHA-3 Niveau assuréiert. Am Hash Generatiounstest fir eng 16 KB Datei, BLAKE3 mat engem 256-Bit Schlëssel besser wéi SHA3-256 ëm 17 Mol, SHA-256 ëm 14 Mol, SHA-512 ëm 9 Mol, SHA-1 ëm 6 Mol, a BLAKE2b - 5 mol. E wesentleche Spalt bleift wann Dir ganz grouss Quantitéiten un Daten veraarbecht, zum Beispill, BLAKE3 huet sech 256 Mol méi séier wéi SHA-8 gewisen wann Dir en Hash fir 1GB zoufälleg Daten berechnen. De BLAKE3 Referenz Implementéierungscode ass verfügbar a C a Rust Versiounen ënner engem Dual Public Domain (CC0) an Apache 2.0 Lizenz.

Verëffentlechung vun der Referenzimplementatioun vun der kryptografescher Hashfunktioun BLAKE3 1.0

D'Hash Funktioun ass entwéckelt fir Uwendungen wéi Dateiintegritéitskontroll, Message Authentifikatioun, a Generéiere vun Daten fir kryptografesch digital Ënnerschrëften. BLAKE3 ass net geduecht fir Passwierder ze hashen, well et zielt fir Hashes sou séier wéi méiglech ze berechnen (fir Passwierder ass et recommandéiert déi lues Hash Funktiounen yescrypt, bcrypt, scrypt oder Argon2 ze benotzen). D'Hashfunktioun, déi berécksiichtegt ass, ass onsensibel fir d'Gréisst vun den hashed Donnéeën an ass geschützt vu Attacken op Kollisiounsauswiel a Preimage Finding.

Den Algorithmus gouf vu bekannte Kryptografieexperten entwéckelt (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) a setzt d'Entwécklung vum BLAKE2 Algorithmus weider a benotzt de Bao Mechanismus fir de Blockkettebaum ze codéieren . Am Géigesaz zu BLAKE2 (BLAKE2b, BLAKE2s), bitt BLAKE3 een eenzegen Algorithmus fir all Plattformen, net un d'Bitdéift an d'Hashgréisst gebonnen.

Erhéicht Leeschtung gouf erreecht andeems d'Zuel vun de Ronnen vun 10 op 7 reduzéiert gouf an d'Blocke getrennt an 1 KB Stécker gehackt hunn. No de Créateuren hunn se iwwerzeegend mathematesche Beweis fonnt datt et méiglech ass mat 7 Ronnen amplaz vun 10 ze kommen, wärend de selwechte Niveau vun Zouverlässegkeet behalen (fir Kloerheet kënne mir e Beispill ginn mat Uebst an engem Mixer ze vermëschen - no 7 Sekonnen d'Fruucht ass scho komplett gemëscht, an eng zousätzlech 3 Sekonnen wäert d'Konsistenz vun der Mëschung net beaflossen). Wéi och ëmmer, e puer Fuerscher drécken Zweifel aus, a gleewen datt och wann 7 Ronne momentan genuch sinn fir all bekannt Attacken op Hashes entgéintzewierken, da kënnen zousätzlech 3 Ronnen nëtzlech sinn wann nei Attacken an Zukunft identifizéiert ginn.

Wat d'Divisioun an d'Blöcke ugeet, am BLAKE3 ass de Stroum an 1 KB Stécker opgedeelt an all Stéck gëtt onofhängeg gehat. Baséierend op den Hashes vun de Stécker gëtt ee grousse Hash geformt op Basis vum binäre Merkle Bam. Dës Divisioun erlaabt eis de Problem vun der Paralleliséierung vun Datenveraarbechtung bei der Berechnung vun Hashes ze léisen - zum Beispill kënnt Dir 4-threaded SIMD-Instruktioune benotze fir gläichzäiteg Hashes vu 4 Blocken ze berechnen. Traditionell SHA-* Hash Funktiounen veraarbecht Daten sequenziell.

Spezifikatioune vun BLAKE3

  • Héich Leeschtung, BLAKE3 ass wesentlech méi séier wéi MD5, SHA-1, SHA-2, SHA-3 a BLAKE2.
  • Sécherheet, dorënner Resistenz zu Message elongation Attacken op déi SHA-2 ufälleg ass;
  • Verfügbar a Rust, optimiséiert fir SSE2, SSE4.1, AVX2, AVX-512, an NEON Instruktiounen.
  • Assuréieren Paralleliséierung vun Berechnungen op all Zuel vun thread an SIMD Channels.
  • Méiglechkeet fir inkrementell Aktualiséierung a verifizéiert Veraarbechtung vu Streamen;
  • Benotzt an PRF, MAC, KDF, XOF Modi an als normale Hash;
  • Een eenzegen Algorithmus fir all Architekturen, séier op béid x86-64 Systemer an 32-Bit ARM Prozessoren.

D'Haaptdifferenzen tëscht BLAKE3 a BLAKE2:

  • Benotzung vun enger binärer Bamstruktur déi onlimitéiert Parallelismus bei Hash-Berechnungen erlaabt.
  • D'Zuel vun de Ronnen vun 10 op 7 reduzéieren.
  • Dräi Operatiounsmodi: hashing, hashing with a key (HMAC) and key derivation (KDF).
  • Keng zousätzlech Overhead beim Hashen mat engem Schlëssel wéinst der Notzung vum Gebitt dat virdru vum Schlësselparameterblock besat ass.
  • Built-in Betribssystemer Mechanismus a Form vun enger Funktioun mat engem erweiderten Resultat (XOF, Extendable Output Funktioun), erlaabt Paralleliséierung a Positionéierung (Sich).

Source: opennet.ru

Setzt e Commentaire