Налична е криптографска хеш-функция BLAKE3, която е 10 пъти по-бърза от SHA-2

Публикувана финалната реализация на алгоритъма BLAKE3, предлагащ криптографска хеш-функция, проектирана за приложения като проверка на целостта на файлове, удостоверяване на съобщения и генериране на данни за цифрови подписи. BLAKE3 не е предназначен за хеширане на пароли (за пароли трябва да се използват yescrypt, bcrypt, scrypt или Argon2), тъй като е насочен към максимално бързо изчисление на хешове с гаранция за отсъствие на колизии, защита от намирането на прообраза и не чувствителност към размера на хешираните данни. Еталонната реализация на BLAKE3 беше публикувана е с двойна лицензия — обществено достояние (CC0) и Apache 2.0.

Ключовото отличие на новата хеш-функция е много високата производителност на изчисляване на хеш при запазване на надеждността на ниво SHA-3. По подразбиране размерът на получения хеш в BLAKE3 е 32 байта (256 бита), но може да бъде разширен до произволни стойности. В тест за генериране на хеш за файл с размер 16 КБ, BLAKE3 изпреварва SHA3-256 15 пъти, SHA-256 12 пъти, SHA-512 8 пъти, SHA-1 6 пъти, а BLAKE2b 4 пъти. Значителен аванс се запазва и при обработка на много голямо количество данни, например, BLAKE3 се оказа са по-бързи SHA-256 8 пъти при изчисление на хеша за 1ГБ случайни данни.

Налична е криптографска хеш-функция BLAKE3, която е 10 пъти по-бърза от SHA-2

Алгоритъмът е разработен от известни специалисти по криптография (Jack O’Connor, Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn) и продължава развитието на алгоритъма BLAKE2 и използва механизма Bao. В отличие от BLAKE2 (BLAKE2b, BLAKE2s), в BLAKE3 за всички платформи се предлага единен алгоритъм, който не е свързан с разрядността и размера на хеша.

Повишаването на производителността е постигнато благодарение на намаляване на броя на рундовете от 10 на 7 и разделно хеширане на блоковете на парчета по 1 Кб. Според създателите, те намерили убедително доказателство, че можем да се справим с 7 кръга вместо 10, запазвайки същото ниво на надеждност (за визуализация можем да дадем пример с разбиването на плодове в миксер — след 7 секунди плодовете вече са напълно разбити и допълнителните 3 секунди няма да повлияят на консистенцията на сместа). Въпреки това, някои изследователи изразяват съмнения, като смятат, че дори ако в момента 7 кръга са достатъчни за противодействие на всички известни атаки срещу хешове, допълнителните 3 кръга могат да се окажат полезни в случай на откритие на нови атаки в бъдеще.

Що се отнася до разделението на блокове, в BLAKE3 потокът се разделя на парчета по 1 Кб и всяко парче се хешира независимо. На базата на хешовете на парчетата, на основата на двумерно дърво на Меркъл се формира един голям хеш. Посоченото разделение позволява да се реши проблемът с паралелната обработка на данни при вычисляване на хеша — например, можем да използваме 4-поточни SIMD инструкции за едновременно изчисление на хешовете на 4 блока. Традиционните хеш функции SHA-* обработват данните последователно.

Особености на BLAKE3:

  • Висока производителност;
  • Сигурност, включително устойчивост на атака за удължаване на съобщението, на която е подложен SHA-2;
  • Осигуряване на паралелизиране на изчисленията на произволен брой потоци и SIMD канали;
  • Възможност за инкрементално обновление и верифицирана обработка на потоци;
  • Приложение в режимите PRF, MAC, KDF, XOF и като обикновен хеш;
  • Единен алгоритъм за всички архитектури, бърз както в системи x86-64, така и на 32-битови ARM процесори.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster