Pagpagawas sa reperensiya nga pagpatuman sa cryptographic hash function BLAKE3 1.0

Usa ka reperensiya nga pagpatuman sa cryptographic hash function nga BLAKE3 1.0 gibuhian, bantogan tungod sa taas kaayo nga hash nga kalkulasyon nga performance samtang nagsiguro sa kasaligan sa SHA-3 nga lebel. Sa hash generation test para sa usa ka 16 KB nga file, ang BLAKE3 nga adunay 256-bit nga yawe milabaw sa SHA3-256 sa 17 ka beses, SHA-256 sa 14 ka beses, SHA-512 sa 9 ka beses, SHA-1 sa 6 ka beses, ug BLAKE2b - 5 ka beses. Nagpabilin ang usa ka hinungdanon nga gintang kung ang pagproseso sa daghang mga datos, pananglitan, ang BLAKE3 nahimo’g 256 ka beses nga mas paspas kaysa SHA-8 kung gikalkula ang usa ka hash alang sa 1GB nga random nga datos. Ang BLAKE3 reference implementation code anaa sa C ug Rust nga mga bersyon ubos sa dual public domain (CC0) ug Apache 2.0 nga lisensya.

Pagpagawas sa reperensiya nga pagpatuman sa cryptographic hash function BLAKE3 1.0

Ang hash function gidisenyo alang sa mga aplikasyon sama sa pagsusi sa integridad sa file, pag-authenticate sa mensahe, ug pagmugna og datos alang sa cryptographic digital signatures. Ang BLAKE3 wala gituyo alang sa pag-hash sa mga password, tungod kay kini nagtumong sa pagkalkulo sa mga hash sa labing madali nga panahon (alang sa mga password, girekomenda nga gamiton ang hinay nga hash functions yescrypt, bcrypt, scrypt o Argon2). Ang hash function nga gikonsiderar dili sensitibo sa gidak-on sa gi-hash nga datos ug giprotektahan gikan sa mga pag-atake sa pagpili sa pagbangga ug pagpangita sa preimage.

Ang algorithm gimugna sa iladong mga eksperto sa cryptography (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) ug nagpadayon sa pagpalambo sa BLAKE2 algorithm ug naggamit sa mekanismo sa Bao sa pag-encode sa block chain tree . Dili sama sa BLAKE2 (BLAKE2b, BLAKE2s), ang BLAKE3 nagtanyag og usa ka algorithm alang sa tanang plataporma, nga wala mahigot sa gamay nga giladmon ug hash nga gidak-on.

Ang dugang nga performance nakab-ot pinaagi sa pagkunhod sa gidaghanon sa mga round gikan sa 10 ngadto sa 7 ug hashing block nga gilain sa 1 KB nga mga piraso. Sumala sa mga tiglalang, nakit-an nila ang makapakombinsir nga pamatuod sa matematika nga posible nga makaabut sa 7 nga mga hugna imbes sa 10 samtang gipadayon ang parehas nga lebel sa pagkakasaligan (alang sa katin-awan, makahatag kami usa ka pananglitan sa pagsagol sa prutas sa usa ka mixer - pagkahuman sa 7 segundos ang bunga hingpit nga gisagol, ug ang dugang nga 3 segundos dili makaapekto sa pagkamakanunayon sa sagol). Bisan pa, ang pipila nga mga tigdukiduki nagpahayag sa mga pagduhaduha, nga nagtuo nga bisan kung ang 7 nga mga hugna sa pagkakaron igo na aron masumpo ang tanan nga nahibal-an nga mga pag-atake sa mga hash, unya ang dugang nga 3 nga mga hugna mahimong mapuslanon kung ang mga bag-ong pag-atake mahibal-an sa umaabot.

Sama sa bahin sa pagbahin sa mga bloke, sa BLAKE3 ang sapa gibahin sa 1 KB nga mga piraso ug ang matag piraso gi-hash nga independente. Base sa mga hash sa mga piraso, usa ka dako nga hash ang naporma base sa binary nga Merkle nga kahoy. Gitugotan kami sa kini nga dibisyon nga masulbad ang problema sa pagparis sa pagproseso sa datos sa pagkalkula sa mga hash - pananglitan, mahimo nimong gamiton ang 4-threaded nga mga panudlo sa SIMD aron dungan nga makalkula ang mga hash sa 4 nga mga bloke. Ang tradisyonal nga SHA-* hash function nagproseso sa datos nga sunud-sunod.

Mga bahin sa BLAKE3:

  • Taas nga performance, ang BLAKE3 mas paspas kay sa MD5, SHA-1, SHA-2, SHA-3 ug BLAKE2.
  • Seguridad, lakip ang pagbatok sa mga pag-atake sa pagpalugway sa mensahe diin ang SHA-2 daling maapektuhan;
  • Anaa sa Rust, na-optimize alang sa SSE2, SSE4.1, AVX2, AVX-512, ug mga instruksiyon sa NEON.
  • Pagsiguro sa parallelization sa mga kalkulasyon sa bisan unsang gidaghanon sa mga thread ug SIMD channels.
  • Posibilidad sa incremental nga pag-update ug gipamatud-an nga pagproseso sa mga sapa;
  • Paggamit sa PRF, MAC, KDF, XOF mode ug isip regular nga hash;
  • Usa ka algorithm alang sa tanan nga mga arkitektura, paspas sa mga x86-64 nga sistema ug 32-bit nga mga processor sa ARM.

Ang mga nag-unang kalainan tali sa BLAKE3 ug BLAKE2:

  • Paggamit sa binary tree structure nga nagtugot sa walay kutub nga paralelismo sa hash kalkulasyon.
  • Pagkunhod sa gidaghanon sa mga hugna gikan sa 10 ngadto sa 7.
  • Tulo ka paagi sa operasyon: hashing, hashing nga adunay yawe (HMAC) ug yawe nga henerasyon (KDF).
  • Wala'y dugang nga overhead kung ang pag-hash gamit ang usa ka yawe tungod sa paggamit sa lugar nga giokupar kaniadto sa key parameter block.
  • Gitukod-sa operating mekanismo sa porma sa usa ka function uban sa usa ka taas nga resulta (XOF, Extendable Output Function), nagtugot parallelization ug positioning (pagpangita).

Source: opennet.ru

Idugang sa usa ka comment