BLAKE2
Что такое BLAKE2?
BLAKE2Быстрая современная криптографическая хеш-функция, специфицированная в RFC 7693, обеспечивающая безопасность, сопоставимую с SHA-3, при значительно более высокой производительности в программной реализации.
BLAKE2 — это семейство криптографических хеш-функций, разработанное Жаном-Филиппом Омассоном, Самуэлем Невесом, Зуко Уилкоксом-О'Хирном и Кристианом Виннерляйном в 2012 году как упрощённое усовершенствование BLAKE, финалиста конкурса SHA-3. Оно было стандартизировано в RFC 7693 (2015). Существуют два основных варианта: BLAKE2b (дайджесты размером до 64 байт, оптимизированный под 64-битные процессоры) и BLAKE2s (дайджесты размером до 32 байт для 32-битных и встраиваемых платформ), каждый со своими параллельными формами (BLAKE2bp/BLAKE2sp).
Как это работает
BLAKE2 использует режим итерации HAIFA поверх функции сжатия, производной от перестановки поточного шифра ChaCha (перемешивание G-функцией с циклическими сдвигами). Что важно, он встраивает хеширование с ключом, добавление соли, персонализацию и древовидное хеширование непосредственно в примитив, поэтому BLAKE2 с ключом работает как MAC без отдельной обёртки HMAC, избегая слабости SHA-2 к атаке удлинения сообщения (length-extension). По сравнению с предшественником он снижает число раундов (12 для 2b, 10 для 2s) и упрощает дополнение (padding) ради скорости.
flowchart LR M[Message blocks] --> C[Compression f: HAIFA + ChaCha permutation] K[Optional key] --> C S[Salt / personalization] --> C T[Block counter t] --> C C --> C2[Chained state h] C2 -->|final block flag| O[Digest up to 64 bytes]
Распространение и преемники
BLAKE2 не взломан, для него не известно практических атак на поиск коллизий или прообразов, и он быстрее MD5, SHA-1, SHA-2 и SHA-3 в программной реализации. Он лежит в основе победителя конкурса хеширования паролей Argon2 (в качестве его внутреннего примитива сжатия), хеширования рукопожатия WireGuard (BLAKE2s), функции crypto_generichash в libsodium и Zcash. Та же команда выпустила BLAKE3 в 2020 году — конструкцию на дереве Меркла, предлагающую ещё больший параллелизм, хотя BLAKE2 остаётся стандартизированным в RFC и широко развёрнутым выбором.
● Примеры
- 01
Argon2 использует BLAKE2b внутри в качестве своего примитива сжатия.
- 02
WireGuard хеширует транскрипт рукопожатия с помощью BLAKE2s.
● Частые вопросы
Что такое BLAKE2?
Быстрая современная криптографическая хеш-функция, специфицированная в RFC 7693, обеспечивающая безопасность, сопоставимую с SHA-3, при значительно более высокой производительности в программной реализации. Относится к категории Криптография в кибербезопасности.
Что означает BLAKE2?
Быстрая современная криптографическая хеш-функция, специфицированная в RFC 7693, обеспечивающая безопасность, сопоставимую с SHA-3, при значительно более высокой производительности в программной реализации.
Как защититься от BLAKE2?
Защита от BLAKE2 обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия BLAKE2?
Распространённые альтернативные названия: BLAKE2b, BLAKE2s, RFC 7693.