Обновление схемы хеширования паролей yescrypt 1.1.0

Представлена новая версия yescrypt 1.1.0, схемы хеширования паролей и формирования криптографических ключей на основе паролей или парольных фраз, расширяющей возможности классического scrypt и его модификаций. Yescrypt позволяет использовать схемы с большим расходом оперативной памяти и снижает эффективность атак, использующих GPU, FPGA и специализированные чипы. Подробное описание особенностей Yescrypt можно найти в тексте анонса первого выпуска.

В новой версии выполнено слияние исходных текстов yescrypt-opt.c и yescrypt-simd.c. Итоговый вариант помещён в файл yescrypt-opt.c, но по начинке сводный вариант ближе к коду yescrypt-simd.c и позволяет использовать те же оптимизации на системах с поддержкой SIMD, а в режиме без использования векторных инструкций позволяет достичь более высокой производительности за счёт активного использования регистров 64-разрядных CPU (на 32-разрядных системах производительность может понизиться). В новой версии также задействованы SSE-инструкции prefetch, которые используются даже в скалярных сборках и позволяют обеспечить поддержку SIMD на архитектурах с порядком следования байт big-endian (ранее SIMD применялся только для little-endian).

Реализация yescrypt включена в состав библиотеки libxcrypt 4.2.0, используемой в дистрибутивах Fedora и ALT Linux вместо libcrypt из GLibc. Поддержка yescrypt доступна начиная с Fedora 29. В выпуске libxcrypt 4.3.0 дополнительно добавлен набор gost-yescrypt, включающий обвязку для использования yescrypt вместе с хэшами GOST (yescrypt обеспечивает для хэшей GOST защиту от атак по подбору паролей). Применение указанной обвязки может потребоваться в областях, в которых требуется соответствие Российским криптографическим стандартам (например, в ALT Linux).

Источник: http://www.opennet.ru/opennews/art.shtml?num=50997