# Argon2id для входа/регистрации + блок «Расширенные» Статус: `pending` ## Что сделано - При непустом пароле derivation ключей переведён на Argon2id. - В derivation участвуют и логин, и пароль. - Для пустого пароля оставлен прежний тестовый режим (старый детерминированный вариант), чтобы сохранить текущий тестовый сценарий. - На экранах входа и регистрации добавлен блок `Расширенные` с кратким описанием схемы и параметров. ## Параметры Argon2id (текущий профиль) - `t = 3` - `m = 262144 KiB` (256 MB) - `p = 1` - `dkLen = 32` Формат salt: - `saltSource = "shine-auth-v2|login=|suffix="` - `salt = first16bytes( SHA-256(saltSource) )` - `keySuffix` = `root.key` / `bch.key` / `dev.key` ## Как проверять 1. На входе/регистрации открыть `Расширенные` и проверить отображение описания. 2. Проверить тестовый режим: оставить пароль пустым и убедиться, что вход работает по старому сценарию. 3. Проверить новый режим: ввести непустой пароль и выполнить вход/регистрацию. 4. Проверить, что одинаковый пароль при разных логинах даёт разные ключи (например, вход под двумя логинами с тем же паролем и проверка несовпадения производных ключей/сессий). ## Ожидаемый результат - Непустой пароль использует Argon2id. - Пустой пароль остаётся тестовым legacy-вариантом. - UI показывает пользователю, как сейчас считается секрет.