Algoritmi lĂ”plik teostus on avaldatud , mis pakub krĂŒptograafilist rĂ€sifunktsiooni, mis on loodud selliste rakenduste jaoks nagu failide terviklikkuse kontrollimine, sĂ”numite autentimine ja digitaalallkirjade jaoks andmete genereerimine. BLAKE3 ei ole mĂ”eldud paroolide rĂ€simiseks (paroolide jaoks peate kasutama yescrypt, bcrypt, scrypt vĂ”i Argon2), kuna selle eesmĂ€rk on arvutada rĂ€sid vĂ”imalikult kiiresti, tagades kokkupĂ”rgete puudumise ja kaitse ja ei ole tundlik rĂ€siandmete suuruse suhtes. BLAKE3 viiterakendus Topeltlitsentsitud avaliku domeeni (CC0) ja Apache 2.0 alla.
Uue rĂ€sifunktsiooni peamine erinevus on rĂ€siarvutuste vĂ€ga kĂ”rge jĂ”udlus, sĂ€ilitades samal ajal usaldusvÀÀrsuse SHA-3 tasemel. Vaikimisi on tulemuseks BLAKE3 rĂ€si suurus 32 baiti (256 bitti), kuid seda saab laiendada suvaliste vÀÀrtusteni. RĂ€si genereerimise testis 16 KB faili jaoks ĂŒletab BLAKE3 SHA3-256 15 korda, SHA-256 12 korda, SHA-512 8 korda, SHA-1 6 korda ja BLAKE2b 4 korda. MĂ€rkimisvÀÀrne auk jÀÀb vĂ€ga suurte andmemahtude töötlemisel, nĂ€iteks osutus selleks BLAKE3 SHA-256 8 korda, kui arvutatakse rĂ€si 1 GB juhuslike andmete jaoks.
Algoritmi töötasid vĂ€lja kuulsad krĂŒptograafiaeksperdid (, , , ) ja jĂ€tkab algoritmi arendamist ja kasutab mehhanismi plokiahela puu kodeerimiseks . Erinevalt BLAKE2-st (BLAKE2b, BLAKE2s) pakub BLAKE3 kĂ”igi platvormide jaoks ĂŒhte algoritmi, mis ei ole seotud bitisĂŒgavuse ja rĂ€si suurusega.
Parem jĂ”udlus saavutati, vĂ€hendades voorude arvu 10-lt 7-le ja rĂ€sides plokke eraldi 1 KB tĂŒkkideks. Loojate sĂ”nul leidsid nad veenva , et saate 7 ringi asemel hakkama 10 ringiga, sĂ€ilitades samal tasemel töökindluse (selguse huvides vĂ”ite tuua nĂ€ite puuviljade mikseris segamisest - 7 sekundi pĂ€rast on puuviljad juba tĂ€ielikult segunenud ja veel 3 sekundit ei mĂ”juta segu konsistentsi). MĂ”ned teadlased aga vĂ€ljendavad kahtlust, arvates, et isegi kui praegu piisab 7 raundist, et pidada vastu kĂ”igile teadaolevatele rĂ€sirĂŒnnakutele, vĂ”ib 3 tĂ€iendavast raundist olla kasu, kui tulevikus tuvastatakse uusi rĂŒnnakuid.
Mis puutub plokkideks jagamisse, siis BLAKE3-s jagatakse voog 1 KB tĂŒkkideks ja iga tĂŒkk rĂ€sitakse iseseisvalt. PĂ”hineb alusel olevate tĂŒkkide rĂ€sidel moodustub ĂŒks suur rĂ€si. See jaotus vĂ”imaldab meil lahendada andmetöötluse paralleelsuse probleemi rĂ€si arvutamisel - nĂ€iteks saate kasutada 4-lĂ”imega SIMD-kĂ€ske, et arvutada samaaegselt 4 ploki rĂ€si. Traditsioonilised SHA-* rĂ€sifunktsioonid töötlevad andmeid jĂ€rjestikku.
BLAKE3 omadused:
- KÔrge jÔudlus;
- Ohutus, sealhulgas vastupidavus , millele SHA-2 on vastuvÔtlik;
- Arvutuste paralleelsuse tagamine suvalise arvu lÔimede ja SIMD-kanalite puhul;
- Voogude jÀrkjÀrgulise vÀrskendamise ja kontrollitud töötlemise vÔimalus;
- Kasutamine PRF, MAC, KDF, XOF reĆŸiimides ja tavalise rĂ€sina;
- Ăks algoritm kĂ”igi arhitektuuride jaoks, kiire nii x86-64 sĂŒsteemides kui ka 32-bitistes ARM-protsessorites.
Allikas: opennet.ru
