Нонс (англ. nonce) — довільне число використовуване під час криптографічного зв'язку лише один раз. Нонс часто випадкове або псевдовипадкове число утворене протоколом автентифікації, для гарантування унеможливлення використання старих сеансів зв'язку в атаці повторного відтворення. Наприклад, нонс використовує дайджест автентифікація HTTP для обчислення MD5 гешу/дайджесту пароля. З кожною відповіддю 401 сервер породжує новий нонс і відсилає його як частину відповіді клієнту, той у свою чергу може відправити серверу його відповідь, включно з нонсом, і також свої ім'я і пароль. Такий підхід практично унеможливлює атаки відтворенням.

Звичайний клієнт-серверний сеанс зв'язку автентифікації з нонсом. Використовуються серверний і клієнтський нонси.

Нонс можна використати для гарантування безпеки потокових шифрів. Якщо один і той самий ключ використовують для шифрування більш як одного повідомлення, тоді використовують нонс для забезпечення того, що потік ключа буде відмінним для всіх повідомлень зашифрованих за допомогою цього ключа. Часто використовуються номер повідомлення. Наприклад, нонс використовується при утворенні потокового шифру з блочного в режимі CTR, завдяки чому вдається отримати можливість розпаралелювання.

Дехто посилається на ініціалізаційний вектор як на нонс через попередньо наведені причини. Для гарантування одноразовості використання, можна включати в нонс підхожим чином оформлений timestamp або використовувати достатньо бітів для забезпечення досить малої ймовірності повторення. Деякі автори визначають псевдовипадковість (або непередбачуваність) як вимогу до нонсу.[1]

Див. також ред.

Посилання ред.

Примітки ред.

  1. Nonce-Based Symmetric Encryption (PDF). Архів оригіналу (PDF) за 10 травня 2013. Процитовано 14 червня 2012.