yescrypt — funkcja generowania klucza na podstawie hasła, oparta na scrypt.
Zalety (w porównaniu do scrypt i Argon2):
- Zwiększenie odporności na ataki offline (dzięki zwiększeniu kosztów ataku przy niezmienionych nakładach strony broniącej się).
- Dodatkowa funkcjonalność (na przykład możliwość przełączenia na bardziej odporne ustawienia bez znajomości hasła) w standardzie.
- Używanie kryptograficznych prymitywów zatwierdzonych przez NIST.
- Nadal istnieje możliwość użycia SHA-256, HMAC, PBKDF2 i scrypt.
Istnieją również wady, które są szczegółowo opisane na Część 2: laboratoria.
Od czasu poprzedniej wiadomości (yescrypt 1.0.1) było kilka drobnych wydań.
Zmiany w wydaniu 1.0.2:
Nie używa się już MAP_POPULATE, ponieważ w nowych testach wielowątkowych odkryto więcej negatywnych skutków niż pozytywnych.
W kodzie SIMD teraz ponownie wykorzystuje się bufor wejściowy i wyjściowy w BlockMix_pwxform w SMix2. Może to nieznacznie poprawić wskaźnik trafień w cache, a tym samym wydajność.
Zmiany w wydaniu 1.0.3:
- W SMix1 zoptymalizowana została indeksacja V dla zapisu sekwencyjnego.
Zmiany w wydaniu 1.1.0:
- Zintegrowano yescrypt-opt.c i yescrypt-simd.c, opcja „-simd” jest teraz niedostępna. Z tą zmianą wydajność kompilacji SIMD powinna pozostać prawie niezmieniona, ale kompilacje skalarne powinny być wydajniejsze na architekturach 64-bitowych (ale wolniejsze na 32-bitowych) z większą liczbą rejestrów.
Również yescrypt jest teraz częścią biblioteki libxcrypt, używanej w dystrybucjach Fedora i ALT Linux.
Źródło: linux.org.ru
