Pieejama BLAKE3 kriptogrāfiskā jaucējfunkcija, kas ir 10 reizes ātrāka nekā SHA-2

Ir publicēta algoritma galīgā realizācija BLAKE3, kas piedāvā kriptogrāfijas jaucējfunkciju, kas paredzēta tādām lietojumprogrammām kā failu integritātes pārbaude, ziņojumu autentifikācija un datu ģenerēšana digitālajiem parakstiem. BLAKE3 nav paredzēts paroļu jaukšanai (parolēm jāizmanto yescrypt, bcrypt, scrypt vai Argon2), jo tas ir paredzēts, lai pēc iespējas ātrāk aprēķinātu jaucējus, garantējot nesadursmju neesamību, aizsardzību pret prototipa atrašana un nav jutīgs pret jaukto datu lielumu. BLAKE3 atsauces ieviešana publicēts Divkāršā licence saskaņā ar Public Domain (CC0) un Apache 2.0.

Galvenā jaunās jaucējfunkcijas atšķirība ir ļoti augstā jaukšanas aprēķinu veiktspēja, vienlaikus saglabājot uzticamību SHA-3 līmenī. Pēc noklusējuma iegūtais jaukšanas lielums BLAKE3 ir 32 baiti (256 biti), taču to var paplašināt līdz patvaļīgām vērtībām. Jaukšanas ģenerēšanas testā 16 KB failam BLAKE3 pārspēj SHA3-256 par 15 reizēm, SHA-256 — 12 reizes, SHA-512 — 8 reizes, SHA-1 — 6 reizes un BLAKE2b — 4 reizes. Ievērojama plaisa paliek, apstrādājot ļoti lielu datu apjomu, piemēram, BLAKE3 izrādījās ātrāk SHA-256 8 reizes, aprēķinot jaucējfunkciju 1 GB nejaušiem datiem.

Pieejama BLAKE3 kriptogrāfiskā jaucējfunkcija, kas ir 10 reizes ātrāka nekā SHA-2

Algoritmu izstrādāja slaveni kriptogrāfijas eksperti (Džeks O'Konors, Žans Filips Aumasons, Samuels Nevess, Zooko Wilcox-O'Hearn) un turpina izstrādāt algoritmu BLAKE2 un izmanto mehānismu, lai kodētu bloku ķēdes koku Bao. Atšķirībā no BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 piedāvā vienu algoritmu visām platformām, kas nav saistīts ar bitu dziļumu un jaucējvērtību.

Paaugstināta veiktspēja tika panākta, samazinot kārtu skaitu no 10 uz 7 un atsevišķi sajaucot blokus 1 KB gabalos. Pēc veidotāju domām, viņi atrada pārliecinošu pierādījumi, ka jūs varat iztikt ar 7 kārtām, nevis 10, vienlaikus saglabājot tādu pašu uzticamības līmeni (skaidrības labad varat sniegt piemēru ar augļu sajaukšanu mikserī - pēc 7 sekundēm augļi jau ir pilnībā sajaukti un vēl 3 sekundes neietekmē maisījuma konsistenci). Tomēr daži pētnieki pauž šaubas, uzskatot, ka pat tad, ja šobrīd pietiek ar 7 kārtām, lai izturētu visus zināmos uzbrukumus hashiem, tad papildus 3 raundi var noderēt, ja nākotnē tiks konstatēti jauni uzbrukumi.

Kas attiecas uz sadalīšanu blokos, BLAKE3 straume tiek sadalīta 1 KB gabalos un katrs fragments tiek sajaukts atsevišķi. Pamatojoties uz pamatnes daļu jaukumiem binārais merkle koks veidojas viens liels hash. Šis iedalījums ļauj mums atrisināt datu apstrādes paralēlizēšanas problēmu, aprēķinot hash - piemēram, varat izmantot 4-vītņu SIMD instrukcijas, lai vienlaikus aprēķinātu 4 bloku jaucējvērtības. Tradicionālās SHA-* jaucējfunkcijas apstrādā datus secīgi.

BLAKE3 iezīmes:

  • Augsta veiktspēja;
  • Drošība, tostarp izturība pret ziņas pagarinājuma uzbrukums, pret kuru SHA-2 ir uzņēmīgs;
  • Nodrošina aprēķinu paralelizāciju jebkuram skaitam pavedienu un SIMD kanālu;
  • Iespēja pakāpeniski atjaunināt un pārbaudīt straumju apstrādi;
  • Izmantot PRF, MAC, KDF, XOF režīmos un kā parastu hash;
  • Viens algoritms visām arhitektūrām, ātrs gan x86-64 sistēmās, gan 32 bitu ARM procesoros.

Avots: opennet.ru

Pievieno komentāru