Tags Posts tagged with "blake2"

blake2

przez -
4 900
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.

Polecane

OSWorld

7 1293
Drodzy Czytelnicy, prowadzimy portal OSWorld.pl już ponad 10 lat. Z przykrością stwierdzamy, że mamy na niego coraz mniej czasu, dlatego chcielibyśmy przekazać prowadzenie serwisu osobie...