- •1.Симметричные
- •2.Асимметричные
- •Асимметричноешифрование.
- •Алгоритмпередачисекретногоключапооткрытомуканалу
- •Лекция№2 Элементытеориичисел
- •АлгоритмЕвклида
- •Лекция№3
- •1)ПлотностьпоявленияпростыхчиселназаданноминтервалепадаетсувеличениемN.
- •Лекция№4 Получениепростыхчисел.
- •1)Самыйдревнийспособполученияпростыхчисел,какмыужезнаем,-
- •РешетоЭратосфена
- •7.Б.Увеличитьсчетчикpна2.Перейтикпункту7.
- •ПроверкапростотычиселМерсенна
- •ТестЛюка-Лемера
- •Лекция5
- •Разложениечиселна2простыхсомножителя
- •АлгоритмБухштаба
- •АлгоритмФерма
- •Лекция№6 Числовыефункции
- •ФункцияЭйлера
- •Мультипликативнаяфункция
- •ФункцияМебиуса
- •0,Еслиdделитсянаквадратнекоторогоростогочисла.
- •1)Находимвседелителиdi|m
- •Числоваяфункция
- •2.ВозведениенатуральныхчиселпомодулювбольшиестепенипосхемеГорнера
- •Лекция8 Сравнимостьпомодулю.Модулярнаяарифметика
- •Свойстваоперацийсравнения
- •Лекция9 Модулярнаяарифметика(продолжение)КвадратичныевычетыСтепенныевычеты
- •Лекция10 Общаяалгебра
- •1)Замкнутость;
- •1)Замкнутость:длялюбыхαиβизSэлементпринадлежитS,где(*)-
- •Лекция11 Конечныеполя
- •Характеристикаполя
- •Вычислениеобратныхэлементов
- •11.Какиематематическиеоперациииспользуютсявалгоритмах? лекция12 Многочленынадконечнымполем
- •ПримитивныеполиномынадполемGf(p)
- •Алrебраическиеструктурынадмножествоммногочленов КольцомногочленовнадполемGf(p)
- •Корнимногочлена
- •Лекция13 Расширениеполей
- •Лекция14 Дополнительныйматериализраздела Теориячисел
- •1.Уравнениясравнений
- •1)Имеется1решение
- •2)Неимеетсярешений
- •2.Китайскаятеоремаобостатках
- •3.Тестированиечиселнапростоту Псевдопростыечисла
- •ТестЛюка
- •4.ЧислаКармайкла
- •5.ПолучениепростыхчиселдляалгоритмаRsa Процедураполученияустойчивыхпростыхчисел
- •Лекция15
- •1.Генераторыпсевдослучайныхпоследовательностей
- •2.ГпсПнаосновепроизведениямногочленов
- •Произведениямногочленов
- •Лекцич16 СпособыпредставленияэлементовполяGf(2n)
- •АрифметическиеоперациинадэлементамиполяGf(2n), заданнымивстандартномбазисе
- •Классическаясхемаумножения
- •МатематическаямодельалгоритмаRijndael
- •РаундпреобразованияалгоритмаRijndael
- •4.КакиешагисодержитраундшифрованияалгоритмаRijndael?
- •Перечень темпопрактическимзанятиям
- •Списоклитературы
Корнимногочлена
ЭлементаизполяFназываетсякорнеммногочленаf(x)нада,если
f(a)=0.
ЭлементаFявляетсякорнемнулевогомногочленаf(x)надFтогдаитолькотогда,когдамногочлен(х-а)являетсяделителемf(x).Еслиf(x)имеетстепеньп,точислоэлементовполяF,являющихсякорнямиf(x),непревосходитn[2].
Еслиf(x)-неприводимыймногочленстепениn≥2надF,тооннеимееткорнейвF[2].
Лекция13 Расширениеполей
Рассмотрим,каковасвязьполейGF(p)иGF(pn).
ПустьF-поле.ПодмножествоКполяР,котороесамоявляетсяполемотносительнооперацийполяР,называетсяподполем.ВэтомслучаеFназываетсярасширениемполяК.ЕслиK≠F,тоК-собственноеподполе.
Пример.ПолесмножествомRдействительныхчиселявляетсярасширениемполясмножествомрациональныхчисел.
ПолеGF(pn)содержитединственноеподполе,числоэлементоввкоторомпростоеипоэтомуможетрассматриватьсякакрасширениеполяGF(p)[2].
ПолеGF(p)неимеетсобственныхподполей.Такиеполяназываются
простыми.
Теорема.(осуществованиииединственностиконечныхполей)[11].ДлякаждогопростогочислаqикаждогонатуральногочислаnсуществуетконечноеполеGF(qn)изqnэлементов.
ПолеGF(qn)являетсярасширениемполяGF(q).qnназываетсяпорядком
поляGF(qn),натуральноечислоn-степеньюполя,апростоечислоq-
характеристикойполяGF(qn).
КаждоеподполеGF(qm)поляGF(qn)имеетпорядокqm,гдеm|nиm>0.Иобратно-еслиm|nиm>0,тодляполяGF(qn)существуеттолькоодноподполеGF(qm)изqmэлементов.
Пример.ПодполяконечногополяGF(230)можнонайти,вычисливвсе
положительныеделителичисла30:1,2,3,5,6,10,15.Представимвзаимосвязиподполейввидеследующегорис.2.3.
GF(230)
GF(26)
GF(22)
GF(210) GF(2)
15
GF(23)GF(25)
GF(2)
Рис.2.3.ВзаимосвязиподполейполяGF(230)
ЭлементамиконечногополяGF(qn)(поляполиномов),числокоторыхравноqn,
являютсявсеполиномы(многочлены)вида
f(x)=αn−1xn−1+...+α1x+α0
-cкоэффициентамиαiGF(q),
-состепенямиот0доn-1(i0,n1),
-состепеньюdeg(f(x))=n-1.
Данныеполиномыf(x)называютсяполиномаминадполемGF(q).
Для проверкипримитивностиполинома f(x) над полем GF(qn)
достаточноубедиться,чтовыполняютсяусловия:
qn
1)x
1xmod
f(x);
2)x
qn1
pi
xmod
f(x)
дляi0,k1,
k1
i
гдеpiопределяютсяизканоническогоразложениячислаqn−1=pi
наk
простыхсомножителей,αi-натуральныечисла.
i0
Вопросыдлясамопроверки.
1.Чтотакоерасширениеконечногополя?Чтотакоеподполе?
2.КакиеполиномынадGF(qn)являютсяэлементамиконечногополя?
3.Пояснитепонятияпорядокполя,степеньполя,степеньполинома.
4.Пояснитепонятиянеприводимыйипримитивныйполиномы.
5.Пояснитепонятиеэквивалентностидвухполиномов.
6.ЧтотакоеНОДотдвухполиномов?Каконвычисляется?
7.Какимобразомможноопределитьпримитивностьполиномаf(x)степениnнадполемGF(q)?
ВычислениеобратногоэлементавконечномполеGF(2n)
ОбратныйэлементвконечномполеGF(2n)(n-натуральноечисло)используетсякаквспомогательныйэлементприделениинекоторогомногочленаA(x)намногочленB(x)вполеGF(2n)пополиному-модулюP(x).РезультирующийполиномC(x)будетполученкакC(x)=A(x)?B-1(x)modP(x),гдеB-1(x)-обратныйэлементдлямногочленаA(x).
ОднимизспособовполученияобратногоэлементавполеполиномовявляетсяиспользованиефункцииЭйлера.ПонятиефункцииЭйлерапоаналогиипереноситсяизтеориичиселвполеGF(2n).
Пустьзаданнеприводимыймодуль-полиномP(x).ФункцияЭйлеравполеGF(2n)будетзадаватьчисловзаимнопростыхсP(x)полиномов.ТаккакP(x)являетсянеприводимым,тофункцияЭйлераφ(P(x))=2n-1.
Тогда, применяя функцию Эйлера, обратный элемент будет
вычислятьсякак
Px n
A1(x)A(
())1(x)modP(x)A2
2(x)modP(x).
ОбратныйэлементвполеGF(qn),гдеq-простоечисло,такжеможно
вычислитьипомодификацииалгоритмаЕвклида,находящейпеременныевыраженияα·a+β·b=НОД(a,b)(раздел1.1),тольковместочиселвформулубудутподставлятьсяполиномы.Длянахожденияобратногоэлементаg−1(x)дляполиномаg(x)пополиному-модулюf(x)вкачестверешаемогоуравненияиспользуетсяg−1(x)g(x)+t(x)f(x)=1,гдеg−1(x),g(x),t(x),f(x)GF(qn).
Пример3.11.ПустьзаданыэлементполяA(x)=x2+1иполином-
модульP(x)=x3+x+1вполеGF(23).НайдемобратныйэлементA-1(x).
Тогда,применяяформулуЭйлера,получим:
3
A1(x)A(P(x))1(x)modP(x)(x21)22mod(x3x1)(x21)6mod(x3x1)(x21)2(x21)4mod(x3x1).
Найдем остаток от деления для первого слагаемого
(x21)2x42x21x41
(слагаемое 2x2 сокращается, так как
коэффициентыполиномовскладываютсяпомодулю2)намодульP(x),
например,делениемстолбиком.
x4+0·x2+0·x+1|x3+x+1
x4+x2+x |xx2+x+1
Тоесть
(x21)2mod(x3x1)x2x1.
Далее найдем остаток от деления для второго слагаемого
((x21)2)2(x2x1)2x4x21намодульP(x).
x4+x2+0·x+1|x3+x+1
x4+x2+x |xx+1
Тоесть
(x21)4mod(x3x1)x1.
Вычислимитоговоевыражение:
(x21)2(x21)4mod(x3x1)(x2x1)(x1)mod(x3x1)
(x31)mod(x3x1)
инайдемостатокотделения:
x3+0·x+1|x3+x+1
x3+x+1|1
x
Тогда,обратнымэлементомявляетсяA-1(x)=x.
Выполним проверку: должно выполняться сравнение
A(x)?A−1(x)modP(x)≡1.
(x2+1)?xmodP(x)=(x3+x)mod(x3+x+1).
Таккакчастноеимеетстепень,небольшуюмодуля,торезультатможнонайтиарифметическимсложениемкоэффициентовполиномовпомодулю2.
1010
1011
0001
Тоестьрезультатомявляетсяполином1иA(x)?A−1(x)modP(x)≡1.
Ответ:обратнымэлементомдляполиномаA(x)=x2+1вполеGF(23),
гдеполином-модульP(x)=x3+x+1,являетсямногочленA-1(x)=x.
Пример3.12.Рассмотримпредыдущийпримерспомощьювзаимосвязивекторногоистепенногопредставленийэлементов.ПустьзаданыэлементполяA(x)=x2+1иполином-модульP(x)=x3+x+1вполеGF(23).НайдемобратныйэлементA-1(x).
Примитивнымэлементом,спомощьюкоторогоможнополучитьвсеостальныеэлементы,являетсяполиномx(табл.3.8).Остальныеэлементыполучим,умножаяпредыдущийэлементнаx.
Дляэлементов4,6и7необходимовыполнитьнормировкумодулем
P(x),например,спомощьюделениястолбиком:
4-ыйэлемент
x3 |x3+x+1
x3+x+1|1
x+1
6-ойэлемент
x3+x2 |x3+x+1
x3+ x+1|1
x2+x+1
7-ойэлемент
x3+x2+x |x3+x+1
x3+ x+1|1
x2+ 1
Таблица3.8.Элементыполявразныхпредставлениях
Номерэлемента |
Нормальныйбазисξi(степенноепредставление) |
Стандартныйбазис(векторное представление) |
Полиномиальноепредставление |
0 |
ξ |
000 |
0 |
1 |
ξ0 |
001 |
1 |
2 |
ξ1 |
010 |
x |
3 |
ξ2 |
100 |
x2 |
4 |
ξ3=ξ2ξmodP(x ) |
011 |
x3modP(x)=x+1 |
5 |
ξ4 |
110 |
(x+1)x=x2+x |
6 |
ξ5=ξ4ξ modP(x) |
111 |
(x2+x)x= (x3+x2)modP(x)=x2+x+1 |
7 |
ξ6=ξ5ξ modP(x) |
101 |
(x2+x+1)x=(x3+x2+x) modP(x)=x2+1 |
ПрименяяформулуЭйлера,получим:
3
A1(x)A(P(x))1(x)modP(x)(x21)22mod(x3x1)(x21)6mod(x3x1)(x21)2(x21)4mod(x3x1).
Выражение(x2+1)2modP(x)можновычислить,используявзаимосвязьвекторногоистепенногопредставленийэлементов.Полиномиальнаязаписьx2+1соответствуетвекторнойзаписи101истепеннойξ6.Тогда,применяя
правилоумножениястепенейпримитивногоэлемента(раздел3.2),получим
n
ξ6?ξ6modP(x)=12mod(21)=12mod7
=ξ5.Тоесть6-муэлементуξ5поля
GF(23)соответствуетполиномиальноепредставлениеx2+x+1(векторное
111).
Аналогично,(x2+1)4modP(x)=(ξ5)2modP(x)=10mod7=ξ3.Тоесть4-муэлементуξ3поляGF(23)соответствуетполиномиальноепредставлениеx+1
(векторное011).
Витоге,
(x21)2(x21)4modP(x)
=ξ5?ξ3modP(x)=8mod7=ξ.Тоесть
2−муэлементуξполяGF(23)соответствуетполиномиальноепредставлениеx
(векторное001).
Обратныйэлементможнобылонайтиисразу:
(x21)6modP(x)
=(ξ6)6modP(x)=ξ36mod7=ξ.
Проверимусловиесуществованиеобратногоэлемента-выполнимостьсравненияA(x)?A−1(x)modP(x)≡1.Получим
(x2+1)?xmodP(x)=ξ6?ξmodP(x)=ξ7mod7=ξ0≡1.
Ответ:обратнымэлементомдляполиномаA(x)=x2+1вполеGF(23),
гдеполином-модульP(x)=x3+x+1,являетсямногочленA-1(x)=x.
Пример3.13.Рассмотримпример3.11,оперируяэлементамиполя,заданнымиввекторномпредставлении.ПустьзаданыэлементполяA(x)=x2+1иполином-модульP(x)=x3+x+1вполеGF(23).НайдемобратныйэлементA−1(x).Будемиспользоватьтаблицу3.8изпримера3.12.
ПрименяяформулуЭйлера,получим:
3
A1(x)A(P(x))1(x)modP(x)(x21)22mod(x3x1)(x21)6mod(x3x1)(x21)2(x21)4mod(x3x1).
Полином(x2+1)можнозаписатьввекторномвидекак101(табл.3.8).
1.Найдем значение (x2+1)2 ввекторномвиде:
101
101
101
101
10001x4+1
3.Найдемзначение((x2+1)2)2=
=(x2+x+1)2ввекторномвиде:
111
111
111
111
111
10101x4+x2+1
2.Нормируем полученныйрезультатx4+1модулемP(x):
10001|1011
1011|1
111x2+x+1
4.Нормируем результат x4+x2+1
модулемP(x):
10101|1011
1011|1
11x+1
5.Вычислимввекторномвиде
(x21)2(x21)4(x2x1)(x1):
111
011
111
111
1001x3+1
6.Нормируем результат x3+1
модулемP(x):
1001|1011
1011|1
10 x
Тогда,обратнымэлементомявляетсяA-1(x)=x.
Выполним проверку: должно выполняться сравнение
A(x)?A−1(x)modP(x)≡1.
1.Вычислим значение(x2+1)?xввекторномвиде:
101
010
1010x3+x
2.Нормируем результат x3+x
модулемP(x):
1010|1011
1011|1
1 1
Результатомявляетсяполином1и
A(x)?A−1(x)modP(x)≡1.
Ответ:обратнымэлементомдляполиномаA(x)=x2+1вполеGF(23),
гдеполином-модульP(x)=x3+x+1,являетсямногочленA-1(x)=x.
Дополнительныепримерыдлярешения.
Вычислитеобратныеэлементыдля:
1)x+1помодулюx4+x+1вполеGF(24)(ответ:x3+x2+x);
2)x2+xпомодулюx3+x+1вполеGF(23)(ответ:x+1),
спомощьюполиномиальногоивекторно-степенногопредставлений.
Вопросыдлясамопроверки.
1.КакможновычислитьобратныйэлементвконечномполеGF(2n)?
2.Вчемразницамеждувычислениямивыраженийспомощьюполиномиальногоивекторно-степенногопредставленийэлементов?
3.Каквыполняетсясложениеиумножениеэлементоввстепенномпредставлении?
4.Какимобразомнормируютсярезультатыбольшей,атакжеравнойстепени,чемуполинома-модуля?
5.Какможнопроверить,чтообратныйэлементбылнайденправильно?
