Неприводимые многочлены в конечном поле K

В этом разделе мы научимся определять для заданного многочлена Неприводимые многочлены в конечном поле K - student2.ru с коэффициентами из конечного поля P={0, 1, 2, ... q - 1}, является ли этот многочлен неприводимым в поле P. Неприводимые многочлены используются для построения линейных сдвиговых регистров с обратной связью (см. раздел 3.1.6). Наш алгоритм основывается на следующей теореме.

Теорема. Пусть F – конечное поле, состоящее из q элементов. Тогда для любого натурального Неприводимые многочлены в конечном поле K - student2.ru многочлен Неприводимые многочлены в конечном поле K - student2.ru является произведением всех неприводимых над полем F многочленов степени k.

Из этой теоремы сразу следует, что для произвольного многочлена Неприводимые многочлены в конечном поле K - student2.ru Неприводимые многочлены в конечном поле K - student2.ru является произведением всех линейных сомножителей Неприводимые многочлены в конечном поле K - student2.ru , Неприводимые многочлены в конечном поле K - student2.ru является произведением всех квадратичных сомножителей Неприводимые многочлены в конечном поле K - student2.ru и т.д. Поэтому, если Неприводимые многочлены в конечном поле K - student2.ru =1 для Неприводимые многочлены в конечном поле K - student2.ru , то Неприводимые многочлены в конечном поле K - student2.ru является неприводимым многочленом. Наибольший общий делитель двух многочленов находят с помощью алгоритма Евклида, используя соотношение Неприводимые многочлены в конечном поле K - student2.ru , где Неприводимые многочлены в конечном поле K - student2.ru - остаток от деления Неприводимые многочлены в конечном поле K - student2.ru на Неприводимые многочлены в конечном поле K - student2.ru .

Упомянутый тест на неприводимость можно заменить более быстрым альтернативным тестом: многочлен Неприводимые многочлены в конечном поле K - student2.ru над полем F= Неприводимые многочлены в конечном поле K - student2.ru является неприводимым тогда и только тогда, когда Неприводимые многочлены в конечном поле K - student2.ru , и Неприводимые многочлены в конечном поле K - student2.ru для всех простых делителей k степени n.

Пример. Показать неразложимость многочлена Неприводимые многочлены в конечном поле K - student2.ru над полем F2={0,1}.

В данном случае, n=3, q=2. Для вычисления Неприводимые многочлены в конечном поле K - student2.ru поделим столбиком Неприводимые многочлены в конечном поле K - student2.ru на Неприводимые многочлены в конечном поле K - student2.ru и найдем остаток: Неприводимые многочлены в конечном поле K - student2.ru . Остаток равен x. Простым делителям числа n=3 являются только k=1, поэтому остается только проверить, что Неприводимые многочлены в конечном поле K - student2.ru . Для этого делим первый многочлен на второй и находим остаток Неприводимые многочлены в конечном поле K - student2.ru . Теперь по алгоритму Евклида Неприводимые многочлены в конечном поле K - student2.ru .

14. ρ-метод Полларда для дискретного логарифмирования — алгоритм дискретного логарифмирования в кольце вычетов по простому модулю, имеющий экспоненциальную сложность. Он был предложен Поллардом в 1978 году.

Постановка задачи

Для заданного простого числа p и двух целых чисел a и b требуется найти целое число x, удовлетворяющее сравнению: Неприводимые многочлены в конечном поле K - student2.ru

Идея алгоритма

Рассматриваются три числовые последовательности: Неприводимые многочлены в конечном поле K - student2.ru

определённые следующим образом: Неприводимые многочлены в конечном поле K - student2.ru
Неприводимые многочлены в конечном поле K - student2.ru

Неприводимые многочлены в конечном поле K - student2.ru
Неприводимые многочлены в конечном поле K - student2.ru

Замечание: везде рассматривается наименьшие неотрицательные вычеты.

Далее рассматриваются наборы Неприводимые многочлены в конечном поле K - student2.ru и ищется номер i, для которого Неприводимые многочлены в конечном поле K - student2.ru . Для такого i выполнено Неприводимые многочлены в конечном поле K - student2.ru

Если при этом Неприводимые многочлены в конечном поле K - student2.ru , то Неприводимые многочлены в конечном поле K - student2.ru

Эвристическая оценка сложности составляет Неприводимые многочлены в конечном поле K - student2.ru

15. Методы факторизации целых чисел. (ρ-1) – метод Полларда.

Факторизацией целого числа называется его разложение в

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

теореме арифметики, всегда существует и является единственным (с

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

Все методы факторизации в зависимости от их производительности можно разбить на две группы: экспоненциальные методы и субэкспоненциальные методы. Среди субэкспоненциальных алгоритмов следует выделить метод эллиптических кривых Ленстры, являющийся аналогом (ρ − 1)-метода Полларда. Последний имеет экспоненциальную оценку сходимости.

(ρ -1) – метод Полларда основан на Теореме Ферма:

Пусть n—факторизуемое число, а 1 < p < n– его простой делитель. Согласно теореме, для любого a, 1 ≤ a < p, выполняется условие ap−1 ≡ 1( mod p), если р – простое.

n = p*q, где p,q – нечётные простые числа =>

для любого а<p: ap-1 mod p = 1, aq-1 mod q = 1 =>

ap-1 = k*p, а (p-1) – чётное число.

НОД(ap-1-1,n) = p.

Предположим: p-1 = 2r^1 * 3r^2 *…*Br^t. Пусть B<B1 – грань для множества (p-1).

Вычисляем M(B1) = ∏ pir^i, pir^i < B1.

Выберем произвольное число a, например 2, и вычислим aM mod n.

Если НОД(n, aM−1) = d, 1<d<n, то задание выполнено.

Вторая стадия (ρ -1) – алгоритма Полларда.

Вторая стадия алгоритма предполагает, что существует только один

простой множитель q числа p − 1, значение которого больше границы B1 .

Выбираем новую границу B2 ~ B12.

Обозначим через b число aM(B1) mod n, вычисленное на первой стадии работы алгоритма.

Выпишем последовательность q0 < q1 < ... < qs всех простых чисел на интервале [B1; B2] . Если искомый множитель p−1 равен qi , то для нахождения делителя n, необходимо вычислить cо = b mod n, и найти d=НОД(n, со − 1). Если d = 1, то вычислим следующее ci. Каждое последующее значение ci+1 вычисляется по формуле bqi+1 mod n = bqi+δi mod n = bqi · bδi mod n = ci · bδi mod n, где δi = qi+1 − qi.

Наши рекомендации