stringtranslate.com

Примитивный многочлен (теория поля)

В теории конечных полей , разделе математики , примитивный многочлен — это минимальный многочлен примитивного элемента конечного поля GF ( p m ) . Это означает, что многочлен F ( X ) степени m с коэффициентами в GF( p ) = Z / p Z является примитивным многочленом , если он является моническим и имеет корень α в GF( p m ) такой, что — все поле GF( p m ) . Это означает, что α является примитивным ( p m − 1 )-корнем единицы в GF( p m ) .

Характеристики

Примеры

Над GF(3) многочлен x 2 + 1 неприводим, но не примитивен, поскольку делит x 4 − 1 : его корни порождают циклическую группу порядка 4, в то время как мультипликативная группа GF(3 2 ) является циклической группой порядка 8. Многочлен x 2 + 2 x + 2 , с другой стороны, примитивен. Обозначим один из его корней через α . Тогда, поскольку натуральные числа, меньшие и взаимно простые с 3 2 − 1 = 8, равны 1, 3, 5 и 7, четыре примитивных корня в GF(3 2 ) равны α , α 3 = 2 α + 1 , α 5 = 2 α и α 7 = α + 2 . Первообразные корни α и α 3 алгебраически сопряжены. Действительно, x 2 + 2 x + 2 = ( xα ) ( x − (2 α + 1)) . Оставшиеся примитивные корни α 5 и α 7 = ( α 5 ) 3 также алгебраически сопряжены и дают второй примитивный многочлен: x 2 + x + 2 = ( x − 2 α ) ( x − ( α + 2)) .

Для степени 3 GF(3 3 ) имеет φ (3 3 − 1) = φ (26) = 12 примитивных элементов. Поскольку каждый примитивный многочлен степени 3 имеет три корня, все обязательно примитивные, имеется 12 / 3 = 4 примитивных многочлена степени 3. Один примитивный многочлен равен x 3 + 2 x + 1 . Обозначив один из его корней через γ , алгебраически сопряженными элементами будут γ 3 и γ 9 . Другие примитивные многочлены связаны с алгебраически сопряженными множествами, построенными на других примитивных элементах γ r , где r взаимно просто с 26:

Приложения

Представление элемента поля

Примитивные многочлены могут быть использованы для представления элементов конечного поля . Если α в GF( p m ) является корнем примитивного многочлена F ( x ), то ненулевые элементы GF( p m ) представляются как последовательные степени α :

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

Генерация псевдослучайных битов

Примитивные полиномы над GF(2), полем с двумя элементами, могут быть использованы для псевдослучайной генерации бит . Фактически, каждый регистр сдвига с линейной обратной связью с максимальной длиной цикла (которая равна 2 n − 1 , где n — длина регистра сдвига с линейной обратной связью) может быть построен из примитивного полинома. [2]

В общем случае для примитивного многочлена степени m над GF(2) этот процесс сгенерирует 2 m − 1 псевдослучайных битов перед повторением той же последовательности.

CRC-коды

Циклический избыточный код (CRC) — это код обнаружения ошибок, который работает, интерпретируя битовую строку сообщения как коэффициенты полинома над GF(2) и делит ее на фиксированный генераторный полином также над GF(2); см. Математика CRC . Примитивные полиномы или их кратные иногда являются хорошим выбором для генераторных полиномов, поскольку они могут надежно обнаруживать две битовые ошибки, которые происходят далеко друг от друга в битовой строке сообщения, вплоть до расстояния 2 n − 1 для примитивного полинома степени n .

Примитивные трехчлены

Полезным классом примитивных многочленов являются примитивные трехчлены, имеющие только три ненулевых члена: x r + x k + 1. Их простота позволяет создавать особенно маленькие и быстрые линейные регистры сдвига с обратной связью . [3] Ряд результатов дает методы для поиска и проверки примитивности трехчленов. [4]

Для многочленов над GF(2), где 2 r − 1 является простым числом Мерсенна , многочлен степени r является примитивным тогда и только тогда, когда он неприводим. (Для неприводимого многочлена он не является примитивным, только если период x является нетривиальным множителем 2 r − 1. Простые числа не имеют нетривиальных множителей.) Хотя генератор псевдослучайных чисел Mersenne Twister не использует трехчлен, он использует это преимущество.

Ричард Брент табулировал примитивные трехчлены этой формы, такие как x 74207281 + x 30684570 + 1 . [5] [6] Это можно использовать для создания генератора псевдослучайных чисел огромного периода 2 74207281 − 13 × 10 22 338 617 .

Ссылки

  1. ^ Перечисления примитивных многочленов по степеням над GF(2) , GF(3) , GF(5) , GF(7) и GF(11) задаются последовательностями A011260, A027385, A027741, A027743 и A319166 в Онлайн-энциклопедии целочисленных последовательностей .
  2. ^ C. Paar, J. Pelzl - Понимание криптографии: Учебник для студентов и практиков
  3. ^ Джентл, Джеймс Э. (2003). Генерация случайных чисел и методы Монте-Карло (2-е изд.). Нью-Йорк: Springer. С. 39. ISBN 0-387-00178-6. OCLC  51534945.
  4. ^ Zierler, Neal; Brillhart, John (декабрь 1968). "On primitive trinomials (Mod 2)". Information and Control . 13 (6): 541, 548, 553. doi :10.1016/S0019-9958(68)90973-X.
  5. ^ Брент, Ричард П. (4 апреля 2016 г.). "Поиск примитивных трехчленов (mod 2)" . Получено 25 мая 2024 г.
  6. ^ Брент, Ричард П.; Циммерман , Пол (24 мая 2016 г.). «Двенадцать новых примитивных двоичных трехчленов». arXiv : 1605.09213 [math.NT].

Внешние ссылки