Pull to refresh

Инвариантная симметричная криптография: конструкция и модель безопасности

Level of difficultyMedium
Reading time7 min
Views344

Аннотация

Предлагается симметричная криптографическая схема, основанная на функциональных инвариантах над псевдослучайными осцилляторными функциями с рациональными аргументами и скрытыми параметрами. Секретное значение v кодируется через алгебраическое тождество, связывающее четыре точки одной и той же функции. Без знания внутреннего устройства функции (индекса t, осцилляторов, маскирующих коэффициентов) подделка значений, удовлетворяющих инварианту, оказывается практически невозможной. Верификация осуществляется путём восстановления v из переданных значений s_1, s_3 и проверки хэша. Схема отличается компактностью, однонаправленностью и подходит для аутентификации, обмена параметрами и использования в условиях ограниченных ресурсов.

Полное описание, включая формулы, модели атак и параметры безопасности:
https://zenodo.org/records/15368121
Буду рад получить обратную связь, комментарии или предложения.

1. Введение и мотивация

Во многих криптографических задачах требуется убедиться в целостности и корректности передаваемых данных без раскрытия самих данных или ключей. Стандартные схемы — такие как MAC, цифровые подписи или схемы с аутентифицированным шифрованием — обеспечивают проверку подлинности, но полагаются на структуру сообщения или предполагают наличие ключей у обеих сторон.

В данной работе предлагается другой путь: обеспечить верифицируемость через структурное тождество — инвариант, который выполняется только при корректных значениях. Получатель может проверить, что полученные значения согласованы с внутренней структурой скрытой функции, и на основании этого восстановить нужный параметр. Таким образом, структура становится криптографическим механизмом.

Среди особенностей схемы:

  • отсутствие необходимости в дешифровании: проверка основана на структурной идентичности, а не на восстановлении зашифрованных данных;

  • передаваемые значения не раскрывают секретов;

  • нет необходимости в взаимодействии — проверка односторонняя;

  • допускается многократное переиспользование секрета без утечки.

Схема опирается на математическую конструкцию, в которой определённая комбинация четырёх значений псевдослучайной функции всегда даёт определённый результат, если параметры выбраны правильно. Это и есть инвариант, лежащий в основе протокола.

2. Конструкция маскированной функции и инвариант

Предлагаемая схема основана на специальной маскированной функции s(t), определённой на рациональной сетке, и четырехточечном алгебраическом инварианте, сохраняющемся при заданной параметризации.

Маскированная функция

Функция s(t) определяется как:

s(t) := \left( \frac{p^{\lfloor t \rfloor} \cdot \mathrm{PRF}(i, K) + q_1 \cdot \varphi(Ct) + q_2 \cdot \psi(Ct)}{t} \right) \bmod M

где:

  • t = \frac{i}{K} — скрытый рациональный индекс на сетке с шагом 1/K;

  • p, q_1, q_2 \in \mathbb{Z}_M — параметры, выводимые из общего секрета S и сессионного значения z;

  • \varphi(), \psi() — псевдослучайные антисимметричные осцилляторы, сгенерированные из (S, z);

  • \mathrm{PRF}(i, K) — значение псевдослучайной функции, замещающее p^{\delta}, где \delta = t - \lfloor t \rfloor;

  • M — большой простой модуль, например 2^{256} + c.

Такое определение скрывает как структуру аргумента t, так и форму самой функции, затрудняя аналитическую инверсию.

Инвариант на четырёх точках

Пусть выбраны три целых параметра \Delta_1, \Delta_2, \Delta_3, например:

\Delta_1 = 2v + 1, \quad \Delta_2 = 2u, \quad \Delta_3 = 2u + 2v + 1

Тогда значения функции:

s_0 = s(t), \quad s_1 = s(t + \Delta_1), \quad s_2 = s(t + \Delta_2), \quad s_3 = s(t + \Delta_3)

удовлетворяют алгебраическому инварианту:

I(s_0, s_1, s_2, s_3) = \frac{s_0 \cdot t + s_1 \cdot (t + 2v + 1)}{s_2 \cdot (t + 2u) + s_3 \cdot (t + 2u + 2v + 1)} = \frac{1}{p^{2u}} \bmod M

Этот инвариант связывает значения функции на четырёх равномерно смещённых точках и выступает как проверяемая идентичность, привязывающая передаваемые данные к внутренней структуре.

3. Игровая формулировка: Invariant Index-Hiding Problem (IIHP)

Для формального описания криптографической стойкости схемы вводится игра между противником и системой, основанная на невозможности подделки инварианта без знания скрытого индекса t и параметра v.

Сценарий передачи

Пусть Алиса, обладая секретом S и сессионным значением z, выбирает случайный v и вычисляет:

\Delta_1 = 2v + 1, \quad \Delta_3 = 2u + 2v + 1

