Funcția hash criptografică BLAKE3 este disponibilă, fiind de 10 ori mai rapidă decât SHA-2

A fost publicată implementarea finală a algoritmului BLAKE3, oferind o funcție de hash criptografică, destinată unor aplicații precum verificarea integrității fișierelor, autentificarea mesajelor și generarea de date pentru semnături digitale. BLAKE3 nu este destinată pentru hash-uri de parole (pentru parole, ar trebui utilizate yescrypt, bcrypt, scrypt sau Argon2), deoarece este concepută pentru a calcula rapid hash-uri cu garanția absenței coliziunilor, protejând de găsirea preimaginei și fiind insensibilă la dimensiunea datelor hashuite. Implementarea de referință a BLAKE3 publicată este dual licențiată – în domeniul public (CC0) și Apache 2.0.

Diferența cheie a noii funcții de hash este performanța foarte ridicată în calculul hash-ului, menținând fiabilitatea la nivelul SHA-3. În mod implicit, dimensiunea hash-ului rezultat în BLAKE3 este de 32 de octeți (256 de biți), dar poate fi extinsă la valori arbitrare. În testul de generare a hash-ului pentru un fișier de 16 KB, BLAKE3 depășește SHA3-256 de 15 ori, SHA-256 de 12 ori, SHA-512 de 8 ori, SHA-1 de 6 ori, iar BLAKE2b de 4 ori. O diferență semnificativă se păstrează și la procesarea unor volume foarte mari de date, de exemplu, BLAKE3 s-a dovedit mai rapid SHA-256 de 8 ori în calculul hash-ului pentru 1 GB de date aleatorii.

Funcția hash criptografică BLAKE3 este disponibilă, fiind de 10 ori mai rapidă decât SHA-2

Algoritmul a fost dezvoltat de specialiști renumiți în criptografie (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) și continuă dezvoltarea algoritmului BLAKE2 și aplică pentru codificarea arborelui lanțurilor de blocuri mecanismul Bao. Spre deosebire de BLAKE2 (BLAKE2b, BLAKE2s), în BLAKE3 s-a propus un algoritm unitar pentru toate platformele, independent de arhitectura și dimensiunea hash-ului.

Îmbunătățirea performanței a fost realizată prin reducerea numărului de runde de la 10 la 7 și hashingul blocurilor în bucăți de 1 KB. Potrivit creatorilor, au găsit o dovadă convingătoare dovada, se poate obține o performanță similară cu 7 runde în loc de 10, menținând același nivel de fiabilitate (pentru o imagine de ansamblu, se poate aduce exemplul amestecării fructelor într-un blender — după 7 secunde, fructele sunt deja complet amestecate și încă 3 secunde nu vor afecta consistența amestecului). Cu toate acestea, unii cercetători își exprimă îndoiala, considerând că, chiar dacă în prezent 7 runde sunt suficiente pentru a face față tuturor atacurilor cunoscute asupra hash-urilor, cele 3 runde suplimentare ar putea fi utile în cazul descoperirii unor noi atacuri în viitor.

Când vine vorba de împărțirea în blocuri, în BLAKE3 fluxul este împărțit în bucăți de 1 KB, iar fiecare bucată este hash-uită independent. Pe baza hash-urilor bucatelor se formează o mare hash de tip arbore binar Merkle. Această împărțire permite rezolvarea problemei paralelizării procesării datelor în timpul calculării hash-ului — de exemplu, se pot folosi instrucțiuni SIMD cu 4 fire pentru calcularea simultană a hash-urilor pentru 4 blocuri. Funcțiile hash tradiționale SHA-* procesează datele secvențial.

Caracteristicile BLAKE3:

  • Performanță ridicată;
  • Securitate, inclusiv rezistența la atacul de prelungire a mesajelor,la care este vulnerabil SHA-2;
  • Asigurarea paralelizării calculelor pe un număr nelimitat de fir și canale SIMD;
  • Posibilitatea actualizării incrementale și procesarea verificată a fluxurilor;
  • Utilizare în moduri PRF, MAC, KDF, XOF și ca hash obișnuit;
  • Un algoritm unic pentru toate arhitecturile, rapid atât pe sistemele x86-64, cât și pe procesoarele ARM de 32 de biți.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster