Kutulutsidwa kwa kukhazikitsidwa kwa ntchito ya cryptographic hash BLAKE3 1.0

Kukhazikitsidwa kwa ntchito ya cryptographic hash BLAKE3 1.0 idatulutsidwa, yodziwika chifukwa cha kuwerengetsa kwake kwapamwamba kwambiri ndikuwonetsetsa kudalirika pamlingo wa SHA-3. Mu mayeso a hash generation wa fayilo ya 16 KB, BLAKE3 yokhala ndi 256-bit key imaposa SHA3-256 ndi 17 times, SHA-256 by 14 times, SHA-512 by 9 times, SHA-1 by 6 times, ndi BLAKE2b - 5 nthawi. Kusiyana kwakukulu kumatsalira pokonza zochulukira za data, mwachitsanzo, BLAKE3 idakhala yothamanga nthawi 256 kuposa SHA-8 powerengera hashi ya 1GB ya data mwachisawawa. Khodi yokhazikitsidwa ndi BLAKE3 ikupezeka m'mitundu ya C ndi Rust pansi pazigawo ziwiri za anthu (CC0) ndi chilolezo cha Apache 2.0.

Kutulutsidwa kwa kukhazikitsidwa kwa ntchito ya cryptographic hash BLAKE3 1.0

Ntchito ya hashi idapangidwa kuti izigwiritsidwa ntchito monga kuyang'ana kukhulupirika kwa mafayilo, kutsimikizira uthenga, ndikupanga zidziwitso zamasiginecha a digito. BLAKE3 sinapangidwe kuti ikhale yachinsinsi, chifukwa imafuna kuwerengera ma hashes mwachangu momwe mungathere (pama passwords, tikulimbikitsidwa kugwiritsa ntchito ntchito zocheperako inde, bcrypt, scrypt kapena Argon2). Ntchito ya hashi yomwe ikuganiziridwayo ilibe chidwi ndi kukula kwa deta ya hashi ndipo imatetezedwa ku zovuta za kusankha kugunda ndi kupeza chithunzithunzi.

Algorithm idapangidwa ndi akatswiri odziwika bwino a cryptography (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) ndipo akupitiliza kupanga algorithm ya BLAKE2 ndipo amagwiritsa ntchito njira ya Bao kuyika mtengo wa block chain. . Mosiyana ndi BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 imapereka algorithm imodzi pamapulatifomu onse, osamangidwa kukuya pang'ono ndi kukula kwa hashi.

Kuchulukirachulukira kudakwaniritsidwa pochepetsa kuchuluka kwa zozungulira kuchokera ku 10 mpaka 7 ndi ma hashing block padera mu zidutswa za 1 KB. Malinga ndi omwe adalenga, adapeza umboni wotsimikizika wamasamu kuti ndizotheka kudutsa ndi maulendo 7 m'malo mwa 10 ndikusunga kudalirika komweko (kumveka bwino, titha kupereka chitsanzo ndi kusakaniza zipatso mu chosakaniza - pambuyo pa masekondi 7 chipatsocho chasakanizidwa kale, ndipo masekondi 3 owonjezera sangakhudze kusasinthika kosakaniza). Komabe, ofufuza ena amakayikira, akukhulupirira kuti ngakhale kuzungulira kwa 7 kuli kokwanira kuthana ndi ziwopsezo zonse zomwe zimadziwika pa ma hashes, ndiye kuti maulendo atatu owonjezera atha kukhala othandiza ngati kuukira kwatsopano kudzadziwika m'tsogolomu.

Ponena za kugawa mu midadada, mu BLAKE3 mtsinjewo umagawidwa mu zidutswa za 1 KB ndipo chidutswa chilichonse chimathamanga paokha. Kutengera ma hashes a zidutswazo, hashi imodzi yayikulu imapangidwa potengera mtengo wamabina a Merkle. Kugawanikaku kumatithandiza kuthetsa vuto la kufanana kwa data powerengera ma hashes - mwachitsanzo, mungagwiritse ntchito malangizo a SIMD a 4 kuti muwerenge nthawi imodzi ma hashes a midadada 4. Ntchito Zachikhalidwe za SHA-* hashi zimakonza deta motsatizana.

Zina mwa BLAKE3:

  • Kuchita bwino kwambiri, BLAKE3 ndiyothamanga kwambiri kuposa MD5, SHA-1, SHA-2, SHA-3 ndi BLAKE2.
  • Chitetezo, kuphatikiza kukana kuwukira kwa mauthenga komwe SHA-2 imakhudzidwa;
  • Imapezeka ku Rust, yokongoletsedwa ndi malangizo a SSE2, SSE4.1, AVX2, AVX-512, ndi NEON.
  • Kuwonetsetsa kufanana kwa mawerengedwe pamtundu uliwonse wa ulusi ndi njira za SIMD.
  • Kuthekera kwa kukonzanso kowonjezera ndi kutsimikizika kwa mitsinje;
  • Gwiritsani ntchito PRF, MAC, KDF, XOF modes komanso ngati hashi wamba;
  • Algorithm imodzi yamamangidwe onse, mwachangu pamakina onse a x86-64 ndi ma processor a 32-bit ARM.

Kusiyana kwakukulu pakati pa BLAKE3 ndi BLAKE2:

  • Kugwiritsa ntchito mtengo wamabinala omwe amalola kuti pakhale kufanana kopanda malire pakuwerengera hashi.
  • Kuchepetsa kuchuluka kwa zozungulira kuchokera 10 mpaka 7.
  • Njira zitatu zogwirira ntchito: hashing, hashing yokhala ndi kiyi (HMAC) ndi key generation (KDF).
  • Palibe chowonjezera chowonjezera pamene hashing ndi kiyi chifukwa chogwiritsa ntchito malo omwe kale anali ndi magawo ofunikira.
  • Makina ogwiritsira ntchito omangidwa mwa mawonekedwe a ntchito yokhala ndi chotsatira chotalikirapo (XOF, Ntchito Yowonjezera Yotulutsa), kulola kufanana ndi kuyika (kufufuza).

Source: opennet.ru

Kuwonjezera ndemanga