Алгоритмнің соңғы орындалуы жарияланды , ол файл тұтастығын тексеру, хабардың аутентификациясы және цифрлық қолтаңбалар үшін деректерді жасау сияқты қолданбаларға арналған криптографиялық хэш функциясын ұсынады. 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 болып шықты 1 ГБ кездейсоқ деректер хэшін есептеу кезінде SHA-256 8 есе жылдамырақ.
Алгоритмді атақты криптография мамандары жасаған (, , , ) және алгоритмді дамытуды жалғастыруда және блоктық тізбектер ағашын кодтау механизмін пайдаланады BLAKE2 (BLAKE2b, BLAKE2s) айырмашылығы, BLAKE3 хэштің бит тереңдігі мен өлшеміне қатысы жоқ барлық платформалар үшін бір алгоритмді ұсынады.
Өнімділікті жақсартуға раундтардың санын 10-нан 7-ге дейін азайту және 1 КБ бөліктерінде бөлек хэштеу блоктары арқылы қол жеткізілді. Жасаушылардың айтуынша, олар тартымды тапты , бірдей сенімділік деңгейін сақтай отырып, 10-ның орнына 7 айналымды қолдануға болатынын (анық болу үшін блендердегі жемістерді араластыру мысалын қарастырыңыз: 7 секундтан кейін жеміс толығымен араласады және қосымша 3 секунд қоспаның консистенциясына әсер етпейді). Дегенмен, кейбір зерттеушілер барлық белгілі хэш-шабуылдарға қарсы тұру үшін қазіргі уақытта 7 раунд жеткілікті болса да, болашақта жаңа шабуылдар табылған жағдайда қосымша 3 раунд пайдалы болуы мүмкін деп санайды.
Блокты бөлуге қатысты, BLAKE3-те ағын 1 КБ бөліктерге бөлінеді және әрбір бөлік тәуелсіз хэштелген. Бөлшек хэштерге негізделген, Бір үлкен хэш қалыптасады. Бұл бөлу хэшті есептеу кезінде деректерді өңдеуді параллельдеу мәселесін шешуге мүмкіндік береді — мысалы, біз 4 блоктың хэштерін бір уақытта есептеу үшін 4 ағынды SIMD нұсқауларын пайдалана аламыз. Дәстүрлі SHA-* хэш функциялары деректерді дәйекті түрде өңдейді.
BLAKE3 мүмкіндіктері:
- Жоғары өнімділік;
- Қауіпсіздік, соның ішінде қарсылық , бұл SHA-2 сезімтал;
- Кез келген ағындар саны мен SIMD арналары бойынша есептеулерді параллелизациялауды қамтамасыз ету;
- Ағындарды біртіндеп жаңарту және тексерілген өңдеу мүмкіндігі;
- PRF, MAC, KDF, XOF режимдерінде және кәдімгі хэш ретінде пайдалануға болады;
- Барлық архитектуралар үшін x86-64 жүйелерінде де, 32-биттік ARM процессорларында да жылдам жұмыс істейтін жалғыз алгоритм.
Ақпарат көзі: opennet.ru
