Мы знаем, что для ChaCha20 и XChaCha20 нельзя использовать один и тот же ключ с одним и тем же одноразовым номером. Но допустим, я каждый раз использую случайный 256-битный ключ... Тогда одноразовый номер может быть любым, потому что ключ всегда разный. Скажем, я установил одноразовый номер, чтобы все нули. Пока 256-битный ключ является случайным, эта настройка должна быть безопасной, поскольку 256-битный ключ достаточно велик, чтобы его нельзя было взломать или использовать повторно.
Теперь давайте работать в обратном порядке. Предположим, я использую Argon2 для получения ключей. Если я использую 256-битную соль с Argon2, то выходной ключ должен иметь 256-битную случайность, и если я подам этот ключ в XChaCha20, я теоретически никогда не должен сталкиваться с тем же ключом и, таким образом, могу использовать обнуленный одноразовый номер. .
У меня три вопроса:
- Есть ли что-то неправильное в использовании обнуленного одноразового номера, если ключ всегда случайный?
- В этом случае дает ли использование 192-битного одноразового номера для XChaCha20 какие-либо дополнительные преимущества?
- Безопасно ли использовать 256-битную соль для Argon2, когда рекомендуемая соль — 128-битная?
Контекст: шифрование файлов