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

В математике , A полиномиальный базис является основой из кольца многочленов , рассматривается как векторное пространство над полем коэффициентов, или в качестве свободного модуля над кольцом коэффициентов. Наиболее распространенный полиномиальный базис - это мономиальный базис, состоящий из всех одночленов . Другие полезные полиномиальные базисы - это базис Бернштейна и различные последовательности ортогональных полиномов .

В случае конечного расширения в течение конечных полей , полиномиальный базис может также относиться к основе расширения формы

где α - корень примитивного многочлена степени m, равной степени расширения. [1]

Тогда набор элементов GF ( p m ) можно представить в виде:

используя логарифмы Зеха .

Дополнение [ править ]

Сложение с использованием полиномиального базиса так же просто, как сложение по модулю p . Например, в ГФ (3 м ):

В GF (2 м ) сложение особенно просто, поскольку сложение и вычитание по модулю 2 - это одно и то же (так же, как и термины «компенсировать»), и, кроме того, эта операция может выполняться аппаратно с использованием базового логического элемента XOR .

Умножение [ править ]

Умножение двух элементов в полиномиальном базисе может быть выполнено обычным способом умножения, но есть несколько способов ускорить умножение, особенно аппаратно. Использование простого метода умножения двух элементов в GF ( p m ) требует до m 2 умножений в GF ( p ) и до m 2 - m сложений в GF ( p ).

Некоторые из методов уменьшения этих значений включают:

  • Таблицы поиска - предварительно сохраненная таблица результатов; в основном используется для небольших полей, в противном случае таблица слишком велика для реализации
  • Карацуба алгоритм - многократно нарушая умножение на куски, уменьшая общее количество умножений , но увеличение количества добавок. Как видно выше, сложение очень простое, но накладные расходы на разбиение и повторное объединение частей делают его недопустимым для оборудования, хотя оно часто используется в программном обеспечении. Его можно даже использовать для общего умножения, и это делается во многих системах компьютерной алгебры .
  • Умножение на основе регистра сдвига с линейной обратной связью
  • Вычисления подполей - разбиение умножения в GF ( p m ) на умножения в GF ( p x ) и GF ( p y ), где x × y = m . Это не часто используется в криптографических целях, поскольку некоторые составные поля степеней избегаются из-за известных атак на них.
  • Конвейерные множители - хранение промежуточных результатов в буферах, чтобы новые значения могли быть загружены в множитель быстрее
  • Систолические множители - использование множества ячеек, которые общаются только с соседними ячейками; обычно систолические устройства используются для операций с интенсивными вычислениями, где размеры входных и выходных данных не так важны, например, для умножения.

Квадрат [ править ]

Возведение в квадрат - важная операция, поскольку ее можно использовать как для общего возведения в степень, так и для инверсии элемента. Самый простой способ возвести элемент в квадрат в полиномиальном базисе - это дважды применить выбранный алгоритм умножения к элементу. В общем случае можно сделать небольшие оптимизации, в частности, связанные с тем, что при умножении элемента на себя все биты будут одинаковыми. На практике, однако, неприводимый полином для поля выбирается с очень небольшим количеством ненулевых коэффициентов, что делает возведение в квадрат в полиномиальном базисе GF (2 m ) намного проще, чем умножение. [2]

Инверсия [ править ]

Инверсию элементов можно выполнить разными способами, в том числе:

  • Таблицы подстановки - опять же, только для небольших полей, иначе таблица будет слишком большой для реализации
  • Инверсия подполей - путем решения систем уравнений в подполях
  • Повторное возведение в квадрат и умножение - например, в GF (2 м ), A −1 = A 2 м −2
  • Расширенная алгоритм Евклида
  • Алгоритм инверсии Ито-Tsujii

Использование [ править ]

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

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

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

  1. ^ Роман, Стивен (1995). Теория поля . Нью-Йорк: Springer-Verlag. ISBN 0-387-94407-9. CS1 maint: discouraged parameter (link)
  2. ^ Huapeng, Wu (2001). «О сложности возведения в квадрат полиномиального базиса в F (2 m )». Отдельные районы в криптографии: 7 - й ежегодного Международного Workshop, САК 2000, Ватерлоо, Онтарио, Канада, 14-15 августа 2000 года . Springer. п. 118.

См. Также [ править ]

  • Нормальная основа
  • Двойная основа
  • Смена основы