- •Алгоритм Евклида. Получение рае. Решето Эратосфена.
- •Вычисление нод и нок на основе канонического разложения числа.
- •Тестирование чисел Мерена
- •4. Функция Эйлера
- •Теоремы ферма и Эйлера, их разложение к задаче вычисления степени числа по модулю.
- •Сравнение, свойства сравнений.
- •9. Квадратичные вычеты
- •Полугруппы, моноид, группы, кольцо
- •Поле, конечное поле, расширение конечного поля.
- •Способы нахождения обратных элементов
- •III. Использование расширенного алгоритма Евклида.
- •Первообразные корни
- •15. Сравнение с одним неизвестным
- •16. Китайская теорема об остатках
- •17. Числа Кармайкла
Тестирование чисел Мерена
Числами Мерсенна называются числа вида М(p) = 2p - 1, pN.
Задача для чисел Мерсенна - поиск в ряду этих чисел простых.
Мерсенн рассматривал значения функции 2p - 1 только при простых p.
Действительно, если p - составное, то такое же и М(p). Предположим, что
p=r*s, 1 < r и s < p, тогда
М(p)=2p-1=2rs -1=(2r -l)(2r(s-1) +2r(s-2) +...+2r +1).
Следовательно, если r делит p, то и М(r) делит М(p).
В то же время, если p - простое, то М(p) не обязательно является простым.
Например, для простого числа p = 11 число Мерсенна М(p)=211−1=2047=23×89 получается составным.
При доказательстве простоты чисел Мерсена Ферма использовал метод разложения на множители. Более эффективен тест Люка-Лемера.
Тест Люка - Лемера
Тест создает последовательность натуральных чисел: S0, S1, S2, ..., Sp-2, определяемую рекуррентной формулой Sk+1 = Sk2 - 2, где S0 = 4. Пусть р – простое число. Число Мерсена является простым тогда и только тогда, когда Sp-2 mod M(p) ≡ 0, т.е. остаток равен 0.
Поясним,
каким образом задается ряд Sk.
Члены последовательности можно записать
в виде сумм степеней некоторых
иррациональных чисел. Пусть
=
2 +√3 и
=2 +√3 .
Докажем индукцией по n, что
2^n
+
2^n=Sn.
Очевидно, + =S0. Предположим, что 2^(n-1) + 2^(n-1)=Sn-1.
Возводя
в квадрат обе части равенства, получаем
2^n
+2(
)2^(n-1)+
2^n=S2n-1.
Поскольку
=1,то следует соотношение
2^n
+
2^n=S2n-1-2,
что, по определению, дает Sn.
Описание алгоритма.
1. Ввод p. Если p < 3, то выход (не удовлетворяет условиям алгоритма).
2.Вычисление M(p) = 2p-1
3. Установить S = 4.
4. Для i = 1…p-2 вычислить S = (S2 mod M(p)) - 2
5. Если S mod (M(p)-1)0, то M(p) является простым, иначе составным.
4. Функция Эйлера
Эйлер установил такую закономерность, что существует определенная формула, по которой можно вычислить число взаимно простых чисел. Эта формула определяется на основе разложения числа m=p1a1*…*pkak. Функция Эйлера устанавливает число взаимно простых чисел с заданным числом m.
Формулы для вычисления:
(m)=m(1-1/p1)(1-1/p2)(1-1/pi)
(m)=(p11-p11-1)(p22-p22-1)…(pkk-pkk-1)
где pi-числа, на которые мы делим, i-их степени
Классическое приложение этой функции такое: Заданно некоторое натуральное число a и заданно некоторое число m, пусть m-составное, натуральное, положительное. Если эти два числа взаимно просты, тогда для этой пары чисел справедлива следующая теорема (теорема Эйлера):
a(m)mod m = 1.
Берем число a, возводим в (m) , берем модуль от a(m): т.е. остаток будет равен всегда единице.
Частный
случай: m-
простое(p),
то: ap-1modp
1
Мультипликативная функция
Имеем два натуральных числа a и b, если они взаимно просты, то мультипликативная функция устанавливает число взаимно простых чисел, для произведение двух взаимно простых чисел по формуле:(a*b)=(a)* (b) т.е. при больших a и b, эта формула позволяет уменьшить выч. сложность. Но если числа a и b не взаимно простые, то вычисления проводятся по обычной формуле.
Функция Мебиуса
Функция Мебиуса μ(n) служит характеристикой канонического разложения. Характеристики канонического разложения: кратность, четность, нечетность. μ(n) определена для всех положительных натуральных чисел n и принимает значения {-1, 0, 1} в зависимости от характера разложения числа n на простые сомножители:
μ(n) = 1 если n не делится на квадрат простого числа и разложение n на простые множители состоит из чётного числа сомножителей;
μ(n) = −1 если n не делится на квадрат простого числа и разложение n на простые множители состоит из нечётного числа сомножителей;
μ(n) = 0 если n делится на квадрат простого числа.
Принято считать что μ(1) = 1.
На основе Функции Мебиуса можно найти Функцию Эйлера: (m)=((m/di)μ(d))
Задано число m. 1) находим все делители di/m 2) находим числа m/di
3) μ(di) - находим функцию Мебиуса для каждого значения
делителя. В конце мы и получаем значение функции Эйлера.
Числовая функция [a]
Это функция устанавливающая целую часть от нек. рационального числа. Может быть как положительное, так и отрицательное число. [3,5]=3. Пример приложения этой функции в криптографии: разложение факториалов на простые сомножители чисел.
Пример: 1000!= p1*p2*...*pl. Мы не раскладывая факториал, можем проверить все сомножители. Допустим сколько раз сомножитель 3 входит в 1000! 1000/3+1000/9=498 раз