Затем она публикует:

  • s_1 = s(t + \Delta_1)

  • s_3 = s(t + \Delta_3)

  • u — открытый сессионный параметр

  • z — nonce (уникальный идентификатор сессии)

  • H_{\mathrm{check}} = H(S, v, s_1, s_3, u, z) — хэш-подпись всей информации

Получатель (Боб), зная (S, s_1, s_3, u, z), восстанавливает v с помощью инвариантного выражения:

v = \frac{-s_0 p^{2u} t - s_1 p^{2u}(t+1) + s_2(t+2u) + s_3(t+2u+1) }{ 2(s_1 p^{2u} - s_3)} \bmod M

где s_0 = s(t), s_2 = s(t + 2u) и все параметры восстанавливаются детерминированно из S и z.

Определение IIHP

Задача для противника:

Имея (s_1, s_3, u, z, H_{\mathrm{check}}), противник должен сгенерировать поддельную пару (s^*, \delta^*), такую что:

  • \delta^* \notin \{2v + 1,\ 2u + 2v + 1\}

  • Вычисленный v^* := \mathrm{RecoverV}(s_1, s^*, u, z)

  • И выполняется H(S, v^*, s_1, s^*, u, z) = H_{\mathrm{check}}

Цель схемы — сделать вероятность успеха такого противника пренебрежимо малой по параметру безопасности \lambda.

Интуиция

Поскольку s^* должен удовлетворять жёсткому инварианту и приводить к верному значению v, а затем пройти проверку по хэшу, для его нахождения необходимо либо:

  • определить t, p, \varphi, \psi, q_1, q_2 и восстановить s(t + \delta^*), что эквивалентно взлому PRF/PRG, либо

  • найти коллизию в хэше, что невозможно при корректной реализации H (например, SHA-3)

Таким образом, задача IIHP является центральной криптографической гипотезой безопасности предложенной схемы.

4. Структура безопасности и эвристическое обоснование

Криптографическая стойкость схемы не сводится к одной операции. Она вытекает из взаимодействия нескольких независимых уровней сложности и структурных ограничений.

Ключевые элементы стойкости

  • Скрытый индекс t
    Точка оценки t = \frac{i}{K} принадлежит рациональной сетке и не раскрывается. Без неё невозможно выровнять псевдослучайные значения функции s(t + \delta), даже при известной форме инварианта.

  • Маскированная экспонента p^t
    Поскольку t рационален, вычисление p^t осуществляется через разложение p^t = p^{\lfloor t \rfloor} \cdot \mathrm{PRF}(i, K) — последняя часть обеспечивает невозможность восстановления t из p^t.

  • Псевдослучайные осцилляторы
    Функции \varphi(Ct) и \psi(Ct) формируют колебательные сдвиги, зависящие от S и z. Из-за антипериодичности и непредсказуемости они не поддаются аппроксимации или интерполяции.

  • Инвариант как ограничение
    Четыре значения s_i = s(t + \Delta_i) подчиняются точному алгебраическому тождеству. Даже малое отклонение одного из них нарушает его, что делает подделку крайне трудной.

  • Отсутствие доступа к оракулу
    Протокол не предоставляет интерфейс запроса s(t + \delta). Противник имеет лишь фиксированный транскрипт, без возможности адаптивных атак.

  • Хэш-связывание
    Проверка инварианта не ограничивается его выполнением: всё содержание сообщения хэшируется с секретом. Даже если v^* получен, подделка s^* потребует нахождения коллизии:

H(S, v^*, s_1, s^*, u, z) = H_{\mathrm{check}}

Сравнение с известными криптографическими задачами

  • Похожесть на LWE
    Маскирующие осцилляторы работают как шум в задаче LWE, но без решёток: значения непредсказуемы, даже при малых сдвигах по индексу.

  • Аналогия с скрытыми показателями
    В отличие от классического Diffie–Hellman, здесь показатель t не является целым и не участвует в группе — но его скрытность также критична для стойкости.

  • Инвариант как MAC
    Можно рассматривать инвариант как нетривиальную симметричную подпись: получатель может проверить значение, не зная самого v, но зная, что оно было встроено корректно.

Вывод

Без знания скрытых параметров восстановить согласованную тройку (s^*, v^*, H) невозможно. При разумных параметрах (|M| \geq 2^{256}, |K| \geq 2^{160}, |v| \geq 2^{64}) вероятность успешной атаки становится пренебрежимо малой.

6. Формат сообщения и параметры

Схема предполагает передачу от отправителя (Алисы) к получателю (Бобу) структурированного сообщения, содержащего всё необходимое для восстановления скрытого значения v и проверки его подлинности через инвариант.

Формат передаваемого сообщения

