Available ang BLAKE3 cryptographic hash function, na 10 beses na mas mabilis kaysa sa SHA-2

Ang huling pagpapatupad ng algorithm ay nai-publish BLAKE3, na nag-aalok ng cryptographic hash function na idinisenyo para sa mga application tulad ng pagsuri sa integridad ng file, pagpapatotoo ng mensahe, at pagbuo ng data para sa mga digital na lagda. Ang BLAKE3 ay hindi inilaan para sa pag-hash ng mga password (para sa mga password kailangan mong gumamit ng yescrypt, bcrypt, scrypt o Argon2), dahil ito ay naglalayong kalkulahin ang mga hash sa lalong madaling panahon na may garantiyang walang banggaan, proteksyon laban sa paghahanap ng prototype at hindi sensitibo sa laki ng na-hash na data. Pagpapatupad ng sanggunian ng BLAKE3 nai-publish Dual na lisensyado sa ilalim ng Public Domain (CC0) at Apache 2.0.

Ang pangunahing pagkakaiba ng bagong hash function ay ang napakataas na pagganap ng mga kalkulasyon ng hash habang pinapanatili ang pagiging maaasahan sa antas ng SHA-3. Bilang default, ang resultang laki ng hash sa BLAKE3 ay 32 bytes (256 bits), ngunit maaari itong palawakin sa mga arbitrary na halaga. Sa isang pagsubok sa pagbuo ng hash para sa isang 16 KB na file, nahihigitan ng BLAKE3 ang SHA3-256 ng 15 beses, SHA-256 ng 12 beses, SHA-512 ng 8 beses, SHA-1 ng 6 na beses, at BLAKE2b ng 4 na beses. Ang isang makabuluhang agwat ay nananatili kapag nagpoproseso ng napakalaking halaga ng data, halimbawa, ang BLAKE3 pala mas mabilis SHA-256 ng 8 beses kapag kinakalkula ang hash para sa 1GB ng random na data.

Available ang BLAKE3 cryptographic hash function, na 10 beses na mas mabilis kaysa sa SHA-2

Ang algorithm ay binuo ng mga sikat na eksperto sa cryptography (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) at patuloy na bumuo ng algorithm BLAKE2 at gumagamit ng mekanismo para i-encode ang block chain tree Sako. Hindi tulad ng BLAKE2 (BLAKE2b, BLAKE2s), nag-aalok ang BLAKE3 ng isang algorithm para sa lahat ng platform, na hindi nakatali sa bit depth at laki ng hash.

Ang tumaas na performance ay nakamit sa pamamagitan ng pagbabawas ng bilang ng mga round mula 10 hanggang 7 at hiwalay na mga hashing block sa 1 KB na piraso. Ayon sa mga tagalikha, nakakita sila ng isang kapani-paniwala patunay, na maaari mong makuha sa pamamagitan ng 7 rounds sa halip na 10 habang pinapanatili ang parehong antas ng pagiging maaasahan (para sa kalinawan, maaari kang magbigay ng isang halimbawa sa paghahalo ng mga prutas sa isang mixer - pagkatapos ng 7 segundo ang mga prutas ay ganap na nahalo at isang karagdagang 3 segundo ay hindi nakakaapekto sa pagkakapare-pareho ng pinaghalong). Gayunpaman, ang ilang mga mananaliksik ay nagpahayag ng mga pagdududa, sa paniniwalang kahit na sa kasalukuyan ay sapat na ang 7 round upang mapaglabanan ang lahat ng kilalang pag-atake sa mga hash, kung gayon ang karagdagang 3 pag-ikot ay maaaring maging kapaki-pakinabang kung ang mga bagong pag-atake ay matukoy sa hinaharap.

Tulad ng para sa paghahati sa mga bloke, sa BLAKE3 ang stream ay nahahati sa 1 KB na mga piraso at ang bawat piraso ay na-hash nang nakapag-iisa. Batay sa mga hash ng mga piraso sa base binary merkle tree isang malaking hash ang nabuo. Binibigyang-daan kami ng dibisyong ito na lutasin ang problema ng pagpaparis sa pagpoproseso ng data kapag nagkalkula ng hash - halimbawa, maaari mong gamitin ang 4-threaded na mga tagubilin sa SIMD upang sabay na kalkulahin ang mga hash ng 4 na bloke. Ang mga tradisyunal na SHA-* hash function ay nagpoproseso ng data nang sunud-sunod.

Mga tampok ng BLAKE3:

  • Mataas na pagganap;
  • Kaligtasan, kabilang ang paglaban sa pag-atake ng pagpapahaba ng mensahe, kung saan ang SHA-2 ay madaling kapitan;
  • Tinitiyak ang parallelization ng mga kalkulasyon sa anumang bilang ng mga thread at SIMD channel;
  • Posibilidad ng incremental na pag-update at na-verify na pagproseso ng mga stream;
  • Gamitin sa PRF, MAC, KDF, XOF mode at bilang regular na hash;
  • Isang solong algorithm para sa lahat ng arkitektura, mabilis sa parehong x86-64 system at 32-bit ARM processor.

Pinagmulan: opennet.ru

Magdagdag ng komento