Семинар№4 Вопросы: Группа, кольцо, поле. Порождающие элементы, примитивные полиномы

advertisement
Семинар№4
Вопросы:
Группа, кольцо, поле. Порождающие элементы, примитивные полиномы
Расширенный алгоритм Эвклида, обратный элемент.
Операции в группах полях и кольцах.
Китайская теорема об остатках.
Функции Эйлера, Ферма.
Функция F(a) называется мультипликативной если она удовлетворяет двум следующим
условиям:
1. эта функция определена для всех целых положительных a и не равна нулю по
меньшей мере при одном таком a.
2. Для любых положительных взаимно простых a1 и a2 имеем:
F(a1 a2)=F(a1)F(a2)
Группой называется набор чисел с определенными на данном наборе ,бинарными
операциями. Элементы группы обладают следующими свойствами:
1. Включения – если A B елементы группы то при AB=C где C – тоже элемент
группы
2. Ассоциативность умножения – для любых ABC  G, (AB)C=A(BC)
3. В группе есть единичный элемент – (E) любой элемент группы A=AE
4. Все элементы группы имеют обратный элемент он определяется как AA-1=E
Кольцом называется набор чисел содержащий единицу с определенными на данном
наборе двумя ассоциативными операциями сложения и умножения. Операции сложения
и умножения должны связаны следующими законами:
1) (a  b)c  ab  bc И (a  b)c  ab  bc ).
2) (a  b)  c  a  (b  c )
3) a+b=b+a
4)0+a=a+0
5) a +(-a)=(-a)+a=0
6) (a*b)*c=a*(b*c)
Пример: Кольцо всех целых натуральных чисел  N , +,  , 1 
Полем
называется
набор
чисел
с
определенными
на
данном
наборе
мультипликативными операциями:
Сложения: пусть a, b  GF(P) a + b = r, где r – остаток после деления результата
сложения на заданную размерность поля. Например, для простого поля Галуа GF(p) p –
простое число определяющее размерность поля, само поле состоит из элементов
{0,1,2,..., p1}, Так же эта операция называется сложением по модулю P (mod Р).;
Умножения: пусть a, b  GF(P), то ab = s, где s - остаток от деления ab на P. s  [0, Р1].Так же эта операция называется умножением по модулю P (mod Р).
Первичный элемент (генератор поля): пусть GF(P)* поле содержащее все ненулевые
элементы поля GF(P) в поле GF(P) существует хотя бы один такой элемент g что любой
элемент поля GF(P)* может быть вычислен как степень числа g. Таким образом GF(P)* =
{gi : 0  i  Р 2}.
Мультипликативная инверсия a = gi  GF(P)* , де 0  i  Р  2 :a-1 = gР-1-i
Пример:
Конечное поле GF(2).
GF(2) = {0, 1}. Таблицы сложения и умножения
+ 0
1
1
 0
0 0
1
0 0
0
1 1
0
1 0
1
Поле GF(2m), полиномиальный базис поля.
Пусть f(x)= xm+ fm-1xm-1+ …+ f2x2+ f1x+ f0 (де fi  GF(2) для i = 0, ..., m-1) – полином
степени m неприводимый над полем GF(2m), то есть f(x) не может быть представлен как
результат умножения двух и более полиномов над полем GF(2) степени которых меньше
чем m – такой полином называют примитивным.
Пример: поле GF(22) содержит следующие элементы {00, 01, 10, 11}
Алгоритм Эвклида: нахождение наибольшего общего делителя.
Пусть a и b положительные целые числа и a>b существует теорема согласно которой
какие бы ни были целые числа всегда существует пара чисел q и r такая что a=qb+r,
0<r<b
a = bq0 + r1, 0  r1 < b
Согласно этой же теореме если b не делится на r
b = r1q1 + r2, 0 < r2 < r1
Если r1 не делится на r2 то
r1 = r2 q 2 + r3 , 0 < r3 < r2
Этот процесс не может продолжатся бесконечно так как это противоречит принципу
наименьшего числа (в ряде целых чисел меньше b не может быть больше чем b
слагаемых). Следовательно существует такое n при котором rn-1 делится на rn и этот
процесс заканчивается на шаге n+1. В результате получаем систему сравнений
a = bq0 + r1,
b = r1q1 + r2,
...........
(2)
rn2 = rn1qn1 + rn,
rn1 = rnqn.
Рассматривая эти уравнения сверху вниз множество общих делителей a и b
совпадает с множествами делителей пар чисел b и r1,
r1 и r2, r2 и r3 и т.д. Тогда
справедливо отношение (a, b) = (b, r1) = (r1, r2) = . . . = (rn1, rn) = rn.
Пример: (525, 231)
525231
4622
231 63
 r1
