Хэш BLAKE3 онлайн — калькулятор и разбор алгоритма | lavarden.ru
Войти

Хэш BLAKE3 онлайн

2020 год — на порядок быстрее BLAKE2 за счёт дерева хэширования и параллелизма. Считается прямо в браузере — текст никуда не отправляется.

Вычислить BLAKE3

Результат пересчитывается сам, пока вы печатаете. В режиме «По строкам» пустые строки тоже хэшируются — результат всегда совпадает по числу строк со входом. Нужна другая функция — на полной странице калькулятора их 32.

История BLAKE3

BLAKE3 вышел в 2020 году — авторы: Джек О'Коннор, Жан-Филипп Омассон (один из создателей BLAKE и BLAKE2), Самуэль Невес и Зуко Уилкокс-О'Хирн (создательница Zcash). Идея была не в том, чтобы придумать новую криптографию с нуля, а в том, чтобы взять уже проверенную G-функцию BLAKE2s и полностью переосмыслить структуру вокруг неё — так, чтобы задействовать то, чего не было в 2012 году: многоядерные процессоры и SIMD-инструкции.

Результат — алгоритм, который на многоядерном железе с большими файлами оказывается в разы, а на некоторых задачах и на порядок быстрее BLAKE2, при этом не уступая ему в криптографической стойкости.

Как устроен алгоритм

Главное отличие BLAKE3 от всех линейных конструкций (Меркла — Дамгора, HAIFA, губки) — он устроен как дерево. Входные данные режутся на куски по 1024 байта; каждый кусок независимо хэшируется сжатой функцией на основе G-функции BLAKE2s (7 раундов вместо 10 — за счёт древовидной, а не последовательной обработки такое сокращение не ослабляет стойкость). Результаты хэширования кусков становятся листьями бинарного дерева: соседние пары объединяются в родительский узел, пары родителей — в следующий уровень, и так до единственного корня.

Ключевое следствие древовидной структуры: куски, находящиеся в разных ветвях дерева, не зависят друг от друга и могут обрабатываться параллельно — на всех ядрах процессора и с SIMD-инструкциями одновременно, в отличие от строго последовательных MD5/SHA-2/BLAKE2, где каждый блок обязан ждать результата предыдущего. Дополнительно BLAKE3 поддерживает вывод произвольной длины (XOF — extendable-output function): можно «дочитывать» результат сколько угодно, не пересчитывая всё заново.

4 НЕЗАВИСИМЫХ КУСКА ПО 1024 БАЙТА — СЧИТАЮТСЯ ПАРАЛЛЕЛЬНО кусок 1 кусок 2 кусок 3 кусок 4 узел 1+2 узел 3+4 корень = хэш
Куски в разных ветвях не зависят друг от друга — отсюда параллелизм на несколько ядер

Характеристики

ПараметрЗначение
Длина хэша256 бит по умолчанию (64 hex-символа), вывод расширяемый (XOF)
Размер куска1024 байта, далее — бинарное дерево
Раундов на блок сжатия7
Сжимающая функцияG-функция BLAKE2s (ARX)
КонструкцияДерево Меркла + параллелизм
Опубликован2020

Где применяется

Криптостойкость

BLAKE3 не взломан — криптографическое ядро (G-функция) унаследовано напрямую от тщательно проверенного BLAKE2, а само древовидное построение проанализировано авторами как отдельная конструкция при выпуске. Практических атак не существует; это один из самых быстрых криптографически стойких хэшей на сегодняшний день.

Пример

СтрокаHello, world!
BLAKE3ede5c0b10f2ec4979c69b52f61e42ff5b413519ce09be0f14d098dcfe5f6f98d
Пустая строкаaf1349b9f5f9a1a6a0404dea36dcc9499bcb25c9adc112b7cc9a93cae41f3262