Saatavilla BLAKE3 kryptografinen hajautustoiminto, joka on 10 kertaa nopeampi kuin SHA-2

Algoritmin lopullinen toteutus on julkaistu BLAKE3, joka tarjoaa kryptografisen hajautustoiminnon, joka on suunniteltu sovelluksiin, kuten tiedostojen eheyden tarkistamiseen, viestien autentikointiin ja tietojen luomiseen digitaalisia allekirjoituksia varten. BLAKE3 ei ole tarkoitettu salasanojen hajauttamiseen (salasanoihin tulee käyttää yescrypt, bcrypt, scrypt tai Argon2), koska sen tarkoituksena on laskea tiivisteet mahdollisimman nopeasti ja taata, ettei törmäyksiä, suojausta vastaan prototyypin löytäminen eikä herkkä tiivistetyn datan koosta. BLAKE3:n viitetoteutus julkaistu Kaksoislisenssillä Public Domain (CC0) ja Apache 2.0.

Uuden hash-toiminnon tärkein ero on tiivistelaskennan erittäin korkea suorituskyky säilyttäen samalla luotettavuuden SHA-3-tasolla. Oletusarvoisesti tuloksena oleva hajautuskoko BLAKE3:ssa on 32 tavua (256 bittiä), mutta se voidaan laajentaa mielivaltaisiin arvoihin. Hajautustestissä 16 kt:n tiedostolle BLAKE3 ylittää SHA3-256:n 15-kertaisesti, SHA-256:n 12-kertaisesti, SHA-512:n 8-kertaisesti, SHA-1:n 6-kertaisesti ja BLAKE2b:n 4-kertaisesti. Merkittävä aukko jää hyvin suuria tietomääriä käsiteltäessä, esimerkiksi BLAKE3 osoittautui olevan sellainen nopeampi SHA-256 8 kertaa laskettaessa hajautusarvoa 1 Gt satunnaiselle tiedolle.

Saatavilla BLAKE3 kryptografinen hajautustoiminto, joka on 10 kertaa nopeampi kuin SHA-2

Algoritmin ovat kehittäneet kuuluisat kryptografian asiantuntijat (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) ja jatkaa algoritmin kehittämistä BLAKE2 ja käyttää mekanismia lohkoketjupuun koodaamiseen bao. Toisin kuin BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 tarjoaa yhden algoritmin kaikille alustoille, joka ei ole sidottu bittisyvyyteen ja hash-kokoon.

Parempi suorituskyky saavutettiin vähentämällä kierrosten määrää 10:stä seitsemään ja hajauttamalla lohkot erikseen 7 kt:n kappaleiksi. Tekijöiden mukaan he löysivät vakuuttavan näyttö, että pärjäät 7 kierroksella 10 kierroksen sijaan säilyttäen samalla luotettavuustason (selvyyden vuoksi voit antaa esimerkin hedelmien sekoittamisesta sekoittimessa - 7 sekunnin kuluttua hedelmät ovat jo täysin sekoittuneet ja vielä 3 sekuntia eivät vaikuta seoksen koostumukseen). Jotkut tutkijat kuitenkin ilmaisevat epäilyjä uskoen, että vaikka tällä hetkellä 7 lyöntiä riittää kestämään kaikki tunnetut hash-hyökkäykset, 3 lisälaukausta voi olla hyödyllistä, jos uusia hyökkäyksiä havaitaan tulevaisuudessa.

Mitä tulee lohkoihin jakamiseen, BLAKE3:ssa stream on jaettu 1 kt:n osiin ja jokainen pala on hajautettu erikseen. Perustuu pohjassa olevien kappaleiden tiivisteisiin binäärinen merklepuu muodostuu yksi iso hash. Tämän jaon avulla voimme ratkaista tietojenkäsittelyn rinnakkaisongelman tiivistettä laskettaessa - voit esimerkiksi käyttää 4-säikeisiä SIMD-käskyjä laskeaksesi samanaikaisesti 4 lohkon tiivisteet. Perinteiset SHA-* hash-funktiot käsittelevät tietoja peräkkäin.

BLAKE3:n ominaisuudet:

  • Korkea suorituskyky;
  • Turvallisuus, mukaan lukien kestävyys viestin venymishyökkäys, jolle SHA-2 on herkkä;
  • Laskelmien rinnakkaisuuden varmistaminen kaikilla säikeillä ja SIMD-kanavilla;
  • Virtojen asteittaisen päivityksen ja varmennettujen käsittelyjen mahdollisuus;
  • Käytä PRF-, MAC-, KDF-, XOF-tiloissa ja tavallisena hashina;
  • Yksi algoritmi kaikille arkkitehtuureille, nopea sekä x86-64-järjestelmissä että 32-bittisissä ARM-prosessoreissa.

Lähde: opennet.ru

Lisää kommentti