Famoahana ny fampiharana fanondroana ny fiasan'ny hash cryptographic BLAKE3 1.0

Navoaka ny fampiharana fanondroana ny fiasan'ny hash kriptografika BLAKE3 1.0, miavaka amin'ny fahombiazany amin'ny fanisana hash avo dia avo ary miantoka ny fahatokisana amin'ny ambaratonga SHA-3. Ao amin'ny fitsapana famokarana hash ho an'ny rakitra 16 KB, BLAKE3 miaraka amin'ny fanalahidy 256-bit dia mihoatra ny SHA3-256 in-17, SHA-256 in-14, SHA-512 in-9, SHA-1 in-6, ary BLAKE2b - in-5. Mbola misy elanelana lehibe eo amin'ny fanodinana angon-drakitra be dia be, ohatra, ny BLAKE3 dia nivadika ho avo 256 heny noho ny SHA-8 rehefa mikajy hash ho an'ny angona kisendrasendra 1GB. Ny fehezan-dalΓ na fampiharana BLAKE3 dia misy amin'ny dikan-teny C sy Rust eo ambanin'ny sehatra roa ho an'ny daholobe (CC0) sy ny lisansa Apache 2.0.

Famoahana ny fampiharana fanondroana ny fiasan'ny hash cryptographic BLAKE3 1.0

Ny asa hash dia natao ho an'ny rindranasa toy ny fisavana ny fahamarinan'ny rakitra, ny fanamarinana ny hafatra, ary ny famoronana data ho an'ny sonia nomerika cryptographic. Ny BLAKE3 dia tsy natao ho an'ny hashing tenimiafina, satria mikendry ny hanao kajy haingana araka izay azo atao ny hash (ho an'ny tenimiafina, dia asaina mampiasa ny asa hash miadana yescrypt, bcrypt, scrypt na Argon2). Ny fiasan'ny hash izay dinihina dia tsy miraharaha ny haben'ny angon-drakitra voasakana ary voaro amin'ny fanafihana fifantenana fifandonana sy fitadiavana sary mialoha.

Ny algorithm dia novolavolain'ny manam-pahaizana fanta-daza momba ny kriptografika (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) ary manohy ny fivoaran'ny algorithm BLAKE2 ary mampiasa ny mekanika Bao hanidy ny hazo rojo vy. . Tsy toy ny BLAKE2 (BLAKE2b, BLAKE2s), ny BLAKE3 dia manolotra algorithm tokana ho an'ny sehatra rehetra, tsy mifamatotra amin'ny halalin'ny kely sy ny haben'ny hash.

Nitombo ny fahombiazany tamin'ny fampihenana ny isan'ny fihodinana 10 ka hatramin'ny 7 ary ny hashing block misaraka amin'ny ampahany 1 KB. Araka ny filazan'ny mpamorona dia nahita porofo matematika maharesy lahatra izy ireo fa azo atao ny mandeha amin'ny fihodinana 7 fa tsy 10 raha mitazona ny haavon'ny fahamendrehana mitovy (raha mazava tsara, afaka manome ohatra amin'ny fampifangaroana voankazo ao anaty mixer isika - aorian'ny 7 segondra. ny voankazo dia efa mifangaro tanteraka, ary ny 3 segondra fanampiny dia tsy hisy fiantraikany amin'ny fiovaovan'ny fangaro). Na izany aza, ny mpikaroka sasany dia maneho fisalasalana, mino fa na dia misy fihodinana 7 amin'izao fotoana izao aza dia ampy hanoherana ny fanafihana rehetra fantatra amin'ny hash, dia mety ilaina ny fihodinana 3 fanampiny raha misy fanafihana vaovao hita any aoriana.

Raha ny fizarazarana ho blocs, ao amin'ny BLAKE3 dia mizara ho ampahany 1 KB ny riaka ary ny ampahany tsirairay dia voasokajy tsy miankina. Miorina amin'ny hash amin'ny sombiny, misy hash lehibe iray miorina amin'ny hazo Merkle binary. Ity fizarana ity dia ahafahantsika mamaha ny olan'ny fanodinana angon-drakitra amin'ny alΓ lan'ny kajy ny hash - ohatra, azonao atao ny mampiasa toromarika SIMD misy kofehy 4 mba hanombanana ny hash amin'ny sakana 4. Ny fiasan'ny hash SHA-* nentim-paharazana dia manodina ny angona misesy.

Toetran'ny BLAKE3:

  • Fampisehoana avo lenta, BLAKE3 dia haingana kokoa noho ny MD5, SHA-1, SHA-2, SHA-3 ary BLAKE2.
  • Fiarovana, ao anatin'izany ny fanoherana ny fanafihana fanalavana hafatra izay mety ho tratran'ny SHA-2;
  • Misy amin'ny Rust, natao ho an'ny torolΓ lana SSE2, SSE4.1, AVX2, AVX-512, ary NEON.
  • Miantoka ny fampitoviana ny kajy amin'ny isan'ny kofehy sy ny fantsona SIMD.
  • Ny mety hisian'ny fanavaozana fanampiny sy ny fanodinana ny renirano voamarina;
  • Ampiasao amin'ny maody PRF, MAC, KDF, XOF ary toy ny hash mahazatra;
  • Algorithm tokana ho an'ny maritrano rehetra, haingana amin'ny rafitra x86-64 sy ny processeur ARM 32-bit.

Ny fahasamihafana lehibe eo amin'ny BLAKE3 sy BLAKE2:

  • Fampiasana firafitry ny hazo mimari-droa mamela ny parallΓ¨le tsy misy fetra amin'ny kajy hash.
  • Mampihena ny isan'ny fihodinana 10 ka hatramin'ny 7.
  • Fomba fiasa telo: hashing, hashing miaraka amin'ny fanalahidy (HMAC) ary famoronana fanalahidy (KDF).
  • Tsy misy overhead fanampiny rehefa hashing miaraka amin'ny fanalahidy noho ny fampiasana ny faritra teo aloha nipetrahan'ny masontsivana fanalahidy.
  • Mekanisma miasa ao anatiny amin'ny endrika fiasa miaraka amin'ny vokatra miitatra (XOF, Extendable Output Function), mamela ny fampifanarahana sy ny fametrahana (mitady).

Source: opennet.ru

Add a comment