Funkcja skrótu kryptograficznego BLAKE3 jest teraz dostępna i jest 10 razy szybsza niż SHA-2

Opublikowano ostateczną implementację algorytmu BLAKE3, który oferuje kryptograficzną funkcję skrótu przeznaczoną do zastosowań takich jak sprawdzanie integralności plików, uwierzytelnianie wiadomości i generowanie danych do podpisów cyfrowych. BLAKE3 nie jest przeznaczony do hashowania haseł (w przypadku haseł należy używać yescrypt, bcrypt, scrypt lub Argon2), ponieważ jest przeznaczony do obliczania skrótów tak szybko, jak to możliwe, z gwarancją braku kolizji, ochrony przed znalezienie prototypu i niewrażliwe na rozmiar haszowanych danych. Implementacją referencyjną jest BLAKE3 opublikowany Podwójna licencja - domena publiczna (CC0) i Apache 2.0.

Kluczową różnicą nowej funkcji skrótu jest jej bardzo wysoka wydajność obliczeń skrótu przy zachowaniu niezawodności na poziomie SHA-3. Domyślnie wynikowy rozmiar skrótu w BLAKE3 wynosi 32 bajty (256 bitów), ale można go rozszerzyć do dowolnych wartości. W teście generowania skrótu dla pliku o rozmiarze 16 KB BLAKE3 przewyższa SHA3-256 15 razy, SHA-256 12 razy, SHA-512 8 razy, SHA-1 6 razy i BLAKE2b 4 razy. Znaczna luka pozostaje przy przetwarzaniu bardzo dużych ilości danych, na przykład BLAKE3 okazał się szybciej SHA-256 jest 8x szybszy przy obliczaniu skrótu dla 1 GB losowych danych.

Funkcja skrótu kryptograficznego BLAKE3 jest teraz dostępna i jest 10 razy szybsza niż SHA-2

Algorytm został opracowany przez uznanych ekspertów w dziedzinie kryptografii (Jacka O'Connora, Jeana-Philippe'a Aumassona, Samuel Neves, Zooko Wilcox-O'Hearn) i nadal rozwija algorytm BLAKE2 i wykorzystuje mechanizm do kodowania drzewa łańcuchów bloków BaoW przeciwieństwie do BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 oferuje jeden algorytm dla wszystkich platform, nie jest on powiązany z głębokością bitową i rozmiarem skrótu.

Wzrost wydajności został osiągnięty poprzez zmniejszenie liczby rund z 10 do 7 i haszowanie bloków w blokach 1 KB oddzielnie. Według twórców, znaleźli przekonujący dowód, że można obejść się 7 rundami zamiast 10, zachowując ten sam poziom niezawodności (dla jasności możemy posłużyć się przykładem miksowania owoców w blenderze - po 7 sekundach owoce są już całkowicie wymieszane, a dodatkowe 3 sekundy nie wpłyną na konsystencję mieszanki). Jednocześnie niektórzy badacze wyrażają wątpliwości, wierząc, że nawet jeśli 7 rund jest obecnie wystarczające, aby wytrzymać wszystkie znane ataki na hasze, to dodatkowe 3 rundy mogą być przydatne, jeśli w przyszłości zostaną wykryte nowe ataki.

Jeśli chodzi o podział na bloki, w BLAKE3 strumień jest dzielony na części o rozmiarze 1 KB, a każda część jest haszowana niezależnie. Na podstawie haszów części na bazie drzewo Merkle'a binarne powstaje jeden duży hash. Ten podział pozwala rozwiązać problem paralelizacji przetwarzania danych podczas obliczania hasha — na przykład można użyć instrukcji 4-strumieniowych SIMD do jednoczesnego obliczania hashów 4 bloków. Tradycyjne funkcje hashujące SHA-* przetwarzają dane sekwencyjnie.

Cechy BLAKE3:

  • Wysoka wydajność;
  • Bezpieczeństwo, w tym odporność na atak rozszerzenia wiadomości, na które podatny jest SHA-2;
  • Zapewnia paralelizację obliczeń w dowolnej liczbie wątków i kanałów SIMD;
  • Możliwość przyrostowej aktualizacji i zweryfikowanego przetwarzania strumieni;
  • Zastosowanie w trybach PRF, MAC, KDF, XOF i jako zwykły hash;
  • Pojedynczy algorytm dla wszystkich architektur, szybki zarówno w systemach x86-64, jak i 32-bitowych procesorach ARM.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster