bi-zone / ruwireguard-spec

Ru-WireGuard: WireGuard protocol with GOST crypto algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Шифрование cookies

dnkolegov opened this issue · comments

Для cookie-сообщений предлагается рассмотреть следующий новый вариант шифрования: вырабатывать nonce с использованием шифрования значений счетчика. Использовать шифр Кузнечик в режиме ECB:

  • Сначала один раз генерируем случайный 256-битный ключ k, полагаем n = 1
  • При необходимости ответить куки-сообщением вырабатываем nonce = E_k(n) и увеличиваем n на 1

Таким образом, значениями nonce будут следующие значения: E_k(1), E_k(2), ... , E_k(n), ... .

При таком подходе:

  • В силу биективности функции зашифрования выполняется свойство уникальности nonce (что укладывается в стандарт MGM)
  • В силу псевдослучайности функции зашифрования (ключ k держится в секрете) противник не может отследить текущее значение счетчика
  • Поскольку использование MGM требует 2m + 4 (для одного блока 6) операций шифрования, сложность вычисления куки-ответа возрастает незначительно