Песочница scrypt

Вычисляйте scrypt со своими N, r, p, солью и длиной ключа, смотрите нужную память и получайте сырой hex или строку $scrypt$. Векторы RFC 7914 проверены.

Нужно памяти: 128 × N × r = 128 MiB

scrypt (RFC 7914) требователен к памяти. Минимум OWASP: N=2^17, r=8, p=1 (128 MiB). Вычисляется в браузере с помощью hash-wasm; большим значениям N нужно много памяти.

Проверить пароль по хешу

Работает полностью в вашем браузере. Ваши данные никуда не загружаются.

Что такое Песочница scrypt?

Запускайте требовательную к памяти функцию вывода ключа scrypt (RFC 7914) со своими параметрами стоимости и солью. Инструмент показывает, сколько памяти нужно при этих настройках, сырой полученный ключ и закодированную строку $scrypt$, которую можно проверить позже.

Как пользоваться Песочница scrypt

  1. Введите Пароль.
  2. Выберите Стоимость CPU/памяти (N) как степень двойки, Размер блока (r), Параллелизм (p) и Длина ключа (байт).
  3. Введите Соль и её кодировку либо оставьте пустой для случайной соли.
  4. Нажмите Хешировать и скопируйте результат; проверьте его в панели ниже.

Пример

Ввод
Password password, salt NaCl, N=1024, r=8, p=16, 64 bytes
Вывод
fdbabe1c9d3472007856e7190d01e9fe7c6ad7cbc8237830e77376634b3731622eaf30d92e22a3886ff109279d9830dac727afb94a83ee6d8360cbdfa2cc0640

RFC 7914, раздел 12, тестовый вектор 2.

Когда использовать Песочница scrypt

Используйте для подбора параметров scrypt, проверки векторов RFC 7914 или отладки хешей из Node.js crypto.scrypt, Python hashlib.scrypt или passlib. Большие значения N требуют сотен МиБ и могут не работать на мобильных устройствах.

Как работает Песочница scrypt

scrypt один раз запускает PBKDF2-HMAC-SHA-256 для расширения входа, затем функция ROMix заполняет 128 × N × r байт памяти выходами BlockMix на основе Salsa20/8 и читает их обратно в порядке, зависящем от данных, p раз, перед финальным шагом PBKDF2. Закодированная форма $scrypt$ln=<log2 N>,r=<r>,p=<p>$<salt>$<hash> в Base64. Вычисление использует hash-wasm (WebAssembly).

Распространенные Случаи Использования

  • Выбор N, при котором хеширование занимает около 100 мс
  • Воспроизведение тестовых векторов RFC 7914
  • Отладка хешей, созданных через crypto.scrypt в Node
  • Демонстрация роста затрат памяти с N и r

Часто Задаваемые Вопросы

Какие параметры рекомендует OWASP?

Не менее N=2^17, r=8, p=1, что занимает 128 MiB, или компромиссы вроде N=2^16, r=8, p=2.

Сколько памяти использует scrypt?

128 × N × r байт; значение показано под параметрами. При N=2^17 и r=8 нужно 128 MiB.

Лучше ли scrypt, чем bcrypt?

Он требователен к памяти, что удорожает атаки на GPU и ASIC. Argon2id сейчас первый выбор, scrypt хороший второй.

Другие категории