CyberGlossary

Криптография

scrypt

Также известно как: scrypt Перcивала, RFC 7914

Определение

Memory-hard KDF на основе пароля, разработанная Колином Перcивалом в 2009 году и описанная в RFC 7914; используется для хеширования паролей и как алгоритм Proof-of-Work в ряде криптовалют.

scrypt — это функция деривации ключей на основе пароля, опубликованная Колином Персивалом в 2009 году и стандартизированная в RFC 7914; она комбинирует PBKDF2-HMAC-SHA-256 с memory-hard внутренней фазой смешивания ROMix, построенной на ядре Salsa20/8. Имеет три настраиваемых параметра: N (стоимость по памяти/процессору), r (размер блока) и p (параллелизм); типичная интерактивная конфигурация — N=2^15, r=8, p=1 (около 32 МиБ). Жёсткость по памяти существенно повышает стоимость атак на GPU и ASIC по сравнению с PBKDF2 и bcrypt. scrypt остаётся безопасным выбором для хеширования паролей и KDF, хотя для новых проектов обычно предпочтительнее Argon2id; Litecoin и Dogecoin используют scrypt как функцию Proof-of-Work.

Примеры

  • Хранение паролей с scrypt (N=16384, r=8, p=1).
  • Litecoin использует scrypt в качестве функции Proof-of-Work.

Связанные термины