Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗахКриптология курс лекций 2 - копия.docx
Скачиваний:
5
Добавлен:
24.09.2019
Размер:
5.15 Mб
Скачать

Корнимногочлена

Элементаизполя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].Длякаждогопростогочислакаждогонатуральногочисла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)=αn1xn1+...+α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определяютсяизканоническогоразложениячислаqn1=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),тольковместочиселвформулубудутподставлятьсяполиномы.Длянахожденияобратногоэлементаg1(x)дляполиномаg(x)пополиному-модулюf(x)вкачестверешаемогоуравненияиспользуетсяg1(x)g(x)+t(x)f(x)=1,гдеg1(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)?A1(x)modP(x)≡1.

(x2+1)?xmodP(x)=(x3+x)mod(x3+x+1).

Таккакчастноеимеетстепень,небольшуюмодуля,торезультатможнонайтиарифметическимсложениемкоэффициентовполиномовпомодулю2.

1010

1011

0001

Тоестьрезультатомявляетсяполином1иA(x)?A1(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)?A1(x)modP(x)≡1.Получим

(x2+1)?xmodP(x)=ξ6modP(x)=ξ7mod7=ξ01.

Ответ:обратнымэлементомдляполинома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).НайдемобратныйэлементA1(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)?A1(x)modP(x)≡1.

1.Вычислим значение(x2+1)?векторномвиде:

101

010

1010x3+x

2.Нормируем результат x3+x

модулемP(x):

1010|1011

1011|1

1 1

Результатомявляетсяполином1и

A(x)?A1(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.Какможнопроверить,чтообратныйэлементбылнайденправильно?