UOV

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

UOV (англ. Unbalanced Oil and Vinegar) — криптографическая схема. В криптографии схема Unbalanced Oil and Vinegar «Несбалансированная схема масла и уксуса» («UOV») представляет собой модифицированную версию стандартной схемы Oil and Vinegar «Масла и уксуса», разработанной Дж. Патарином. Свое название схема получила ввиду использования двух типов переменных: «уксусных» и «масляных», формирующих открытый ключ. В самих уравнениях эти величины не перемножаются, то есть не смешиваются подобно маслу и уксусу, используемых в кулинарии. Отсюда и пошло такое название.[1] Обе эти схемы являются схемами цифровой подписи. Они относятся к группе многомерной криптографии. Безопасность подписи данной схемы основана на решении NP-полной задачи. Для создания и проверки подписей необходимо решить систему минимальных квадратичных уравнений. Решение уравнений с переменными является NP-трудной задачей[2], что означает, что проблему почти наверняка трудно эффективно решить в худшем случае, даже при использовании квантового компьютера. В то время как задача становится простой, если значение намного больше или намного меньше [2], в среднем случае — когда и почти равны — проблема считается сложной, даже при использовании квантового компьютера. В результате был разработан ряд схем цифровых подписей на основе многомерных уравнений с целью достижения квантово-устойчивых сигнатур.

Ключ подписи и ключ проверки[править | править код]

Математической задачей является решение уравнений от переменных: вся система уравнений сама по себе и является открытым ключом. Чтобы использовать такую задачу для применения в криптографии, её необходимо было изменить. Для вычисления переменных требуется много ресурсов. Стандартный компьютер не может вычислить это за приемлемое время. Поэтому в систему уравнений вставляется так называемая односторонняя функция с потайным входом или Trapdoor, которая будет являться ключом подписи, состоящим из трех частей: двух аффинных преобразований и и вектора полиномов . Оба преобразования используются для разбиения элементов исходного сообщения на определённые группы. Аффинное преобразование преобразует исходное сообщение в . Второе преобразование преобразует вектор из переменных в действительную подпись. Третий секретный элемент предоставляет определённые инструменты для создания системы уравнений. Благодаря этому уравнения будут построены с определёнными правилами, известными только владельцу ключа цифровой подписи.[1]

Процедура создания подписи[править | править код]

Чтобы создать действительную подпись, необходимо решить следующую систему уравнений:

Где это сообщение, которое необходимо подписать. Действительной подписью здесь будет вектор , полученный при решении данной системы уравнений.

Чтобы подписать исходное сообщение его нужно преобразовать таким образом, чтобы оно удовлетворяло системе уравнений. Для этого как раз и используется преобразование необходимое для «разбиения» сообщения на фрагменты, которые обозначены как . После этого строится система уравнений, где каждое уравнение системы должно быть записано в виде:[3]

Для подписи исходного сообщения получения действительной подписи необходимо выполнить следующие шаги:

  1. Коэффициенты должны быть выбраны секретными
  2. «Уксусные» переменные () выбираются случайным образом
  3. Конечная система уравнений решается относительно неизвестных «масляных» переменных ()

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

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

Поэтому система квадратичных уравнений будет являться открытым ключом. где:

Система уравнений становится линейной, если уксусные переменные фиксированы — никакая масляная переменная не умножается на другую масляную переменную в уравнении. Поэтому масляные переменные можно легко вычислить, используя, например, метод Гаусса для решения системы линейных уравнений. Создание подписи становится быстрой и вычислительно — легкой задачей.[4]

Проверка подписи[править | править код]

Подпись передается вместе с отправляемым сообщением. Проверка подписи выполняется при помощи открытого ключа, который будет являться системой уравнений.

Эта система уравнений представляет собой слегка модифицированную версию системы, необходимую для создания подписи. Она модифицируется таким образом, чтобы злоумышленник не смог получить информацию о секретных коэффициентах и ​​специальном форматировании переменных масла и уксуса. Для проверки подписи необходимо вычислить каждое уравнение системы. Если каждый вычисленный результат равен соответствующей части исходного сообщения, то проверка выполнена успешно. В результате не требуется никаких других секретных ключей для проверки действительности подписи, так как это асимметричная схема.[1]

Результаты по анализу на криптографическую стойкость[править | править код]

В данной таблице находятся основные результаты[5], полученные при попытках взлома схемы UOV при различных значениях и

Пусть = конечное поле . Элементы и - его элементы и

«Сложностью сравнимой со случайным решением» означает что сложность взлома сопоставима с решением систем уравнений относительно перемененных когда коэффициенты выбираются случайным образом

Степень Вломано Не взломано Не взломано и сложность сравнима со случайным решением Взломано, несмотря на то, что сложность сравнима со случайным решением
2 (для всех ) или
3 (для )
3 (для ) или

Преимущества и недостатки схемы[править | править код]

Основным преимуществом является то, что вычислительная задача, используемая в алгоритме, является квантовостойкой.[4] То есть, если когда-нибудь будет построен квантовый компьютер, который может обрабатывать достаточное количество состояний, чтобы нарушить коммерческие схемы подписи, такие как RSA или ElGamal, схема подписи UOV остается безопасной, поскольку в настоящее время не существует алгоритма, который дает квантовому компьютеру большое преимущество в решении таких многомерных систем уравнений.

Второе преимущество заключается в том, что операции, используемые в уравнениях, относительно просты. Подписи создаются и проверяются только при помощи операций сложения и умножения «малых» значений, что делает эту подпись жизнеспособной для низкоресурсного оборудования, например, в смарт-картах.[6]

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

Ссылки[править | править код]

  1. 1 2 3 Unbalanced Oil and Vinegar Signature Schemes - Louis Goubin. www.goubin.fr. Дата обращения: 9 декабря 2018. Архивировано 20 января 2021 года.
  2. 1 2 Courtois, Nicolas et al. Solving Underdefined Systems of Multivariate Equations. Дата обращения: 16 октября 2016. Архивировано 10 июня 2017 года.
  3. [https://www.win.tue.nl/diamant/symposium05/abstracts/wolf.pdf Multivariate Quadratic Polynomials in Public Key Cryptography Christopher Wolf]. www.win.tue.nl. Дата обращения: 9 декабря 2018. Архивировано 9 апреля 2016 года.
  4. 1 2 Unbalanced Oil and Vinegar Signature Schemes - Louis Goubin. www.goubin.fr. Дата обращения: 22 декабря 2018. Архивировано 20 января 2021 года.
  5. Aviad Kipnis, Jacques Patarin, Louis Goubin. Unbalanced Oil and Vinegar Signature Schemes // Advances in Cryptology — EUROCRYPT ’99. — Berlin, Heidelberg: Springer Berlin Heidelberg, 1999. — С. 206–222. — ISBN 9783540658894, 9783540489108.
  6. 1 2 Johannes Buchmann, Carlos Coronado, Martin D�ring, Daniela Engelbert, Christoph Ludwig. Post-Quantum Signatures. — 2004. — № 297. Архивировано 10 декабря 2018 года.