Вход: Пары
Выход: х – единственное наименьшее неотрицательное решение системы по модулю
1. Инициализация. Р:=1; х:=МОД(
2. Цикл для i от 1 до n – 1:
q:=МОД(
3. х:= х + pq, где MOДINV – подпрограмма вычисления мультипликативного обратного элемента.
4. q:=МОД(
5. Вернуть х.
Несложный анализ времени работы данного алгоритма показывает, что
где
Вернёмся теперь к вопросу о мультипликативных обратных элементах в фактор-кольце Zp.
Теорема. Пусть
Теорема. Характеристика λ конечного поля – простое число.
Рассмотрим два способа вычисления обратных мультипликативных элементов. Первый способ основан на рассмотренном выше алгоритме Евклида, второй – на теореме Эйлера.
Первый способ. Из условия (а, р) = 1 получаем ах + ру = 1 или
Второй способ. Предварительно напомним теорему Эйлера:
(а, р) = 1
Малая теорема Ферма. Если р – простое число и а – произвольное целое число, не делящееся на р, то
Следствие. В кольце Zp классов вычетов по модулю р из
Таким образом, для вычисления мультипликативного обратного к классу
Ясно, что при таком методе вычисления мультипликативного обратного элемента задача сводится к цепочке умножений и делений с остатком на модуль р. Эта задача решается без особых трудностей, если наименьший положительный вычет
Из китайской теореме об остатках следует следующее
Утверждение. Пусть
Таким образом,
т. е. кольцо классов вычетов по модулю р раскладывается в прямое произведение колец классов вычетов по модулям
Можно сделать вывод о том, что произвольное целое положительное число А, 0 < A < P, где
Как следует из китайской теоремы об остатках, можно использовать любой соответствующий интервал
§ 5. Числа Мерсенна, Ферма и операции над ними
При рассмотрении отдельных классов простых чисел значительный интерес представляет вопрос о простых числах вида
Например, при р = 2, 3, 5, 7, 13, 17, 19 мы получаем простые числа Мерсенна: 3, 7, 31, 127, 8191, 131071, а при р = 11, 23, 29 числа
Числа вида
Необходимо отметить, что значения чисел Мерсенна и Ферма быстро растут. Это не позволяет использовать лишь их в качестве модуле СОК.
При работе же на двоичных компьютерах, иногда желательно выбирать модули