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.
Джерело: linux.org.ru