Каждое сообщение содержит следующие поля:

  • s_1 \in \mathbb{Z}_M: значение s(t + \Delta_1), где \Delta_1 = 2v + 1.

  • s_3 \in \mathbb{Z}_M: значение s(t + \Delta_3), где \Delta_3 = 2u + 2v + 1.

  • u \in \mathbb{N}: открытый параметр смещения.

  • z \in \{0,1\}^{256}: уникальный nonce для сессии.

  • H_{\mathrm{check}} \in \{0,1\}^{256}: хэш-значение, связывающее всю сессию.

Общий размер сообщения — 1056 бит (132 байта), что сопоставимо с размерами современных симметричных аутентификационных схем.

Рекомендуемые параметры

  • M: простое число \geq 2^{256} — модуль всей арифметики.

  • p \in \mathbb{Z}_M^\times: база экспоненты, получаемая как p := H_p(S, z) \bmod M.

  • K \in [2^{160}, 2^{256}]: разрешение сетки для индекса t = \frac{i}{K}.

  • C \in [2^{24}, 2^{32}]: частота осцилляторов \varphi, \psi.

  • u \in \mathbb{N}: открытый параметр (обычно 32 бита).

  • v \in [2^{64}, 2^{128}]: секретное значение, восстанавливаемое по инварианту.

  • S \in \{0,1\}^{256}: общий секрет между сторонами.

  • z \in \{0,1\}^{256}: уникальный nonce.

Хэш-связка

Финальный хэш вычисляется как:

H_{\mathrm{check}} = H(S, v, s_1, s_3, u, z)

Он должен использовать стойкую хэш-функцию (например, SHA-3-256 или SHAKE256 с усечением до 256 бит), и служит криптографической привязкой всех параметров сессии.

7. Сценарии использования и свойства схемы

Схема может использоваться как легковесный криптографический механизм для безопасной передачи, подтверждения или восстановления скрытого параметра v, без его раскрытия в открытом виде. Ниже представлены некоторые возможные сценарии, демонстрирующих универсальность конструкции.

1. Базовый обмен секретом

Обе стороны (например, Алиса и Боб) знают общий секрет S.

  • Алиса выбирает v, генерирует (s_1, s_3, u, z, H_{\text{check}}).

  • Боб, получив эти значения, восстанавливает v по формуле и проверяет хеш.

  • Без знания S корректное воспроизведение невозможно.

Используется для аутентифицированной передачи значений между доверенными сторонами.

2. Доказательство обладания объектом

  • Алиса берёт файл и вычисляет его хеш v = H(\text{file}).

  • Строит (s_1, s_3, u, z, H_{\text{check}}) и публикует.

  • Позже раскрывает v, и любой, зная S, может убедиться, что v соответствует опубликованным значениям.

Это реализует публично проверяемое обязательство (commitment) без раскрытия объекта на момент публикации.

3. Разделение доверия (split trust)

  • Алиса генерирует (s_1, s_3) для заданного v.

  • s_1 передаётся Бобу, s_3 — Чарли.

  • Ни одна сторона не может восстановить v в одиночку.

  • Вместе, объединив данные, они могут восстановить v.

Может использоваться для элементарного порогового раскрытия или совместной авторизации.

4. Проверка «свой–чужой» без раскрытия секрета

  • Сервер выбирает (u, z, v) и отправляет их клиенту.

  • Клиент должен сгенерировать корректное s_3, зная S.

  • Сервер проверяет, что s_3 удовлетворяют инварианту.

Позволяет проверять принадлежность клиента к кругу доверия без раскрытия секрета S или значения v.

Свойства схемы

  • Безопасность: невозможно подделать (s_1, s_3) без знания S.

  • Структурная проверка: восстановление v происходит только при соблюдении инварианта.

  • Однозначность: для фиксированных (S, z, v) значения s_1 и s_3 определяются единственным образом.

  • Устойчивость к повторному использованию: nonce z обеспечивает уникальность сессии.

  • Маскирующее разделение: значения s_1 и s_3 по отдельности не раскрывают v.

Заключение

Предложенная симметричная криптографическая схема основана на функциональном инварианте, связывающем четыре значения функции s(t), построенной из зашумлённых осцилляторов и псевдослучайно замаскированной экспоненты. Передаваемые значения (s_1, s_3) не раскрывают ни индекс t, ни параметр v, но позволяют однозначно и проверяемо восстановить v с помощью инвариантной формулы.

В отличие от стандартных симметричных схем, здесь:

  • структура передаваемых значений содержит встроенный механизм верификации;

  • нет необходимости в прямом шифровании сообщения;

  • вся проверка происходит через аналитическое сопоставление и хэш-функцию.

Развитие может идти в сторону:

  • асимметричных вариантов (например, ZK-доказательств знания v),

  • расширения инварианта на многомерные конструкции,

  • применения в криптографических протоколах нового типа.

Tags:
Hubs:
0
Comments0

Articles