
3 Лекция - Алгебраические основы криптографии
.pdf1
АЛГЕБРАИЧЕСКИЕ ОСНОВЫ КРИПТОГРАФИИ
Для того, чтобы корректно ввести необходимые для правильного восприятия алгебраических основ криптографии, вкратце вспомним некоторые понятия из высшей алгебры, используя при их определении кванторы (обозначения логических операций) существования , существования и единственности ! , всеобщности (для любого) , обозначая множество в фигурных скобках, используя знак принадлежности . означает
"из этого следует", |
-- "тогда и только |
тогда". означает "это эквивалентно". |
-- |
||||||
обозначение подмножества и т.д. |
|
|
|
|
|
||||
|
Декартово произведение множеств: |
|
|
|
|
|
|||
|
|
|
|
X Y ={(x, y),x X, y Y} |
|
|
|
|
|
|
-- это множество всех упорядоченных пар (x, y), где |
x X , |
y Y , для n множеств --- |
||||||
это |
множество |
X1 ... Xn ={(x1,...,xn),x1 X1,...,xn Xn} . |
n -й |
декартовой |
степенью |
||||
множества |
X |
называют декартово |
произведение |
X |
на себя |
n |
раз: |
||
Xn |
={(x ,...,x ),x ,...,x X}. |
|
|
|
|
|
|||
|
1 |
n |
1 |
n |
|
|
|
|
|
|
Бинарное отношение на множестве Х -- это любое подмножество декартового |
||||||||
квадрата множества Х: X X . |
|
|
|
|
|
||||
|
Если (a,b) |
то пишут a b . |
|
|
|
|
|
Определим некоторые свойства бинарных отношений. Отношение называется
рефлексивным, если: a X (a,a) a a;
симметричным, если: (a,b) (b,a) a b b a;
транзитивным, если: (a,b) ,(b,c) (a,c) a b,b c a c;
ассиметричным, если: (a,b) :(b,a) a = b.
Отношение называется отношением эквивалентности, если оно рефлексивно, симметрично и транзитивно.
Отношение называется отношением порядка, если оно рефлексивно, транзитивно и асимметрично.
Отношение называется отношением строгого порядка, -- если оно рефлексивно, транзитивно, асимметрично и a,b X (a,b) (b,a) .)
Примеры: отношение равенства -- отношение эквивалентности, на множестве действительных чисел отношение - отношение строгого порядка, на множестве целых чисел отношение < - не отношение порядка (не рефлексивно).
Будем |
говорить, что |
a делится |
на |
b с |
остатком, где a,b , если |
|||
a = bq r,0 r < b. |
a,b -- сравнимы по модулю n, если остатки от деления a, b |
|||||||
Будем говорить, что |
||||||||
на n совпадают, т.е. a = qn r,0 r < n, b = q n r ,0 r < n: |
|
|||||||
|
1 |
1 |
1 |
2 |
2 |
2 |
|
|
|
|
|
a b(modn) r1 = r2 |
|
является отношением |
|||
Отношение сравнимости по любому |
modn |
на множестве |
||||||
эквивалентности. |
|
|
|
|
|
n , называется классом вычетов |
||
Множество всех чисел, сравнимых с |
a |
по модулю |
||||||
a по модулю |
n , и обычно обозначается |
[a]m . |
Таким образом, |
сравнение a b(modn) |
равносильно равенствуклассов вычетов [a]m =[b]m. Любое число класса называется вычетом по модулю n. Множество всех классов вычетов по модулю n обозначается n .
2
Назовем отображением (функцией) множества X в множество Y ( f : X Y ) правило, по которому каждому x X ставится в соответствие некоторый единственный
y Y : |
x X !y Y : f x = y |
|
|
Определим некоторые свойства отображений. Отображение называется |
|
|
|
сюръективным, если: y Y x X f x = y ; |
|
|
инъективным, если: x1,x2 X,x1 x2 f x1 f x2 ; |
биективным, если оно сюръективно и инъективно одновременно.
Бинарной операцией на множестве X называется отображение декартового квадрата множества X в себя: *: X X X
a*b = c * a,b =* a,b = c, a,b,c X, a,b X X.
Операции можно обозначать *, , и т.д. Операция назвается:
|
коммутативной(для операции * ), если: *(x1,x2) = x3 x1 *x2 = x3 , если |
|
x1 *x = x2 *x1; |
ассоциативной (для операции ), если: (x1 x2) x3 = x1 (x2 x3);
дистрибутивной (для операции ) относительно операции , если:
x1 (x2 x3) = (x1 x2) (x1 x3).
Множество |
X |
с введенной на ней бинарной операцией * называется группоидом |
||||||||||||||
X,* . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если X,* |
-- |
группоид, то элемент |
e X называется единичным относительно * |
|||||||||||||
или единицей |
X,* |
или |
нейтральным |
элементом X,* , если x X выполняется |
||||||||||||
e*x = x*e = x |
|
|
|
x 1 называется обратным в X,* , если x 1 *x = x*x 1 = e. |
||||||||||||
Для x X элемент |
||||||||||||||||
Группоид X,* называется полугруппой, если операция * ассоциативна. |
||||||||||||||||
Пример: , , где |
-- множество натуральных чисел. |
|||||||||||||||
Полугруппа |
X,* называется группой, если существует e относительно * и для |
|||||||||||||||
каждого x X |
x 1 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Группа X,* |
называется абелевой, если операция * коммутативна. |
|||||||||||||||
Пример: , |
- абелева группа. |
|
|
|
||||||||||||
Конечная группа X,* |
|
-- это группа, содержащая конечное число элементов (это |
||||||||||||||
число называется её "порядком" |
|
X |
|
): |
|
X |
|
= |
|
{x1,...,xm} |
|
= m. |
||||
|
|
|
|
|
|
|||||||||||
Пусть на множестве |
R введены две бинарные операции: R, ,* , тогда множество |
R, ,* называется кольцом, если:
1.R, -- абелева группа;
2.R,* -- полугруппа;
3.операция * дистрибутивна относительно операции .
Нейтральный элемент группы X, называется нулем кольца. Кольцо называется
3
кольцом с единицей, если в полугруппе X,* есть единица. Кольцо называется
коммутативным, если полугруппа X,* коммутативна
Пример кольца: , , .
Пример конечного кольца. Операции сложения и умножения на порождают соответствующие операции на множестве m
[a]m [b]m =[a b]m;[a]m [b]m =[a b]m.
Относительно этих операций множество m является конечным кольцом и называется
кольцом вычетов по модулю m .
Коммутативное кольцо с единицей P, ,* называется полем, если все его элементы,
не равные нулю кольца образуют абелеву группу, относительно операции *. Образованная этими элементами группа называется мультипликативной группой поля.
Пример конечного поля. Если число q -- простое, |
то |
множество q является |
||
конечным полем и называется полем вычетов по модулю m. |
|
|
||
Введем еще одно полезное понятие. |
и т.д.) X,* |
|
Y, называется такое |
|
Гомоморфизмом групп (колец, полей |
и |
|||
отображение множества X в Y , при котором |
a,b X a*b = a b . |
|||
Если -- биективное отображение X в Y , то --- изоморфизм групп. Группоиды |
||||
X и Y в этом случае называются изоморфными. |
|
|
||
Полем Галуа порядка q , |
где q |
-- простое можно назвать любое поле, |
||
изоморфное q . Такое поле обозначается |
GF q |
или просто Fq . |
|
Основные алгебраические структуры, на которых строятся современные шифры и другие криптографические системы ---это конечные группы,кольца вычетов и конечные поля
и их теоретико-числовая реализация. |
|
Конечное поле, или поле Галуа в общей алгебре --- |
это поле, состоящее из конечного |
числа элементов. Число элементов в поле называется его порядком.
Конечное поле обычно обозначается Fq или GF q (сокращение от Galois field) и
называется полем Галуа порядка q , где q - число элементов поля. С точностью до изоморфизма конечное поле полностью определяется его порядком, который всегда является
степенью какого-нибудь простого числа, то есть q = pn , |
где p - простое число, а n --- |
|
любое натуральное число.При этом |
p будет являться характеристикой этого поля,т.е.если |
|
GF q = X, , с нулем поля 0 , то |
x X выполняется |
p n = x x = 0. |
|
|
n |
Мультипликативная группа конечного поля циклична. То есть все ненулевые элементы поля GF q образуют группу относительно операции умножения (эта группа
называется мультипликативной группой поля и обозначается GF q * ). Эта группа является
циклической, то есть в ней есть порождающий элемент, а все остальные элементы получаются возведением встепень порождающего.То есть,существует g -порождающийэлемент,такой
что для любого a GF q * , можно записать: n: gn = amodq . Порождающий элемент g GF q * называется также примитивным элементом поля GF q .
4
Согласно малой теореме Ферма, каждый элемент поля GF q удовлетворяет
равенству aq = a.
Согласно известной в высшей алгебре теореме о существовании и единственности конечных полей, для каждого простого числа p и натурального числа n существует
конечное поле из q = pn элементов и любое конечное поле из q элементов изоморфно полю,
которое можно построить следующим образом.
Рассмотрим множество всех многочленов над полем GF p , которое обозначим
GF p x :
|
|
|
GF p x = anxn an 1xn 1 |
....a1x a0, n , ai GF p |
|
|
|
|
|
|||||||||
В |
алгебре |
доказано, |
что |
GF p x , , |
|
является кольцом. |
Пусть |
f x |
--- |
|||||||||
неприводимый |
многочлен |
степени |
n |
над полем |
GF p , |
т.е. |
то есть не |
являющийся |
||||||||||
константой и не представимый в виде произведения |
f x = g x h x , |
где |
g x |
и h x |
||||||||||||||
многочлены с коэффициентами из GF p , отличные от констант, и |
deg f x = n . |
|
|
|||||||||||||||
Будем |
говорить, что многочлены |
g x ,h x GF p x |
-- сравнимы |
по |
модулю |
|||||||||||||
f x , |
если |
остатки |
от |
деления |
g x , |
|
h x |
на |
f x |
совпадают, |
т.е. |
|||||||
g x = q1 x |
f x r1 x ,0 degr1 x < deg f x |
|
|
|
|
|
|
|
|
, |
||||||||
h x = q2 |
x |
f x r2 x ,0 degr2 x < deg f x : |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
g x h x (mod f x ) r1 x = r2 |
x |
на множестве GF p x |
|||||||||||
Отношение сравнимости по любому неприводимому |
f x |
|||||||||||||||||
является отношением эквивалентности. |
|
|
|
g x |
|
|
f x |
|
|
|
||||||||
Множество |
всех многочленов, |
сравнимых |
с |
по модулю |
обозначим |
[g x ]f x |
. Таким образом, сравнение g x h x (mod f x ) равносильно равенству классов |
|||
[g x ]f x |
=[h x ]f x . Множество всех классов по модулю f x обозначим |
GF p x / f x |
||
. |
|
и умножения на GF p x порождают |
|
|
Операции сложения |
соответствующие |
|||
операции на множестве GF p x / f x : |
|
|
||
[g x ]f x [h x ]f x |
=[g x h x ]f x ;[g x ]f x [h x ]f x =[g x h x ]f x . |
|||
Относительно этих |
операций множество |
GF p x / f x во введенных выше |
||
условиях является конечным полем порядка q = pn |
и изоморфно любому полю GF q . |