BLAKE3 kryptografyske hashfunksje beskikber, dat is 10 kear flugger as SHA-2

De definitive ymplemintaasje fan it algoritme is publisearre BLAKE3, dy't in kryptografyske hashfunksje biedt ûntworpen foar applikaasjes lykas kontrolearjen fan triemintegriteit, berjochtferifikaasje en it generearjen fan gegevens foar digitale hantekeningen. BLAKE3 is net bedoeld foar it hashen fan wachtwurden (foar wachtwurden moatte jo yescrypt, bcrypt, scrypt of Argon2 brûke), om't it is rjochte op it berekkenjen fan hashes sa rap mooglik mei in garânsje fan gjin botsingen, beskerming tsjin it prototype te finen en net gefoelich foar de grutte fan 'e hashed gegevens. Referinsje ymplemintaasje fan BLAKE3 publisearre Dual lisinsje ûnder Public Domain (CC0) en Apache 2.0.

It wichtichste ferskil fan 'e nije hashfunksje is de heul hege prestaasjes fan hash-berekkeningen, wylst de betrouberens op it SHA-3-nivo behâldt. Standert is de resultearjende hashgrutte yn BLAKE3 32 bytes (256 bits), mar it kin útwreide wurde nei willekeurige wearden. Yn in hash-generaasjetest foar in 16 KB-bestân prestearret BLAKE3 3 kear SHA256-15, SHA-256 12 kear, SHA-512 8 kear, SHA-1 6 kear, en BLAKE2b 4 kear. In wichtige gat bliuwt by it ferwurkjen fan heul grutte hoemannichten gegevens, bygelyks BLAKE3 die bliken te wêzen flugger SHA-256 troch 8 kear by it berekkenjen fan hash foar 1GB oan willekeurige gegevens.

BLAKE3 kryptografyske hashfunksje beskikber, dat is 10 kear flugger as SHA-2

It algoritme is ûntwikkele troch ferneamde kryptografy-eksperts (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) en bliuwt it algoritme ûntwikkelje BLAKE2 en brûkt in meganisme om de blokketenbeam te kodearjen Bao. Oars as BLAKE2 (BLAKE2b, BLAKE2s), biedt BLAKE3 in inkele algoritme foar alle platfoarms, net bûn oan de bit djipte en hash grutte.

Ferhege prestaasjes waard berikt troch it ferminderjen fan it oantal rûnen fan 10 nei 7 en apart hashing blokken yn 1 KB stikken. Neffens de makkers fûnen se in oertsjûgjend bewiis, dat jo mei 7 rûntsjes yn stee fan 10 komme kinne, wylst jo itselde nivo fan betrouberens behâlde (foar de dúdlikens kinne jo in foarbyld jaan mei it mingjen fan fruchten yn in mixer - nei 7 sekonden binne de fruchten al folslein mingd en in ekstra 3 sekonden sille gjin ynfloed op de gearhing fan it mingsel). Guon ûndersikers sprekke lykwols twifels út, en leauwe dat sels as op it stuit 7 rûnten genôch binne om alle bekende oanfallen op hashes te wjerstean, dan kinne ekstra 3 rûnen nuttich wêze as nije oanfallen yn 'e takomst identifisearre wurde.

As foar dielen yn blokken, yn BLAKE3 is de stream ferdield yn 1 KB stikken en elk stik wurdt ûnôfhinklik hashed. Op grûn fan hashes fan 'e stikken op' e basis binêre merkle beam ien grutte hash wurdt foarme. Dizze divyzje lit ús it probleem oplosse fan parallelisearjen fan gegevensferwurking by it berekkenjen fan in hash - bygelyks kinne jo 4-threaded SIMD-ynstruksjes brûke om tagelyk de hashes fan 4 blokken te berekkenjen. Tradysjonele SHA-*-hashfunksjes ferwurkje gegevens sequentieel.

Funksjes fan BLAKE3:

  • Hege prestaasjes;
  • Feiligens, ynklusyf ferset tsjin berjocht elongation oanfal, dêr't SHA-2 gefoelich foar is;
  • Garandearjen fan parallelisaasje fan berekkeningen op elk oantal threads en SIMD-kanalen;
  • Mooglikheid fan inkrementele fernijing en ferifiearre ferwurking fan streamen;
  • Brûk yn PRF, MAC, KDF, XOF modus en as in gewoane hash;
  • In inkeld algoritme foar alle arsjitektueren, fluch op sawol x86-64-systemen as 32-bit ARM-prosessoren.

Boarne: opennet.ru

Add a comment