Представлена хеш-функция BLAKE2, претендующая на роль высокопроизводительной замены MD5 и SHA1
24 декабря 2012 года
Представлена (Архивная копия от 25 сентября 2020 на Wayback Machine) современная криптографическая хеш-функция BLAKE2, не уступающая по производительности MD5, потребляющая на 33% меньше памяти чем SHA-2/SHA-3 и лишённая известных проблем с безопасностью. BLAKE2 является переработанной версией хэш-функции BLAKE, вошедшей в число финалистов конкурса на разработку криптоалгоритмов для стандарта SHA-3. При проектировании BLAKE2 была поставлена задача обеспечения максимальной производительности программной реализации алгоритма с предоставлением высочайшего уровня безопасности.
В итоге, был подготовлен алгоритм значительно превосходящий по надёжности MD5, но близкий к нему по производительности, что делает его пригодным для использования в областях, где в силу своей производительности до сих пор доминируют MD5 и SHA1 - в облачных хранилищах, системах контроля версий, дистрибутивах программного обеспечения, системах выявления вторжений и средствах цифровой экспертизы (digital forensics).
Как и SHA-3 алгоритм BLAKE2 не чувствителен к размеру хэшируемых данных и защищён от всех свойственных SHA-1 и MD5 видов атак, связанных с возникновением коллизий в процессе хэширования. Надёжность алгоритма подтверждена многолетним аудитом, который проводился в процессе оценки претендентов на звание стандарта SHA-3. По словам разработчиков алгоритма, то, что институт NIST в конечном счёте выбрал алгоритм Keccak в качестве стандарта SHA-3 связано с тем, что была поставлена цель использования в SHA-3 алгоритма принципиально отличающегося от SHA-2 с целью наличия запасного варианта в случае выявления уязвимости в одном из алгоритмов. С точки зрения безопасности алгоритмы Keccak и BLAKE находятся на одном уровне, при этом для BLAKE был проведён даже более глубокий криптоанализ, чем для Keccak.
Для использования подготовлены две реализации BLAKE2:
- BLAKE2b (или просто BLAKE2) - вариант, оптимизированный для 64-разрядных платформ и поддерживающий акселерацию через задействование инструкций NEON для ARM-систем и SSE2, SSSE3, SSE4.1, AVX и XOP для архитектур x86. Размер результирующего хэша может генерироваться в диапазоне от 1 до 64 байт. Доступны две модификации BLAKE2b, позволяющие существенно увеличить производительность за счёт распараллеливания на многоядерных или SIMD процессорах: BLAKE2bp - с поддержкой распараллеливания на 4 потока, и BLAKE2sp - с поддержкой распараллеливания на 8 потоков (используется OpenMP).
- BLAKE2s - вариант для 8-, 16- и 32-разрядных платформ, позволяющий генерировать хэши размером от 1 до 32 байт.
Реализации доступны как в виде библиотек для различных языков программирования, так и в форме утилиты b2sum, позволяющей из командной строки хэшировать файлы с использованием методов BLAKE2b, BLAKE2s, BLAKE2bp и BLAKE2sp. При проведении теста на системе с процессором Intel Core i7-2630QM (Sandy Bridge 2GHz) была продемонстрирована производительность в 531 мебибайт в секунду (3.59 процессорных циклов на байт), при использовании процессора AMD FX-8150 (Bulldozer 3.6GHz) производительность составила 628 мебибайт в секунду (5.47 процессорных циклов на байт).
Источники
править- Главная ссылка к новости (http://lists.randombit.net/pip...) (Архивная копия от 25 сентября 2020 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.