1893
63 42  r2
42 1
4221
 r3
422
0
r3 = 21 (525, 231) = 21
Расширенный алгоритм Эвклида (нахождение обратного элемента)
Нахождение обратного элемента сводится к задаче решения Диафантова уравнения
ax + by = 1 , при этом (а, b)=1 иначе обратный элемент отсутствует по определению
кольца, где b размерность кольца. Обратным элементом будет значение x.
Формулы для ri могут быть переписаны следующим образом:
r1 = a + b( - q0)
r2 = b - r1q1 = a( - q1) + b(1 + q1q2)
(a,b) = rn = as + bt
здесь s и t целые. Это представление наибольшего общего делителя называется
соотношением Безу, а числа s и t — коэффициентами Безу.
Китайская теорема об остатках: любое не отрицательное число которое не превышает
каждого из множителей модуля можно однозначно восстановить если известны его
остатки по этим модулям.
Доказательство: Пусть числа M s и M s определены согласно m1m2    mk = Msms,
причем M s M s  1(mod ms), s = 1, 2, . . . , k и целые числа m1 , m2 , . . . , mk  попарно
взаимнопростые, то есть ( mi , m j )  1, i , j  1, 2, . . . , k
Пусть b1, b2, . . . , bk тоже целые числа такие что 0  bi  mi , i  1, 2, . . . , k
Тогда система сравнений:
x  b1(mod m1),
x  b2(mod m2),
(1)
...........
x  bk(mod mk)


Имеет в интервале 0, M  1 где M = m1m2    mk одно общее решение
x 0  M 1 M 1  b1  M 2 M 2  b2  ...  M k M k  bk
(2)
Если числа M s и M s определены из условий m1m2    mk = Msms, причем M s M s 
1(mod ms), s = 1, 2, . . . , k и целые числа m1 , m2 , . . . , mk  попарно взаимнопростые, то
есть ( mi , m j )  1, i , j  1, 2, . . . , k то совокупность значений x которые удовлетворяют
x  x 0 (mod m1 m2    mk )
где
x 0  M 1 M 1  b1  + M 2 M 2  b2  ...  M k M k  bk ), х – в виде уравнения (2)
систему
(1)
определяется
сравнением
удовлетворяет систему (1). Согласно другой теореме – если b1, b2, . . . , bk независимо
друг от друга пробегают полную систему остатков по модулям m1  m2    mk . Число
x0 может принять значение одного из остатков по модулю M = m1m2    mk., т.е.
x 0  M  1.


Докажем что для x0 из интервала 0, M  1 для разных наборов целых чисел b1, b2, . . . ,
bk таких что 0  bi  mi , i  1, 2, . . . , k , общее решение (2) является единственным.
Доказательство будет вестись от обратного допустим что существует еще один набор
b1 , b2 , . . . , bk
x 0  x 0 ,
чисел
таких,
что
x   M 1 M 1  b1  M 2 M 2  b2  ...  M k M k  bk
Пускай для конкретности эти
наборы отличаются числами что стоят на s-позиции т.е. bs  bs . Но тогда мы приходим к
тому что справедливы сравнения x 0  b(mod ms ) и x 0  b  (mod ms ) так как по
условию теоремы при всех i  s выходит ms \ M i . Поэтому из равенства чисел вытекает
справедливость сравнения bs  bs (mod ms ) . При условии 0  bs  ms это значит
bs  bs а это противоречит начальному условию. Следовательно решение (1)
единственно.
Функция Эйлера
Определение: φ(a) определяется для всех целых положительных a и представляет собой
число (количество) чисел ряда:
0,1, …. a-1
взаимно простых с a.
ak
a1 a2
p
p
......
p
Пусть a= 1
2
k
- каноническое разложение числа a. Тогда
φ(a)= a(1-1/p1)(1-1/p2)…(1-1/pk)
Пример: φ(1)=1, φ(2)=1, φ(3)=2, φ(6)=2, φ(5)=4
Малая теорема Ферма
Если p простое число a – натуральное число тогда
ap≡a(mod p)
следовательно если p не делится на a тогда можно найти некоторую малую экспоненту d
такую что
ad-1≡0(mod p)
и d делит p-1 следовательно
ap-1-1≡0(mod p)
Построение простых чисел
Все методы построения простых чисел можно разделить на 3 класса:
1) аналитические
2) "псевдопростые"
3) гипотетические (на основе гипотез)
К аналитическим относятся методы, на основе которых можно построить строго
простое число.
Метод пробного деления
Проверяемое m делится последовательно на все простые числа меньше
mi 
 m
