yescrypt — функция формирования ключа на основе пароля, основанная на scrypt.
Преимущества (по сравнению с scrypt и Argon2):
- Улучшение устойчивости к оффлайн-атакам (за счет увеличения стоимости атаки при неизменных затратах защищающейся стороны).
- Дополнительная функциональность (например, в виде возможности переключения на более стойкие настройки без знания пароля) из коробки.
- Использование криптографических примитивов, одобренных NIST.
- Остается возможность использовать SHA-256, HMAC, PBKDF2 и scrypt.
Существуют также и недостатки, подробнее описанные на странице проекта.
Со времени предыдущей новости (yescrypt 1.0.1) было несколько минорных релизов.
Изменения в релизе 1.0.2:
-
Больше не используется MAP_POPULATE, ибо в новых многопоточных тестах обнаружилось больше негативных эффектов чем позитивных.
-
В коде SIMD теперь повторно используются буферы для ввода и вывода в BlockMix_pwxform в SMix2. Это может незначительно улучшить частоту попадания в кеш и, следовательно, производительность.
Изменения в релизе 1.0.3:
- В SMix1 оптимизирована индексация V для последовательной записи.
Изменения в релизе 1.1.0:
- Произошло слияние yescrypt-opt.c и yescrypt-simd.c, теперь опция «-simd» более недоступна. С этим изменением производительность SIMD-сборок должна быть почти неизменной, но при этом скалярные сборки должны быть производительнее на 64-битных архитектурах (но медленнее на 32-битных) с большим количеством регистров.
Также yescrypt теперь является частью библиотеки libxcrypt, которая используется в дистрибутивах Fedora и ALT Linux.
>>> Подробности