Этой теоремы не получилось найти в Интернете, поэтому пусть ее увидит хотя бы Хабр. Сразу скажу, что многочлены, которые будут упомянуты в названии я буду называть также векторами в случае, когда требуется данное их представление, так что условный многочлен b(x) в паре абзацев ниже может оказаться вектором b, будьте осторожнее, чтобы не запутаться.

О чем вообще будет статья?

Пусть у нас есть поле GF(q), тогда будем рассматривать многочлены в расширении поля GF(q)/f(x). Рассмотрим произвольный многочлен a(x), принадлежащий идеалу Iₐ данного расширения, причем мощность Iₐ минимальна среди всех идеалов, содержащих a(x). Тогда утверждается следующее: многочлен p(x), координаты которого задаются следующим вектором:

p = a\cdot P

, где P - матрица перестановки , также является элементом идеала Iₚ, причем мощности Iₐ и Iₚ совпадают в том случае, если Iₚ - идеал с минимальной мощностью среди всех идеалов, содержащих p(x).

Доказательство

Рассмотрим многочлен:

c(x)=p(x)*b(x)

, где b(x) - произвольный элемент расширения поля. Очевидно, что множество Iₚ всех c(x) является идеалом. Рассмотрим его мощность. Для этого запишем c(x) для произвольного b(x) в векторном виде:

c = p \cdot b = a \cdot P \cdot B

, где B -  матрица, представляющая умножение на многочлен b(x). И рассмотрим элемент a':

a'=c \cdot P^{-1} = a \cdot P \cdot B \cdot P^{-1}

Покажем, что a'(x) будет принадлежать Iₐ. Для этого необходимо и достаточно, чтобы матрица, являющаяся произведением трех последних была матрицей умножения на какой-то многочлен в расширении поля. Заметим, что матрица D является подобной матрице B, где

D = P \cdot B \cdot P^{-1}

Это означает, что D - это операция умножения на многочлен b(x), выраженный в другом базисе. Значит a' принадлежит тому же идеалу, что и a. Но так как это верно для любого b(x), а умножение на матрицу P⁻¹ является биекцией, то мощность Iₚ не больше мощности Iₐ.

Проводя аналогичные рассуждения для многочлена p, можно получить, что мощность Iₐ не больше мощности Iₚ, а значит эти идеалы равномощны.

Замечу, что если использовать в качестве матрицы P не матрицу перестановки, а любую обратимую матрицу, то мы также получим элемент идеала Iₚ при умножении вектора a на нее.

Где использовать?

Наверное самый трудный вопрос в этой статье. Например, можно использовать данное свойство для построение нового циклического кода по уже имеющемуся: как известно, циклические коды можно представить в виде многочленов, тогда из одного порождающего полинома можно получить другой. А уже это свойство можно использовать в криптографии, например, в системах, аналогичных McEliece: вместо передачи порождающего многочлена, который может исправить t ошибок, передавать порождающий многочлен, исправляющий t' ошибок, где t' < t. Тогда можно в сообщение добавлять ошибок больше, чем способен исправить код, передаваемый в открытом ключе, но при этом принимающая сторона все равно будет способна расшифровать сообщение.

Заключение

Возможно, это всем известная теорема, которая прошла мимо меня, но ее потенциал использования в криптографии достаточно интересен: есть шифры, основанные на линейных кодах (вышеупомянутый McEliece, но использующей циклические коды, а не код Гоппы), в которых сложность расшифрования сообщения достигается тем, что в закодированное сообщение вносятся ошибки. И внесение большего количества ошибок, чем может исправить нарушитель рушит большинство атак на данную криптосистему. А из доказанной выше теоремы может следовать то, что для получения кода, исправляющего меньшее число ошибок, достаточно переставить некоторые коэффициенты в порождающем многочлене кода (за исключением свободного члена и коэффициента при максимальной степени многочлена). Таким образом можно увеличить криптостойкость системы McEliece.

Комментарии (0)