Dostępna jest funkcja skrótu kryptograficznego BLAKE3, która jest 10 razy szybsza od SHA-2

Opublikowano ostateczną wersję algorytmu BLAKE3, który oferuje kryptograficzną funkcję skrótu, zaprojektowaną do takich zastosowań jak weryfikacja integralności plików, autoryzacja wiadomości i generowanie danych do podpisów cyfrowych. BLAKE3 nie jest przeznaczony do haszowania haseł (do haseł należy używać yescrypt, bcrypt, scrypt lub Argon2), ponieważ ma na celu maksymalnie szybkie obliczanie skrótów z gwarancją braku kolizji, z ochroną przed znalezieniem preobrazu i nietrudnością wrażliwości na wielkość haszowanych danych. Referencyjna implementacja BLAKE3 opublikowane jest dostępna na podwójnej licencji — public domain (CC0) oraz Apache 2.0.

Kluczową różnicą nowej funkcji skrótu jest bardzo wysoka wydajność obliczania skrótu przy zachowaniu niezawodności na poziomie SHA-3. Domyślnie rozmiar wynikowego skrótu w BLAKE3 wynosi 32 bajty (256 bitów), ale może być rozszerzany 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, a BLAKE2b 4 razy. Znacząca przewaga utrzymuje się również przy przetwarzaniu bardzo dużych objętości danych, na przykład BLAKE3 okazał się są szybsze 8 razy szybszy niż SHA-256 przy obliczaniu skrótu dla 1 GB losowych danych.

Dostępna jest funkcja skrótu kryptograficznego BLAKE3, która jest 10 razy szybsza od SHA-2

Algorytm został opracowany przez znanych specjalistów w dziedzinie kryptografii (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) i kontynuuje rozwój algorytmu BLAKE2 i stosuje do kodowania mechanizm drzew bloków Bao. W przeciwieństwie do BLAKE2 (BLAKE2b, BLAKE2s), w BLAKE3 dla wszystkich platform zaproponowano jednolity algorytm, niezwiązany z bitowością i rozmiarem skrótu.

Wzrost wydajności udało się osiągnąć dzięki skróceniu liczby rund z 10 do 7 oraz oddzielnemu haszowaniu bloków kawałkami po 1 KB. Zgodnie z zapewnieniami twórców, znaleźli przekonujące dowody, że można użyć 7 rund zamiast 10, zachowując ten sam poziom niezawodności (dla zobrazowania można podać przykład z miksowaniem owoców w blenderze — po 7 sekundach owoce są już całkowicie wymieszane, a dodatkowe 3 sekundy nie wpłyną na konsystencję mieszanki). Przy tym niektórzy badacze wyrażają wątpliwości, uważając, że nawet jeśli obecnie 7 rund jest wystarczające do stawiania czoła wszystkim znanym atakom na hasze, to dodatkowe 3 rundy mogą okazać się przydatne w przypadku wykrycia nowych ataków w przyszłości.

Jeśli chodzi o podział na bloki, to w BLAKE3 strumień dzieli się na kawałki o wielkości 1 KB, a każdy kawałek jest haszowany niezależnie. Na podstawie haszy kawałków na bazie drzewa binarnego Merkle'a tworzony jest jeden duży hash. Podany podział pozwala rozwiązać problem z równoległym przetwarzaniem danych podczas obliczania hasza — na przykład można używać 4-wątkowych instrukcji SIMD do jednoczesnego obliczania haszy 4 bloków. Tradycyjne funkcje haszujące SHA-* przetwarzają dane sekwencyjnie.

Cechy BLAKE3:

  • Wysoka wydajność;
  • Bezpieczeństwo, w tym odporność na atak wydłużenia wiadomości,na którą narażony jest SHA-2;
  • Zapewnienie równoległego przetwarzania obliczeń na dowolnej liczbie wątków i kanałów SIMD;
  • Możliwość inkrementalnej aktualizacji i weryfikowanej obróbki strumieni;
  • Zastosowanie w trybach PRF, MAC, KDF, XOF oraz jako zwykły hash;
  • Jednolity algorytm dla wszystkich architektur, szybki zarówno w systemach x86-64, jak i na 32-bitowych procesorach ARM.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster