BLAKE3 1.0 krüptograafiline räsiviite rakendus on välja antud

Välja lasti krüptograafilise räsifunktsiooni BLAKE3 1.0 etalonrakendus, mis on märkimisväärne selle väga kõrge räsiarvutuse jõudluse poolest, tagades samal ajal töökindluse SHA-3 tasemel. 16 KB faili räsi genereerimise testis ületab 3-bitise võtmega BLAKE256 SHA3-256 17 korda, SHA-256 14 korda, SHA-512 9 korda, SHA-1 6 korda ja BLAKE2b - 5 korda. Märkimisväärne lünk jääb alles väga suurte andmemahtude töötlemisel, näiteks 3GB juhuslike andmete räsi arvutamisel osutus BLAKE256 8 korda kiiremaks kui SHA-1. BLAKE3 viiterakenduskood on saadaval versioonides C ja Rust kahe avaliku domeeni (CC0) ja Apache 2.0 litsentsi alusel.

BLAKE3 1.0 krüptograafiline räsiviite rakendus on välja antud

Räsifunktsioon on mõeldud selliste rakenduste jaoks nagu failide terviklikkuse kontrollimine, sõnumite autentimine ja andmete genereerimine krüptograafiliste digitaalallkirjade jaoks. BLAKE3 ei ole mõeldud paroolide räsimiseks, kuna selle eesmärk on arvutada räsid võimalikult kiiresti (paroolide puhul on soovitatav kasutada aeglaseid räsifunktsioone yescrypt, bcrypt, scrypt või Argon2). Vaadeldav räsifunktsioon ei ole räsiandmete suuruse suhtes tundlik ning on kaitstud kokkupõrkevaliku ja eelkujutise leidmise rünnakute eest.

Algoritmi töötasid välja tuntud krüptograafiaeksperdid (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) ning see jätkab BLAKE2 algoritmi arendamist ning kasutab plokiahela puu kodeerimiseks Bao mehhanismi. . 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 plokid eraldi 1 KB tükkideks. Tegijate sõnul on nad leidnud veenva matemaatilise tõestuse, et 7 ringi asemel on võimalik läbi saada 10 ringiga, säilitades samal tasemel usaldusväärsuse (selguse huvides võib tuua näite puuviljade mikseris segamisest - 7 sekundi pärast puuviljad on juba täielikult segunenud ja veel 3 sekundit ei mõjuta segu konsistentsi). Mõned teadlased väljendavad siiski kahtlust, uskudes, et isegi kui praegu piisab 7 raundist kõigi teadaolevate räsirünnakute vastu võitlemiseks, võib 3 täiendavat raundi olla kasulik, 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. Tükkide räsi põhjal moodustatakse binaarse Merkle puu põhjal üks suur räsi. See jaotus võimaldab meil lahendada räside arvutamisel andmetöötluse paralleelseerimise probleemi – 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:

  • Suure jõudlusega BLAKE3 on oluliselt kiirem kui MD5, SHA-1, SHA-2, SHA-3 ja BLAKE2.
  • Turvalisus, sealhulgas vastupidavus sõnumi venimise rünnakutele, mille suhtes SHA-2 on vastuvõtlik;
  • Saadaval Rust, optimeeritud SSE2, SSE4.1, AVX2, AVX-512 ja NEON juhiste jaoks.
  • Arvutuste paralleelsuse tagamine suvalise arvu keermete 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.

Peamised erinevused BLAKE3 ja BLAKE2 vahel:

  • Binaarse puustruktuuri kasutamine, mis võimaldab räsiarvutustes piiramatut paralleelsust.
  • Ringide arvu vähendamine 10-lt 7-le.
  • Kolm töörežiimi: räsimine, võtmega räsimine (HMAC) ja võtme genereerimine (KDF).
  • Võtmega räsimisel pole lisakulusid, kuna kasutatakse võtmeparameetrite ploki varem hõivatud ala.
  • Sisseehitatud töömehhanism laiendatud tulemusega funktsiooni kujul (XOF, Extendable Output Function), mis võimaldab paralleelsust ja positsioneerimist (otsimine).

Allikas: opennet.ru

Lisa kommentaar