Конечные поля.
Криптографические методы защиты информации.
Часть 1. Математические аспекты
Чтобы получить такую же оценку для деления, покажем, что обратный элемент можно найти за 0(nog3p) операций. Используя алгоритма Евклида для многочленов над F/;, требуется записать 1 как линейную комбинацию f (x) и элемента поля, т. е. многочлена степени меньше п. Это включает 0(п) делений многочленов степени меньше п, а каждое деление требует 0{n2og2p + nog3p). Тогда общее время не выше 0(nog3p… Читать ещё >
Конечные поля. Криптографические методы защиты информации. Часть 1. Математические аспекты (реферат, курсовая, диплом, контрольная)
Поле, состоящее из конечного числа элементов, называется конечным.
Определим строение полей. Если Р, Р — поля и F cz Р, то F называется подполем поля Р, а Р называют надполем или расширением поля F. Поле, не содержащее других нетривиальных подполей, называется простым полем.
Конечный порядок единицы ноля Р как элемента аддитивной группы поля Р называется характеристикой поля Р. Иначе характеристика поля полагается равной 0. В частности, ноля Q и R имеют характеристику 0. Если характеристика поля равна 0, то простое подполе изоморфно полю Q. Каждое поле есть расширение своего простого подполя.
По следствию 1 из теоремы 2.11 характеристика поля есть простое числор. Подполе характеристики р (обозначается GF (p) или F/;), порожденное единицей, совпадает с Zf) и является простым полем. Отсюда каждое конечное поле характеристики р содержит простое подполе GF (ji).
Если Р с Р, то поле F можно рассматривать как векторное пространство над полем Р, размерность которого называется степенью расширения поля Р с Р, обозначается [Р: Р].
Элемент а е Р называется алгебраическим над полем Р, если а есть корень ненулевого многочлена f (x) е Р[х], при этом многочлен/(х) называется аннулирующим многочленом элемента а. Нулевой многочлен считается аннулирующим для любого элемента поля.
Минимальным многочленом элемента а (обозначается гпа(х)) называется его аннулирующий унитарный многочлен наименьшей степени. Множество всех аннулирующих многочленов элемента а обозначим Ра[х.
Теорема 4.12. Для любого элемента а, алгебраического над Р.
- а) Ра[х] — идеал кольца Р[х]
- б) та{х) определен однозначно, неприводим и ma(x)f (x) для любого /(х) € Ра[х].
М а) множество Ра[х] замкнуто относительно сложения, так как если многочлены f (x)y …yfr(x) е Ра[х, то любая их линейная комбинация также аннулирует а. Если/(х) е Ра[х, то и f (x)g (x) е Ра[х] для любого g (x) е Р[х. Следовательно, Ра[х — идеал;
б) пусть та(х) и ха(х) — различные минимальные многочлены элемента а, тогда ненулевой многочлен ша{х) — ха(х) е Ра[х] и имеет в силу унитарности многочленов та(х) и р"(Х) степень меньше, чем degта(х). Имеем противоречие с минимальностью многочлена та(х).
Если та(х) разлагается в произведение многочленов ненулевой степени, та(х) = т{(х)т2(х)у то из та(а) = 0 следует, что один из многочленов т1(х)у т2(х) аннулирует элемент а. Поскольку degт?х) < degта(х)у i = 1, 2, то имеем противоречие с минимальностью та(х).
Пусть та(х) не делит некоторый /(х) из Ра[х, тогда разделим f (x) на та(рс):
где degr (x) < degта(х) и по теореме 4.12а г (х) е Ра[ху что противоречит минимальности та(х). ?
Теорема 4.13. Всякое расширение Р с F конечной степени является алгебраическим, т. е. все элементы поля Р — алгебраические над полем F.
Ч Пусть А = {1, а, …, ап)у где а е Fy п = [F: Р]. Поскольку | А > п, то элементы множества А линейно зависимы, т. е. найдутся элементы с0, cv …, сп е Р такие, что с0 + с{а + … + спап = 0. Таким образом, найден аннулирующий многочлен элемента а. ?
Опишем Р (а) — наименьшее подполе поля F, содержащее элемент а и поле Р. Если элемент а алгебраический над Р, то подстановка а вместо х порождает эпиморфизм колец Р[х —> Р[ау ядро которого по теореме 4.12 есть идеал та(х)Р[х. Иначе, Р[а] — это фактор-кольцо кольца многочленов Р[х] по модулю минимального многочлена та(х). Поскольку та(х) неприводим, то по следствию теоремы 2.20 поле Р (а) = Р[а].
Элемент а называется примитивным элементом расширения поля Р с с Р (а)у это расширение называют простым алгебраическим расширением, степень его равна degта(х). Конечное расширение F поля Р называется полем разложения неприводимого над Р многочлена f (x)y если F — наименьшее иоле, порожденное нолем Р и корнями многочлена f (x). По теореме Безу многочлен f (x) разлагается на линейные множители из кольца многочленов F[x],
Любое конечное поле Р содержит простое подполе F/;, пусть степень расширения Р: F/;] равна п и х{у хп — базис расширения. Тогда любой элемент х е Р однозначно представим в виде х = с{х{ + … + сГ1хпУ где с{у …, сп е F.r Заметим, что рх = 0 для любого хе Р. Каждый коэффициент может принятьр значений, поэтому | Р = рп. Покажем существование поля Галуа GF (pn) порядка рп для простого р и любого натурального п.
Лемма 4.1. Многочлен уц (х) = хРп-х не имеет кратных корней в поле разложения характеристики р.
Ч Производная многочлена |/(х) имеет вид f'(x) = рпхрП~х -1 = -1. Значит, |/(х) — взаимно простой с и по теореме 2.16 |/(х) не имеет кратных корней в поле разложения. ?
Теорема 4.14. Поле разложения многочлена |/(д) содержит рп элементов.
Ч Достаточно показать, что все рп корней многочлена образуют поле. Пусть а, b — ненулевые корни многочлена |/(х), а значит, и многочлена хрп-1−1. Тогда (ab)Pn~{ = аРп~{ЬрП~х =1. Учитывая, что формуле бинома Ньютона все слагаемые кроме первого и последнего кратны степени, имеем (а + Ь) Рп =арП +Ьрп = a + b. ?
Следствие. Все поля Галуа GF (pn) изоморфны.
Теорема 4.15. В конечном поле Р мультипликативная группа Р* является циклической.
4 Группа Р* имеет порядок рп — 1 и является абелевой. Если Р* не циклическая, то в соответствии с теоремой 4.8 ПОК порядков всех ее элементов равен собственному делителю г числа рп — 1. Следовательно, (я,)' = 1 для любого cij е Р*. Отсюда многочлен хг — 1 аннулирует любой элемент группы Р*, значит хг — 1 делится на минимальный для всех элементов группы Р* многочлен П (х ~ а)• Имеем противоречие, так как.
«={1…рп-1}.
deg П (х-а{)>г. ?
Образующий элемент а циклической группы GF*(pn) называется примитивным элементом поля GF (pn). Если взять элемент а в качестве примитивного элемента расширения F/; с GF (pn)> то получаем, что всякое конечное поле характеристики р является простым алгебраическим расширением поля F/;, так как оно порождено элементом а. Следовательно, минимальный многочлен та(х) примитивного элемента а поля GF (pn) имеет степень п, и поле GF (pn) изоморфно факторкольцу Ff)[x] / ma(x)f где многочлен та(х) неприводимый, degта(х) = п и та(х)хРп~1 — 1.
Теорема 4.16. GF (pn) есть поле разложения всякого неприводимого многочлена f (x) степени п над полем ?р.
4 Если а — корень неприводимого многочлена/(х), то IF/;(c/): ?р] = п. Поэтому Fр(а) = GF (pn). Используя бином Ньютона для поля характеристики р, имеем f (aP) = f (a)P. Следовательно, элементы а, аРу …, арП~1 есть корни многочлена f (x). Докажем, что эти корни различны.
Пусть корни не различны, иapJ = ар, где 0 1. Возведя равенство в степень рп~ку получим aptl~k+j — а. Тогда неприводимый многочлен /(.г) делит аннулирующий многочлен хр, 1~к+) +х. Отсюда Fр(а) — подполе поля GF (pTl~k+j), где п — k + j < п. Имеем противоречие. ?
Следствие. Порядки всех корней многочлена f (x) в группе GF (pn) равны.
4 ordа | рп — 1, тогда ordfl^ = ordа / (pkf ordа)у где (рк, ordа) = 1, к = О, …, п — 1. ?
Назовем порядком многочлена f (x) е F;,[x], где /(0) Ф 0, наименьшее натуральное число t, при котором f (x) од — 1 (обозначается ordf (x)).
Теорема 4.17. Если /(х) — неприводимый многочлен степени п над нолем F/;, то ord/(x) совпадает с порядком любого его корня в мультипликативной группе поля разложения.
4 Пусть /(а) = 0, тогда orda = t, где t рп — 1. Значит, а — корень многочлена Xе- 1 и по теореме Безу (х — а) | х* - 1. По следствию из теоремы 4.16 порядки всех корней многочлена /(х) равны, тогда из разложения /(х) на линейные многочлены получаем /(х) xt — 1. ?
Теорема 4.18. Поле GF (pn) содержит подполе GF (jid) для любого d .
4 Любому элементу а (не обязательно примитивному) поля GF (pn) соответствует минимальный неприводимый унитарный многочлен та(х). Пусть degm"(x) = d, тогда Fр(а) — расширение степени d поля Fy, и | Fр(а) I = pd. Вместе с тем, GF (pn) — расширение степени г поля F;,(tf) ирп — I GF (pn)| = pdr. Отсюда d .
Обратно, для любого d поле GF (pd) содержится в поле GF (pn), так как любое решение уравнения x?d -х есть решение уравнения хрп -х. ?
Теорема 4.19. Многочлен хРп -х, п — натуральное, разлагается в F/;[x] в произведение всех унитарных неприводимых многочленов всех степеней d .
4 Если а — корень неприводимого унитарного многочлена /(х) степени d над полем F/;, то Fp(a) — подполе поля GF (pn). Поскольку а — корень многочлена хРп -х, то/(х)хРп -х.
Обратно, пусть /(х) — неприводимый унитарный многочлен, делящий хРп -х. Тогда все его корни принадлежат GF (pn). Отсюда degf (x) в соответствии с теоремой 4.18, так как присоединение корня /(х) к F/; дает подполе в GF (j)n). Следовательно, неприводимые унитарные многочлены, делящие хрп -х, имеют степень d, где d . По лемме 4.1 хРп -х не имеет кратных корней. Значит, хрП -х есть произведение всех таких многочленов. ?
Следствие. Если п — простое число, то в F/;[x] имеется (рп -р) / п неприводимых унитарных многочленов степени п.
4 Число (рп — р) / п — целое при простом и, так как рп = p (mod^) по малой теореме Ферма. Пусть и (п) — число неприводимых унитарных многочленов степени п. По теореме 4.19 многочлен хРп -х степени р, г есть произведение и (п) многочленов степени пир неприводимых многочленов х — а степени 1, где а е F/r Приравнивая показатели степеней, получаем рп= пи (п) + р. Отсюда следует формула для и{п). ?
Пусть п — не обязательно простое число, обозначим u{d) — число неприводимых над F;, унитарных многочленов степени d. Тогда получаем соотношение.
Теорема 4.20. Умножение (деление) элементов ноля GF (pn) требует O (nogsp) двоичных операций, возведение в степень к е N не более 0(nogkog3p) двоичных операций.
М Пусть f (x) — неприводимый унитарный многочлен степени п над F^, тогда элемент поля GF (prl) есть многочлен из Fp[x], взятый по модулю f (x).
Перемножение двух элементов требует порядка п1 умножений коэффициентов мономов (сложение коэффициентов менее трудоемко). Деление на f (x) требует порядка О (п) делений целых чисел по модулю р и 0(п2) умножений целых чисел по модулю р. Умножение целых чисел по модулю р требует порядка 0(og2p) операций, а деление целых чисел по модулю р с использованием, например, алгоритма Евклида требует по следствию 1 из теоремы 2.7 порядка 0(og3p) операций. Тогда общее число операций равно 0(n2og2p + nog3p), что не больше O (nog3p) двоичных операций.
Чтобы получить такую же оценку для деления, покажем, что обратный элемент можно найти за 0(nog3p) операций. Используя алгоритма Евклида для многочленов над F/;, требуется записать 1 как линейную комбинацию f (x) и элемента поля, т. е. многочлена степени меньше п. Это включает 0(п) делений многочленов степени меньше п, а каждое деление требует 0{n2og2p + nog3p). Тогда общее время не выше 0(nog3p) двоичных операций.
Возведение в степень методом повторного возведения в квадрат потребует O (logA) умножений и всего 0(nogkog3p) двоичных операций. ?