Sakin aiwatar da tunani na aikin hash na cryptographic BLAKE3 1.0

An fitar da aiwatar da aiwatar da aikin hash na cryptographic BLAKE3 1.0, sananne saboda babban aikin lissafin zanta yayin da yake tabbatar da dogaro a matakin SHA-3. A cikin gwajin tsarar zanta don fayil na 16 KB, BLAKE3 tare da maɓallin 256-bit ya fi SHA3-256 ta sau 17, SHA-256 ta sau 14, SHA-512 ta sau 9, SHA-1 ta sau 6, da BLAKE2b - sau 5. Babban gibi ya rage yayin sarrafa bayanai masu yawa, alal misali, BLAKE3 ya zama sau 256 cikin sauri fiye da SHA-8 yayin ƙididdige hash don 1GB na bayanan bazuwar. Ana samun lambar aiwatar da tunani ta BLAKE3 a cikin nau'ikan C da Rust a ƙarƙashin yanki na jama'a biyu (CC0) da lasisin Apache 2.0.

Sakin aiwatar da tunani na aikin hash na cryptographic BLAKE3 1.0

An tsara aikin hash don aikace-aikace kamar bincika amincin fayil, tantance saƙo, da samar da bayanai don sa hannun dijital na sirri. BLAKE3 ba a yi nufin hashing kalmomin shiga ba, saboda yana da nufin ƙididdige hashes da sauri (don kalmomin sirri, ana ba da shawarar yin amfani da ayyukan hash a hankali yescrypt, bcrypt, scrypt ko Argon2). Ayyukan hash da ake la'akari ba su da hankali ga girman bayanan hashed kuma an kiyaye shi daga hare-hare kan zaɓin karo da gano ainihin hoto.

Shahararrun ƙwararrun cryptography ne suka haɓaka algorithm (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) kuma yana ci gaba da haɓaka BLAKE2 algorithm kuma yana amfani da tsarin Bao don ɓoye bishiyar sarkar toshe. . Ba kamar BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 yana ba da algorithm guda ɗaya don duk dandamali, ba a ɗaure zuwa zurfin bit da girman zanta ba.

An sami ƙarin aiki ta hanyar rage adadin zagaye daga 10 zuwa 7 da hashing blocks daban a cikin guda 1 KB. A cewar masu yin halitta, sun sami hujjar ilimin lissafi mai gamsarwa cewa yana yiwuwa a samu ta tare da zagaye na 7 maimakon 10 yayin da suke riƙe daidaitattun daidaito (don tsabta, zamu iya ba da misali tare da haɗakar 'ya'yan itace a cikin mahaɗin - bayan 7 seconds). 'ya'yan itacen sun riga sun haɗu da juna, kuma ƙarin 3 seconds ba zai shafi daidaiton cakuda ba). Duk da haka, wasu masu bincike sun nuna shakku, suna ganin cewa ko da a halin yanzu 7 sun isa don magance duk hare-haren da aka sani a kan hashes, to ƙarin zagaye 3 na iya zama da amfani idan an gano sabbin hare-hare a nan gaba.

Dangane da rarrabuwa zuwa tubalan, a cikin BLAKE3 rafin ya kasu kashi 1 KB kuma kowane yanki an yi shi da kansa. Dangane da hashes na guntuwar, babban zanta yana samuwa akan bishiyar Merkle na binary. Wannan rarrabuwa tana ba mu damar magance matsalar daidaita sarrafa bayanai yayin ƙididdige hashes - alal misali, zaku iya amfani da umarnin SIMD mai zaren 4 don lissafta hashes na tubalan 4 lokaci guda. SHA-* na al'ada aikin hash yana aiwatar da bayanai a jere.

Siffofin BLAKE3:

  • Babban aiki, BLAKE3 yana da sauri da sauri fiye da MD5, SHA-1, SHA-2, SHA-3 da BLAKE2.
  • Tsaro, gami da juriya ga hare-haren elongation na saƙo wanda SHA-2 ke da rauni;
  • Akwai a cikin Tsatsa, an inganta shi don SSE2, SSE4.1, AVX2, AVX-512, da umarnin NEON.
  • Tabbatar da daidaituwar lissafin akan kowane adadin zaren da tashoshin SIMD.
  • Yiwuwar haɓaka haɓakawa da tabbatar da sarrafa magudanan ruwa;
  • Yi amfani da PRF, MAC, KDF, XOF kuma azaman zanta na yau da kullun;
  • Algorithm guda ɗaya don duk gine-gine, mai sauri akan tsarin x86-64 da na'urori masu sarrafa 32-bit ARM.

Babban bambance-bambance tsakanin BLAKE3 da BLAKE2:

  • Amfani da tsarin bishiyar binaryar da ke ba da izinin daidaitawa mara iyaka a cikin lissafin hash.
  • Rage adadin zagaye daga 10 zuwa 7.
  • Hanyoyi guda uku na aiki: hashing, hashing tare da maɓalli (HMAC) da tsarar maɓalli (KDF).
  • Babu ƙarin sama da ƙasa lokacin yin hange da maɓalli saboda amfani da yankin da maɓalli na maɓalli ya mamaye a baya.
  • Gina tsarin aiki a cikin nau'i na aiki tare da sakamako mai tsawo (XOF, Extendable Extendable Output Action), bada izinin daidaitawa da matsayi (neman).

source: budenet.ru

Add a comment