BLAKE2 – następca MD5 i SHA-2/3

4
2501
BLAKE2-wydajność
BLAKE2-wydajność

Generowanie sum kontrolnych jest standardem w wielu algorytmach kryptograficznych. W miarę zwiększania mocy obliczeniowej komputerów, dotychczas stosowane algorytmy MD5 oraz SHA-1 przestały być wystarczające pod względem bezpieczeństwa. Rozwiązaniem jest nowy algorytm o nazwie BLAKE2, stworzony przez grupę inżynierów kryptografii.

BLAKE2 jest ulepszoną wersją finałowego algorytmu BLAKE dla SHA-3. Do zalet należy zaliczyć: większe bezpieczeństwo, szybkość porównywalna z MD5 na 64 bitowych platformach i do 33% mniejsze zużycie pamięci RAM, aniżeli SHA-2 i SHA-3 na słabszym sprzęcie. Docelowe oprogramowanie jakie ma korzystać z BLAKE2 to: chmury danych, narzędzia kontroli wersji, dystrybucja oprogramowania, wykrywanie włamań bazujących na hoście oraz przestępczość cyfrowa.

BLAKE2 posiada dwie wersje:

  • BLAKE2b – jest zoptymalizowany pod 64 bitowe platformy, w tym architekturę ARM z instrukcjami NEON. Potrafi generować skróty od 1 do 64 bajtów
  • BLAKE2s – jest zoptymalizowany pod platformy 8 – 32 bitowe i potrafi generować skróty od 1 do 32 bajtów

Warto także wspomnieć o trybach obliczeń równoległych dla każdej wersji:

  • BLAKE2bp – do 4 równoległych instancji obliczeniwoych
  • BLAKE2sp – do 8 równoległych instancji obliczeniwoych

BLAKE2-wydajność

Wykres przedstawia ilość cykli na bajt informacji na procesorze Sandy Bridge. Prócz tego widzimy również, ile mebibajtów danych jest wykonywanych na sekundę.

BLAKE2 jest oprogramowaniem implementującym podstawowy tryb jednowątkowy, razem z optymalizacjami dla 32 bitowej architektury, wielordzeniowych procesorów i instrukcji SIMD, aplikacji Merkle-Tree oraz sprawdzania integralności wiadomości. Jest niezwykle szybki podczas hashowania pojedynczego dużego pliku, jak i wielu małych. Dla przykładu, BLAKE2s hashuje 64 bitowe pliki szybciej, aniżeli SHA-1, MD5, a nawet MD4.

Szczególnie ciekawy jest wariant wielordzeniowości i SIMD, czyli tryb obliczeń równoległych, znany jako BLAKE2*p. Ma to zwiększyć wielokrotnie szybkość przetwarzania na procesorach wielordzeniowych typu x86 i ARM. Tryb ten jest jeszcze w fazie projektowania, ale jak zostanie skończony, to autorzy napiszą narzędzie konsolowe b2sum, które zastąpi ewentualnie md5sum.

Oto przykładowe hashe na naszej maszynie:

[root@muszelka b2sum]./b2sum -a blake2b /etc/passwd
243f22745db67809dd14631b7a8e365d0923731fd130960ae17a61d120925c1fca2b57d2bd5a1af3d9d3fb2f61f7985c6e9550c65855f3c58d75748f155c26c5 /etc/passwd

[root@muszelka b2sum]# ./b2sum -a blake2s /etc/passwd
0245986216266cbae9e80f33fee13ac234c3a7d8c9bb467dabd329a1dc1052c6 /etc/passwd

[root@muszelka b2sum]# ./b2sum -a blake2bp /etc/passwd
ea3fa6a092f128ef1ed6f60754d90a5b1d6b6784f6b773c42b17e586f8f71b3b42d70731ef6e370131d1182e09ae18450196535d752c03a7c8192c7143717017 /etc/passwd

[root@muszelka b2sum]# ./b2sum -a blake2sp /etc/passwd
69ced0115cfd43c3cf3997c4611f632a6ef1bed03e0d1228852f56e9e9c32ac5 /etc/passwd

[root@muszelka src]# md5sum /etc/passwd
75a87dc6ed86e67c25fc5d80a3253906  /etc/passwd

[root@muszelka src]# sha1sum /etc/passwd
5f124ecb25dfa54623436dce1724f660eb48848e  /etc/passwd

Polecamy przejrzenie pełnej dokumentacji BLAKE2, gdzie wyjaśniono na wielu przykładach jego działanie.

ŹRÓDŁOlists.randombit.net
Poprzedni artykułLibreDWG – FSF pogrążyło kolejny projekt?
Następny artykułRedNotebook 1.6.5
Michał Olber
Interesuję się głównie sprzętem i działaniem jego pod systemami GNU/Linux. Testuję różne dystrybucje i robię recenzje. Interesuję się działaniem sprzętu pod Linuksem, dzięki czemu wiem, jaki zestaw komputerowy wybierać :)

4 KOMENTARZE

  1. Jaki następca? Pudelek.pl?

    BLAKE (wersja 1) PRZEGRAŁ konkurs na algorytm SHA3 w rezultacie czego został nim algorytm Keccak.
    To, że wypuszczono później poprawioną wersję BLAKE2 nie zmienia tego faktu. Odrzucono jeszcze kilka innych algorytmów.
    Standardem został Keccak, czyli obecnie po prostu SHA3 i tyle. BLAKE poszedł na śmietnik.

    Co gorsza BLAKE w wersji 2 NIE PODLEGAŁ AUDYTOWI, więc istnieje potencjalna możliwość, że poprawki wprowadziły jakieś luki pozwalające łamać albo fałszować hashe.

    O MD5 nie wiem po co autor wspomina. Ten algorytm nie jest już używany od czasów SHA2, no chyba że do sum kontrolnych plików jako zaszłość historyczna i z reguły jedynie uzupełnienie sum SHA.

    • Dużo minusów, zero argumentów. Żałosne.

      Ja natomiast przedstawię kolejny – cytat z samego źródła:

      "SHA-3 (Keccak) is a fine alternative to SHA-2, has a substantially
      different design from the SHA-2 family, and has excellent performance
      in hardware.
      However, many use cases need an alternative to MD5 – something with
      better security properties than MD5 but with high performance in
      software. To that end, we've defined BLAKE2, an optimized version of
      SHA-3 finalist BLAKE that is faster than MD5 on Intel 64-bit CPUs." http://lists.randombit.net/pipermail/cryptography

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj