БЛЕЙК 3 es криптографска хеш функция че характеризира се с това, че е много по-бърз от MD5, SHA-1, SHA-2, SHA-3 и BLAKE2, плюс това е по-сигурен, за разлика от MD5 и SHA-1. И безопасен срещу удължаване на дължината, за разлика от SHA-2.
Той е силно паралелизиран в произволен брой нишки и SIMD ленти, защото е дърво на Merkle отвътре и има алгоритъм без варианти, който е бърз на x86-64, а също и на по-малки архитектури.
БЛЕЙК 3 разчита на оптимизиран екземпляр на установената хеш функция BLAKE2 и в оригиналния режим на дърво Bao. Спецификациите и обосновката на дизайна са налични на хартия BLAKE3. Изходният размер по подразбиране е 256 бита.
В теста за генериране на хеш за 16 KB файл, BLAKE3 с 256-битов ключ превъзхожда SHA3-256 със 17 пъти, SHA-256 с 14 пъти, SHA-512 9 пъти, SHA-1 6 пъти и BLAKE2b 5 пъти.
Това е значителна разлика, която остава дори при обработка на големи количества данни, например BLAKE3 се оказа 8 пъти по-бърз от SHA-256 при изчисляване на хеш за 1 GB произволни данни.
Подобрението на производителността беше постигнато чрез намаляване на броя на кръговете от 10 на 7 и хеширане на блокове отделно на 1 KB парчета. Според създателите те са намерили убедителни математически доказателства, че можете да се справите със 7 кръга вместо 10, като същевременно поддържате същото ниво на надеждност.
В същото време някои изследователи изразяват съмнения, вярвайки, че дори ако в момента 7 патрона са достатъчни за противодействие на всички известни атаки в хешове, тогава 3 допълнителни кръга могат да бъдат полезни, ако в бъдеще бъдат открити нови атаки.
Относно BLAKE3
Хеш функцията е предназначен за приложения като проверка на целостта на файловете, удостоверяване на съобщението и генериране на данни за криптографски цифрови подписи. BLAKE3 не е предназначен за хеширане на пароли, тъй като има за цел да изчислява хешовете възможно най -бързо (за пароли се препоръчва използването на бавен хеш и escrypt, bcrypt, scrypt или Argon2 функции).
Въпросната хеш функция не е чувствителна към размера на обработваните данни и е защитена срещу лов на сблъсъци и атаки с предварителни изображения.
Алгоритъмът беше такъв разработен от известни криптографи и продължава развитието на алгоритъма BLAKE2 и използва механизма Bao за кодиране на блокчейн дървото. За разлика от BLAKE2 (BLAKE2b, BLAKE2s), BLAKE3 предлага единен алгоритъм за всички платформи което не е обвързано с ширина на бита и размер на хеш.
Тъй като разделяне на блокове, в BLAKE3 потокът е разделен на 1 KB парчета и всеки хеш фрагмент независимо. Голям хеш се формира на базата на хешове на парчета, базирани на двоичното дърво на Merkle.
Това разделяне позволява решаването на проблема с паралелизирането на обработката на данни при изчисляване на хеш; например можете да използвате 4-жични SIMD инструкции за едновременно изчисляване на 4-блокови хешове. Традиционните SHA- * хеш функции обработват данните последователно.
Други от Характеристиките на BLAKE3 са:
- Приложение в режими PRF, MAC, KDF, XOF и като нормален хеш;
- Алгоритъм за всички архитектури, бърз както за x86-64 системи, така и за 32-битови ARM процесори.
По отношение на основните разлики между BLAKE3 и BLAKE2:
- Използване на двоична дървесна структура за постигане на неограничен паралелизъм при изчисляването на хеш.
- Намаляване на броя на кръговете от 10 на 7.
- Три режима на работа: Hash, Keyed Hash (HMAC) и Key Generation (KDF).
- Няма допълнителни разходи при хеширане на ключ поради използването на площта, заемана по -рано от блока с параметри на ключа.
- Вграден механизъм за работа под формата на разширена изходна функция (XOF), която го позволява
- успоредяване и позициониране (търсене).
Накрая ако се интересувате да научите повече за това, можете да проверите подробностите В следващия линк.