BLAKE3 kryptografisk hash-funktion tilgængelig, som er 10 gange hurtigere end SHA-2

Den endelige implementering af algoritmen er blevet offentliggjort BLAKE3, som tilbyder en kryptografisk hash-funktion designet til applikationer som kontrol af filintegritet, meddelelsesgodkendelse og generering af data til digitale signaturer. BLAKE3 er ikke beregnet til hashing af adgangskoder (til adgangskoder skal du bruge yescrypt, bcrypt, scrypt eller Argon2), da det har til formål at beregne hashes så hurtigt som muligt med garanti for ingen kollisioner, beskyttelse mod at finde prototypen og ikke følsom over for størrelsen af ​​de hash-data. Referenceimplementering af BLAKE3 offentliggjort Dobbelt licens under Public Domain (CC0) og Apache 2.0.

Den vigtigste forskel ved den nye hash-funktion er den meget høje ydeevne af hash-beregninger, samtidig med at pålideligheden opretholdes på SHA-3-niveau. Som standard er den resulterende hashstørrelse i BLAKE3 32 bytes (256 bit), men den kan udvides til vilkårlige værdier. I en hash-genereringstest for en 16 KB fil udkonkurrerer BLAKE3 SHA3-256 15 gange, SHA-256 12 gange, SHA-512 8 gange, SHA-1 6 gange og BLAKE2b 4 gange. Der er et betydeligt hul tilbage, når man behandler meget store mængder data, f.eks. viste BLAKE3 sig at være hurtigere SHA-256 8 gange ved beregning af hash for 1 GB tilfældige data.

BLAKE3 kryptografisk hash-funktion tilgængelig, som er 10 gange hurtigere end SHA-2

Algoritmen blev udviklet af berømte kryptografieksperter (Jack O'Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn) og fortsætter med at udvikle algoritmen BLAKE2 og bruger en mekanisme til at kode blokkædetræet Bao. I modsætning til BLAKE2 (BLAKE2b, BLAKE2s) tilbyder BLAKE3 en enkelt algoritme til alle platforme, ikke bundet til bitdybden og hashstørrelsen.

Øget ydeevne blev opnået ved at reducere antallet af runder fra 10 til 7 og separat hash-blokke i 1 KB-stykker. Ifølge skaberne fandt de en overbevisende beviser, at du kan klare dig med 7 runder i stedet for 10, mens du bibeholder det samme niveau af pålidelighed (for overskuelighedens skyld kan du give et eksempel med at blande frugter i en mixer - efter 7 sekunder er frugterne allerede fuldstændig blandet og yderligere 3 sekunder vil påvirker ikke blandingens konsistens). Nogle forskere udtrykker dog tvivl, idet de mener, at selvom 7 runder i øjeblikket er nok til at modstå alle kendte angreb på hashes, så kan yderligere 3 runder være nyttige, hvis nye angreb identificeres i fremtiden.

Med hensyn til opdeling i blokke, i BLAKE3 er strømmen opdelt i 1 KB-stykker, og hver brik hashes uafhængigt. Baseret på hash af brikkerne på basen binært merkle træ der dannes én stor hash. Denne opdeling giver os mulighed for at løse problemet med parallelisering af databehandling ved beregning af en hash - for eksempel kan du bruge 4-trådede SIMD-instruktioner til samtidig at beregne hasherne af 4 blokke. Traditionelle SHA-* hash-funktioner behandler data sekventielt.

Funktioner af BLAKE3:

  • Høj ydeevne;
  • Sikkerhed, herunder modstand mod besked forlængelsesangreb, som SHA-2 er modtagelig for;
  • Sikring af parallelisering af beregninger på et vilkårligt antal tråde og SIMD-kanaler;
  • Mulighed for trinvis opdatering og verificeret behandling af strømme;
  • Brug i PRF, MAC, KDF, XOF-tilstande og som en almindelig hash;
  • En enkelt algoritme til alle arkitekturer, hurtig på både x86-64-systemer og 32-bit ARM-processorer.

Kilde: opennet.ru

Tilføj en kommentar