m.
(3)
Если m не делится на все m i , то оно простое, т.е.:
m=p
np 
 m
ln
 m
Этот метод рекомендуется для коротких длин,
Простые числа должны заканчиваться 1, 3, 7, 9.
(4)
или как дополнительный метод.
Числа Эйлера
m  2K 1
Где k-простое, простыми являются 2,3,5,7,11,13,17,19,31,107,127,607,…19997 и т.д.
n
22  1,
n  0,1,3,4
для таких n- простое.
Теорема Люка
Для числа m, для которого известно каноническое разложение m-1 справедлива
теорема Люка:
Если для (а, m)
a m1  1(mod m) , то m-простое.
m 1
a  i  1(mod m)
m  1   1x1  2x2 ......
Первый метод базируется на теореме Ферма.
a m 1  1(mod m)
(a m1 )  0(mod m)
 m21
 m21

a
 a
  0(mod m)

1

1






Тест Лемана
a
1)
m 1
2
 1(mod m)
a
m1
m-1
2
 1(mod m)
(5)
 1(mod m) генерируется t-чисел а,
Если а – первообразный элемент, то a
взаимопростых с m, затем для каждого а осуществляется проверка.
2) Если на всех t – проверках одно из условий выполняется, то число m можно считать
псевдопростым, это число с вероятностью PC  2
t
того, что число не простое.
Примитивные полиномы табулированы и известны все до 2000 степени.
Тест Соловея – Штрассена.
Базируется на t – испытаниях, генерируется t – раз.
1)
(a i , m) ,
причем 1  ai  m  1 ,
a i генерируется t –раз.
2) проверяется НСД, (ai , m)  1 , то число составное.
3) находится символ Якоби
m1
Р=7
а=3
a
 a1 2 (mod m) - число составное
m
am  1
 m  1(1)
2
1 2 41 2 4 1
i |01 2 3 4 5 6
ai | 1 3 2 6 4 5 1
(6)
Справедливо (5).
Тест Рабина - Миллера
Пусть m – нечетное, простое, представим:
m  1  2S t
(7)
m, s - нечет
a t , a 2t , a 4t ,...a 2
S
t
(9)
С учетом (7) следует:
S
a 2 t  1(mod n)
(8)
В ряде (9) каждый предыдущий элемент есть корень из последующего элемента.
a i - элементы поля,
может следовать -1, или
S
a 2 t  1,
1  1 , то ряд (9) состоит из единиц, перед которыми
a t  1(mod m)
(10)
jt
a  1(mod m)
или для всех 0  j  s
Число m, которое удовлетворяет хотя бы одному условию, называется сильным
псевдопростым в смысле Рабинера – Миллера.
Если проводить t– испытаний, то вероятность того, что в каждом испытании не будет
обнаружено простое число не превышает ¼.
На t –испытаниях
2
t
1
PC     2  2t
4
Сравнивая с (5) видим, что сходимость теста Рабинера – Миллера намного выше.
Алгоритм проверки
1. 1  ai  m  1
2. НСД (a i , m) 1 m – составное
3.
y 0  a it (mod m)
4. если y 0  t (mod m)
m – возможно простое
(mod m) до тех пор пока y j  1(mod m)
6. если y j  1(mod m) , то m – составное
5.
yj  y
2
j 1
если y j  1(mod m) , m – возможно простое
PC1  1 / 4
Проводим t1 – экспериментов, после этого подтверждаем (11).
PC  2 2t1
Список использованной литературы:
Эвклид. «Начала» книга VII
Виноградов „Теория чисел”
(11)
Download