Группой называется множество ${{\mathbb{G}}}$, на котором задана бинарная операция «$\circ$», удовлетворяющая следующим аксиомам:
Если
то такую группу называют коммутативной (или абелевой).
Если операция в группе задана как умножение «$\cdot$», то группа называется мультипликативной. Для мультипликативной группы будем использовать следующие соглашения об обозначениях:
Если операция задана как сложение «$+$», то группа называется аддитивной. Соглашение об обозначениях для аддитивной группы:
Подмножество группы, удовлетворяющее аксиомам группы, называется подгруппой.
Порядком $|{{\mathbb{G}}}|$ группы ${{\mathbb{G}}}$ называется число элементов в группе. Пусть группа мультипликативная. Для любого элемента $a \in {{\mathbb{G}}}$ выполняется $a^{|{{\mathbb{G}}}|} = 1$.
Порядком элемента $a$ называется минимальное натуральное число
Порядок элемента, согласно теореме Лагранжа, делит порядок группы:
Генератором $g \in {{\mathbb{G}}}$ называется элемент, порождающий всю группу:
Группа, в которой существует генератор, называется циклической.
Если конечная группа не циклическая, то в ней существуют циклические подгруппы, порождённые всеми элементами. Любой элемент $a$ группы порождает либо циклическую подгруппу
порядка $\ord(a)$, если порядок элемента $\ord(a) < |{{\mathbb{G}}}|$, либо всю группу
если порядок элемента равен порядку группы $\ord(a) = |{{\mathbb{G}}}|$. Порядок любой подгруппы, как и порядок элемента, делит порядок всей группы.
Представим циклическую группу через генератор $g$ как
и каждый элемент $g^i$ возведём в степени $1, 2, \ldots, |{{\mathbb{G}}}|$. Тогда
Из предыдущего утверждения следует, что число генераторов в циклической группе равно
Для проверки, является ли элемент генератором всей группы, требуется знать разложение порядка группы $|{{\mathbb{G}}}|$ на множители. Далее элемент возводится в степени, равные всем делителям порядка группы, и сравнивается с единичным элементом $e$. Если ни одна из степеней не равна $e$, то этот элемент является примитивным элементом или генератором группы. В противном случае элемент будет генератором какой-либо подгруппы.
Задача разложения числа на множители является трудной для вычисления. На сложности её решения, например, основана криптосистема RSA. Поэтому при создании больших групп желательно заранее знать разложение порядка группы на множители для возможности выбора генератора.
Группой ${{\mathbb{Z}}}_p^*$ называется группа
где $p$ – простое число, операция в группе – умножение $\ast$ по ${\operatorname{mod}}p$.
Группа ${{\mathbb{Z}}}_p^*$ – циклическая, порядок –
Число генераторов в группе –
Из того, что ${{\mathbb{Z}}}_p^*$ – группа, для простого $p$ и любого $a \in [2, p-1] \mod p$ следует малая теорема Ферма:
На малой теореме Ферма основаны многие тесты проверки числа на простоту.
Пример. Рассмотрим группу ${{\mathbb{Z}}}_{19}^*$. Порядок группы – 18. Делители: 2, 3, 6, 9. Является ли 12 генератором?
12 – генератор подгруппы 6-го порядка. Является ли 13 генератором?
13 – генератор всей группы.
Пример. В таблице [tab:Zp-sample] приведён пример группы ${{\mathbb{Z}}}_{13}^*$. Число генераторов – $\varphi(12) = 4$. Подгруппы:
верхний индекс обозначает порядок подгруппы.
Элемент | Порождаемая группа или подгруппа | Порядок |
1 | ${{\mathbb{G}}}^{(1)} = \{ 1 \}$ | 1 |
2 | ${{\mathbb{G}}}= \{ 2, 4, 8, 3, 6, 12, 11, 9, 5, 10, 7, 1 \}$ | 12, ген. |
3 | ${{\mathbb{G}}}^{(3)} = \{ 3, 9, 1 \}$ | 3 |
4 | ${{\mathbb{G}}}^{(6)} = \{ 4, 3, 12, 9, 10, 1 \}$ | 6 |
5 | ${{\mathbb{G}}}^{(4)} = \{ 5, 12, 8, 1 \}$ | 4 |
6 | ${{\mathbb{G}}}= \{ 6, 10, 8, 9, 2, 12, 7, 3, 5, 4, 11, 1 \}$ | 12, ген. |
7 | ${{\mathbb{G}}}= \{ 7, 10, 5, 9, 11, 12, 6, 3, 8, 4, 2, 1 \}$ | 12, ген. |
8 | ${{\mathbb{G}}}^{(4)} = \{ 8, 12, 5, 1 \}$ | 4 |
9 | ${{\mathbb{G}}}^{(3)} = \{ 9, 3, 1 \}$ | 3 |
10 | ${{\mathbb{G}}}^{(6)} = \{ 10, 9, 12, 3, 4, 1 \}$ | 6 |
11 | ${{\mathbb{G}}}= \{ 11, 4, 5, 3, 7, 12, 2, 9, 8, 10, 6, 1 \}$ | 12, ген. |
12 | ${{\mathbb{G}}}^{(2)} = \{ 12, 1 \}$ | 2 |
Функция Эйлера $\varphi(n)$ определяется как количество натуральных чисел, взаимно простых с $n$ на отрезке от 1 до $n-1$.
Если $n=p$ – простое число, то
Если $n$ – составное число и
разложено на простые множители $p_i$, то
Группой ${{\mathbb{Z}}}_n^*$ называется группа
с операцией умножения $\ast$ по ${\operatorname{mod}}n$.
Порядок группы –
Группа ${{\mathbb{Z}}}_p^*$ – частный случай группы ${{\mathbb{Z}}}_n^*$.
Если $n$ – составное (не простое) число, то группа ${{\mathbb{Z}}}_n^*$ – нециклическая.
Из того, что ${{\mathbb{Z}}}_n^*$ – группа, для любых $a \neq 0, n > 1: \gcd(a,n) = 1$ следует теорема Эйлера:
При возведении в степень, если $\gcd(a,n) = 1$, выполняется
Пример. В таблице [tab:Zn-sample] приведена нециклическая группа ${{\mathbb{Z}}}_{21}^*$ и её циклические подгруппы
верхний индекс обозначает порядок подгруппы, нижний индекс нумерует различные подгруппы одного порядка.
Элемент | Порождаемая циклическая подгруппа | Порядок |
1 | ${{\mathbb{G}}}^{(1)} = \{ 1 \}$ | 1 |
2 | ${{\mathbb{G}}}_1^{(6)} = \{ 2, 4, 8, 16, 11, 1 \}$ | 6 |
4 | ${{\mathbb{G}}}_1^{(3)} = \{ 4, 16, 1 \}$ | 3 |
5 | ${{\mathbb{G}}}_2^{(6)} = \{ 5, 4, 20, 16, 17, 1 \}$ | 6 |
8 | ${{\mathbb{G}}}_1^{(2)} = \{ 8, 1 \}$ | 2 |
10 | ${{\mathbb{G}}}_3^{(6)} = \{ 10, 16, 13, 4, 19, 1 \}$ | 6 |
11 | ${{\mathbb{G}}}_1^{(6)} = \{ 11, 16, 8, 4, 2, 1 \}$ | 6 |
13 | ${{\mathbb{G}}}_2^{(2)} = \{ 13, 1 \}$ | 2 |
16 | ${{\mathbb{G}}}_1^{(3)} = \{ 16, 4, 1 \}$ | 3 |
17 | ${{\mathbb{G}}}_2^{(6)} = \{ 17, 16, 20, 4, 5, 1 \}$ | 6 |
19 | ${{\mathbb{G}}}_3^{(6)} = \{ 19, 4, 13, 16, 10, 1 \}$ | 6 |
20 | ${{\mathbb{G}}}_3^{(2)} = \{ 20, 1 \}$ | 2 |
Полем называется множество ${{\mathbb{F}}}$, для которого:
Примеры бесконечных полей (с бесконечным числом элементов): поле рациональных чисел ${\mathbb{Q}}$, поле вещественных чисел ${\mathbb{R}}$, поле комплексных чисел ${\mathbb{C}}$ с обычными операциями сложения и умножения.
В криптографии рассматриваются конечные поля (с конечным числом элементов), называемые также полями Галуа.
Число элементов в любом конечном поле равно $p^n$, где $p$ – простое число и $n$ – натуральное число. Обозначения поля Галуа: ${{\mathbb{GF}}(p)}, {{\mathbb{GF}}(p^n)}, {{\mathbb{F}}}_p, {{\mathbb{F}}}_{p^n}$ (аббревиатура от англ. Galois field). Все поля Галуа ${{\mathbb{GF}}(p^n)}$ изоморфны друг другу (существует взаимно однозначное отображение между полями, сохраняющее действие всех операций). Другими словами, существует только одно поле Галуа ${{\mathbb{GF}}(p^n)}$ для фиксированных $p, n$.
Приведём примеры конечных полей.
Двоичное поле ${{\mathbb{GF}}(2)}$ состоит из двух элементов. Однако задать его можно разными способами.
Все перечисленные выше варианты множеств изоморфны друг другу. Поэтому в дальнейшем под конечным полем ${{\mathbb{GF}}(p)}$, где $p$ – простое число, будем понимать поле, заданное как множество целых чисел от $0$ до $p-1$ включительно, на котором операции «сложение» и «умножение» заданы как операции сложения и умножения чисел по модулю числа $p$. Например, поле ${{\mathbb{GF}}(7)}$ будем считать состоящим из 7 чисел $\{0, 1, 2, 3, 4, 5, 6\}$ с операциями умножения $(\cdot \mod 7)$ и сложения $(+ \mod 7)$ по модулю.
Конечное поле ${{\mathbb{GF}}(p^n)}, n > 1$ строится расширением базового поля ${{\mathbb{GF}}(p)}$. Элемент поля представляется как многочлен степени $n-1$ (или меньше) с коэффициентами из базового поля ${{\mathbb{GF}}(p)}$:
Операция сложения элементов в таком поле традиционно задаётся как операция сложения коэффициентов при одинаковых степенях в базовом поле ${{\mathbb{GF}}(p)}$. Операция умножения – как умножение многочленов со сложением и умножением коэффициентов в базовом поле ${{\mathbb{GF}}(p)}$ и дальнейшим приведением результата по модулю некоторого заданного (для поля) неприводимого
многочлена $m(x)$. Количество элементов в поле равно $p^n$.
Многочлен $g(x)$ называется примитивным элементом (генератором) поля, если его степени порождают все ненулевые элементы, то есть ${{\mathbb{GF}}(p^n)} \setminus \{0\}$, заданное неприводимым многочленом $m(x)$, за исключением нуля:
Пример. В таблице [tab:irreducible-gf2] приведены примеры многочленов над полем ${{\mathbb{GF}}(2)}$.
Многочлен | Разложение | |
$'1' x + '0'$ | $x$ | неприводимый |
$'1' x + '1'$ | $x+1$ | неприводимый |
$'1' x^2 + '0' x + '0'$ | $x^2$ | $x \cdot x$ |
$'1' x^2 + '0'x + '1'$ | $x^2 + 1$ | $(x+1) \cdot (x+1)$ |
$'1' x^2 + '1' x + '0'$ | $x^2 + x$ | $x \cdot (x+1)$ |
$'1' x^2 + '1' x + '1'$ | $x^2 + x + 1$ | неприводимый |
$'1' x^3 + '0' x^2 + '0' x + '1'$ | $x^3 + 1$ | $(x+1) \cdot (x^2+x+1)$ |