BLAKE3 1.0 krĂŒptograafilise rĂ€si viite teostuse vĂ€ljalaskmine

KryptoĂŒhenduse hajutatud hash-funktsiooni BLAKE3 1.0 viimane versioon pakub erakordselt kĂ”rget hash'i arvutamise kiirus, sĂ€ilitades samas usaldusvÀÀrsuse, mis vastab SHA-3 tasemele. 16 KB faili hash'i genereerimise testis ĂŒletas BLAKE3 256-bitise vĂ”tmega SHA3-256 17 korda, SHA-256 14 korda, SHA-512 9 korda, SHA-1 6 korda ning BLAKE2b 5 korda. MĂ€rkimisvÀÀrne eelis pĂŒsib ka siis, kui töödeldakse vĂ€ga suuri andmehulki; nĂ€iteks oli BLAKE3 1GB juhuslike andmete hash'i arvutamisel kiirem kui SHA-256 8 korda. BLAKE3 viidatud rakenduskood on saadaval C ja Rust keeltes ning jagatakse kahe litsentsi — avaliku domeeni (CC0) ja Apache 2.0 — all.

BLAKE3 1.0 krĂŒptograafilise rĂ€si viite teostuse vĂ€ljalaskmine

Hashi funktsioon on mĂ”eldud sellisteks rakendusteks nagu failide terviklikkuse kontrollimine, sĂ”numite autentimine ja krĂŒptograafiliste digiallekirjade andmete genereerimine. BLAKE3 ei ole mĂ”eldud paroolide hashimiseks, kuna selle eesmĂ€rk on vĂ”imalikult kiire hash'ide arvutamine (paroolide puhul soovitatakse kasutada aeglaseid hash'fufunksioone nagu yescrypt, bcrypt, scrypt vĂ”i Argon2). RÀÀgitud hash-funktsioon ei ole tundlik hash'itavate andmete suuruse suhtes ja on kaitstud kokkulangevuse ja eelkĂ€ijate leidmise rĂŒnnakute eest.

Algoritmi on vĂ€lja töötanud tuntud krĂŒptograafia spetsialistid (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) ning see jĂ€tkab BLAKE2 algoritmi arendamist ja kasutab kodeerimise jaoks plokkide ahelate puu mehhanismi Bao. Erinevalt BLAKE2-st (BLAKE2b, BLAKE2s) on BLAKE3 kĂ”igi platvormide jaoks vĂ€lja pakutud ĂŒhtne algoritm, mis ei ole seotud sĂ”iduki mĂ€lukasutuse ja hash'i suurusega.

JĂ”udluse tĂ”stmine Ă”nnestus saavutada ringide arvu vĂ€hendamisega 10-lt 7-le ja plokkide tĂŒkkide kaupa eraldi hashimisega 1 KB. Loovutajate sĂ”nul leiti veenev matemaatiline tĂ”estus, et 7 ringiga saab hakkama ilma 10 ringita, sĂ€ilitades sama usaldusvÀÀrsuse (nĂ€iteks vĂ”ib tuua viljade mikserdamise nĂ€ite — 7 sekundi pĂ€rast on viljad juba tĂ€ielikult segatud ja lisakolme sekundi mĂ”ju segu konsistentsile ei avalda). Kuigi mĂ”ned teadlased vĂ€ljendavad kahtlust, arvan nad, et kuigi 7 ringi on praegu piisav, et vastu seista kĂ”ikidele tuntud rĂŒnnakutele hashidele, vĂ”ivad lisatĂ€iendavad 3 ringi olla tulevaste uute rĂŒnnakute avastamisel kasulikud.

BLAKE3 jagab andmed plokkideks, iga plokk on 1 KB suurune ja neid hash'itakse iseseisvalt. Plokkide hash'idest luuakse Merkle puu abil ĂŒks suur hash. Selline jaotus lahendab parameetrite paralleelse töötlemise probleemid hash'i arvutamisel — nĂ€iteks saab kasutada 4-kernilisi SIMD-i kĂ€ske 4 ploki hash'ide samaaegseks arvutamiseks. Traditsioonilised SHA-* hash-funktsioonid töötlevad andmeid jĂ€rjestikku.

BLAKE3 omadused:

  • KĂ”rge tulemuslikkus, BLAKE3 on mĂ€rksa kiirem kui MD5, SHA-1, SHA-2, SHA-3 ja BLAKE2.
  • Turvalisus, sealhulgas vastupidavus sĂ”numi pikendamise rĂŒnnakutele, millest on haavatav SHA-2;
  • Saadaval on vĂ”imalused Rusti keeles, mis on optimeeritud SSE2, SSE4.1, AVX2, AVX-512 ja NEON kĂ€su kasutamiseks.
  • Arvutuste paralleelset töötlemist toetatakse mis tahes arvu kernide ja SIMD-kanalite puhul.
  • VĂ”imalus inkrementaalseks uuendamiseks ja kinnitatud voogude töötlemiseks;
  • Kasutamine reĆŸiimides PRF, MAC, KDF, XOF ja tavalise hash'ina;
  • Üksik algoritm kĂ”igi arhitektuuride jaoks, kiire nii x86-64 sĂŒsteemidel kui ka 32-bitistes ARM-protsessorites.

Peamised erinevused BLAKE3 ja BLAKE2 vahel:

  • Kasutatakse binaarset puustruktuuri, mis vĂ”imaldab saavutada piiramatut paralleelsust hash'i arvutamisel.
  • Ringide arvu vĂ€hendamine 10-lt 7-le.
  • Kolm tööreĆŸiimi: hashimine, vĂ”tmega hashimine (HMAC) ja vĂ”tme genereerimine (KDF).
  • VĂ”tmega hashimise korral puuduvad lisakulud, tĂ€nu varem vĂ”tme parameetrite ploki poolt hĂ”ivatud piirkonna kasutamisele.
  • Sisseehitatud mehhanism, mis töötab pikendatava tulemuse funktsioonina (XOF, Extendable Output Function), mis vĂ”imaldab paralleelse töötlemise ja positsioneerimise (seek).

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster