Хэш-функция BLAKE3: уникальные особенности и возможности

BLAKE3 – это криптографическая хэш-функция, которая произвела революцию в мире цифровой безопасности. Эта функция, созданная командой экспертов в области криптографии, обеспечивает беспрецедентную производительность, сочетающую в себе скорость и безопасность.

В этой статье мы подробно рассмотрим, что такое BLAKE3, как он работает и почему он так важен в современном мире криптотехнологий.

Происхождение и развитие BLAKE3

BLAKE3 – результат совместных усилий Джека О’Коннора, Жана-Филиппа Омассона, Сэмюэля Невеса и Зуко Уилкокс-О’Хирна. Официально об этом было объявлено 9 января 2020 года на конференции Real World Crypto: мероприятии, которое объединяет экспертов по криптовалюте для обсуждения последних инноваций в этой области.

Функция BLAKE3 является развитием BLAKE2, которая, в свою очередь, является улучшенной версией BLAKE, оригинального алгоритма, положившего начало этому семейству хэшей.

Однако, в отличие от своих предшественников, которые представляют собой алгоритмы с несколькими вариантами, BLAKE3 представляет собой единый алгоритм с рядом расширенных функций.

Эти функции включают в себя параллелизм, возможность работать в качестве расширяемой функции вывода (XOF), функции получения ключа (KDF, необходимой для улучшения основы безопасности алгоритма), псевдослучайной функции (PRF) и кода аутентификации (MAC, который позволяет обеспечить подлинность сообщений).

Основные характеристики BLAKE3

Но, помимо всех этих достижений, BLAKE3 предлагает некоторые интересные преимущества, такие как:

Параллелизм и производительность BLAKE3

Одной из особенностей BLAKE3 является его способность использовать преимущества параллелизма.

Функция использует двоичную древовидную структуру, обеспечивающую практически неограниченную степень параллелизма как на уровне SIMD (одна инструкция, несколько данных), так и на уровне многопоточности.

Читайте также:  Как исправить ошибку обновления 0x80070643 Windows 10 — 3 способа

Это означает, что BLAKE3 может обрабатывать большие объемы данных одновременно, что обеспечивает значительно более высокую производительность, чем другие алгоритмы хеширования.

Фактически, официальные реализации BLAKE3 на таких языках, как Rust и C/C++, лицензируются как общедоступные (CC0) и под лицензией Apache. Это облегчает внедрение BLAKE3 в широкий спектр приложений: от программного обеспечения с открытым исходным кодом до корпоративных решений.

Скорость и эффективность BLAKE3

BLAKE3 создан для максимально быстрой работы. При тестировании на процессоре Intel Cascade Lake-SP BLAKE3 оказался, примерно, в пять раз быстрее, чем BLAKE2, и в пятнадцать раз быстрее, чем SHA3-256. Эти результаты впечатляют и отражают инновационный подход разработчиков BLAKE3 к оптимизации производительности.

Функция сжатия BLAKE3 основана на функции сжатия BLAKE2, но с уменьшением количества раундов с 10 до 7. Это сокращение основано на предположении, что современная криптография слишком консервативна и что можно добиться значительной экономии производительности без ущерба для безопасности.

Фактически, команда разработчиков обнародовала результаты теста скорости Amazon Web Services (AWS), где превосходство BLAKE3 становится очевидным:

Хэш-функция BLAKE3: уникальные особенности и возможности

Безопасность и надежность BLAKE3

Несмотря на свою ориентацию на скорость, BLAKE3 не жертвует безопасностью.

Разработчики утверждают, что BLAKE3 обеспечивает 128-битную защиту для всех целей безопасности, включая атаки на прообраз, коллизию и дифференцируемость. Это означает, что BLAKE3 так же безопасен, как SHA3-256 и другие алгоритмы хеширования, которые также имеют 128-битный уровень безопасности.

Однако, использование всего семи раундов вместо десяти, как у BLAKE2, вызвало некоторую обеспокоенность в криптосообществе. Некоторые эксперты утверждают, что это сокращение может сделать BLAKE3 более уязвимым для будущих атак, которые ещё не учитываются в текущем криптоанализе. В ответ разработчики BLAKE3 опубликовали обширный анализ безопасности, подтверждающий их заявления о надёжности.

Читайте также:  Как и куда подключать кабели вентилятора ШИМ [руководство для начинающих]

Варианты использования BLAKE3 в промышленности

BLAKE3 уже применяется в различных промышленных приложениях. Например, ядро Linux (начиная с версии 5.17) использует BLAKE2 в своём криптографическом генераторе псевдослучайных чисел. Кроме того, протокол WireGuard (протокол виртуальной частной сети или VPN), известный своей безопасностью и производительностью, использует BLAKE2 для хеширования ключей.

С другой стороны, такие компании, как Dropbox (централизованное облачное хранилище) и Syncthing (хранение и обмен данными с использованием P2P-сетей), используют BLAKE3 для создания хешей, которые позволяют им идентифицировать документы в их хранилище данных, что позволяет создавать дельта-файлы, для повышения скорости синхронизации и уменьшения используемой полосы пропускания.

Другое использование BLAKE3 можно увидеть в таких файловых системах, как ZFS (начиная с OpenZFS 2.2) или BTRFS (начиная с ядра 5.17), которые используют BLAKE3 для улучшения целостности и безопасности данных, одновременно улучшая производительность этих систем, поскольку BLAKE3 намного быстрее, чем другие существующие варианты.

В мире блокчейнов такие сети, как Zcash, Cardano и Solana, активно используют BLAKE3 для различных задач. От генерации хэшей для проверки и идентификации транзакций, до использования идентификации в смарт-контрактах, а также на уровне безопасности узлов, которые поддерживают эти сети.

Заключение: чем хорош BLAKE3

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

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

Поскольку внедрение BLAKE3 продолжает расширяться, мы, вероятно, увидим больше инноваций и улучшений в области криптографии и цифровой безопасности.

Короче говоря, BLAKE3 – это хэш-функция, которая не только быстрая и безопасная, но также предлагает ряд расширенных функций, делающие её универсальным и надёжным выбором для разработчиков и специалистов по безопасности.

Читайте также:  Как включить функцию System Memory Fallback?

Источник

Поделиться: