Nonce помогает отличать одну операцию от другой. Это не дополнительный секретный пароль: во многих протоколах он передаётся открыто. Критично выполнить требования механизма, а не просто добавить случайное число.
Nonce применяют в шифровании сообщений, запросах с подтверждением владения ключом и защите от повторного воспроизведения. В одном случае достаточно уникального счётчика, в другом требуется непредсказуемый вызов. Эти условия нельзя механически переносить между протоколами.
Два процесса шифруют сообщения одним ключом и начинают счётчик с нуля. Получаются повторяющиеся nonce, хотя каждый процесс по отдельности ведёт счёт правильно. Разработчики меняют схему распределения значений или разделяют ключи, а после перезапуска сохраняют требуемую уникальность.
Нет. Требования зависят от схемы; в некоторых допустим или предпочтителен уникальный счётчик.
Можно передавать nonce открыто?Часто да. Его секретность обычно не является основой стойкости, но условия протокола обязательны.
Достаточно большого случайного значения?Нужно также оценить число операций, вероятность совпадений и требования конкретной схемы.