summaryrefslogtreecommitdiff
path: root/crypto-algebra/lectures/lecture5.tex
blob: dda14e3788eed947d4ae2cb7d7aba29198544ec4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
% Лекция 5 (25.09.23)

%% NOTE: 8
\paragraph{Конечное поле} --- это поле $F$, содержащее конечное число элементов.

\begin{theorem}[Существование и единственность конечных полей]
  \begin{enumerate}
    \item
      Если $F$ --- конечное поле, то $F$ содержит $p^m$ элементов для некоторого
      простого числа $p$ и целого числа $m \geq 1$.
    \item
      Для каждого простого числа $p$ и целого числа $m \geq 1$ существует
      единственное (с точностью до изоморфизма) конечное поле порядка $p^m$.
  \end{enumerate}
\end{theorem}

Конечное поле порядка $p^m$ обозначается $\FF_{p^m}$ или $GF(p^m)$ и
называется \emph{полем Галуа}. Заметим, что если $p$ --- простое число, то
$\Z_p$ --- поле, а значит, каждое поле порядка $p$ изоморфно $\Z_p$.

\begin{theorem}[О свойствах поля $\mathbb{F}_q$]
  Если $\FF_q$ --- конечное поле порядка $q = p^m$, $p$ --- простое число,
  то характеристикой $\FF_q$ является $p$. Более того, $\FF_q$ содержит в
  качестве подполя простое поле $\FF_p = \Z_p$. Следовательно, $\FF_q$ можно
  рассматривать как расширение поля $\Z_p$ степени $m$.
\end{theorem}

Группа ненулевых элементов $\FF_q$ обозначается $\FF^*_q$.
\emph{Образующий элемент $g$} конечного поля $\FF_q$ есть элемент порядка $q -
1$.

\begin{theorem}[О циклической группе $\FF_q$]
  Каждое конечное поле имеет образующий элемент. Если $g$ --- образующий элемент
  $\FF^*_q$, то $g^j$ также является образующим элементом $\iff \gcd(j, q - 1) =
  1$. Таким образом, всего имеется $\varphi(q - 1)$ различных образующих
  элементов $\FF^*_q$, где $\varphi$ --- функция Эйлера.
\end{theorem}

\begin{theorem}[Единственность конечного поля порядка $q = p^f$]
  Если $\FF_q$ --- поле из $q = p^f$ элементов, то каждый элемент удовлетворяет
  уравнению $x^q - x = 0$, а $\FF_q$ --- это в точности множество корней этого
  уравнения.

  Обратно, для каждой степени простого числа $q = p^f$ поле разложения над
  $\FF_p$ многочлена $x^q - x$ является полем из $q$ элементов.
\end{theorem}

Пусть $K$ --- расширение степени $n$ конечного поля $F = \FF_p$. \emph{След
элемента $x \in K$} в поле $F$ определяется как сумма
\begin{equation*}
  Tr(x) = x + x^p + \dots + x^{p^{n - 1}}
\end{equation*}

\begin{theorem}[След элемента]
  След $Tr$ является гомоморфизмом аддитивных групп $K \to F$.
\end{theorem}

%% NOTE: 9
\paragraph{Логарифмирование.}

Наличие в конечном поле примитивного элемента $a$ позволяет ввести понятие
логарифма для ненулевых элементов этого поля. Пусть $G$ --- конечная
мультипликативная группа. \emph{Задача дискретного логарифмирования} состоит в
решении при заданных $a, b \in G$ уравнения \[a^x = b\] относительно целого $x$,
$0 \leq x < n = \text{ord } a$.

Решение $x$ называется \emph{дискретным логарифмом}, или \emph{индексом}, $b$
по основанию $a$ и обозначается $\text{ind}_a b$.

\emph{Примечание} --- Когда групповая операция в $G$ записывается аддитивно, то
рассматривается уравнение $xa = b$.

По сути, \emph{эллиптическая кривая над конечным полем} --- это конечная абелева
группа, в которой можно ставить задачу о вычислении дискретных логарифмов.

\subsection{Введение в эллиптические кривые}

\paragraph{Аффинные алгебраические многообразия, проективная плоскость.}

Пусть $F$ --- поле, $F^*$ --- множество обратимых элементов поля $F$.

\emph{Аффинным $n$-мерным пространством $A^n(F)$} над $F$ называется множество
точек \[\set{P = (x_1, \dots, x_n)} \in F^n\] значения $x_1, \dots, x_n$
называются \emph{аффинными координатами}.

\emph{Аффинное алгебраическое многообразие (множество) $V$} --- это подмножество
аффинного пространства, на котором обращаются в нуль полиномы $f_1, \dots, f_k
\in F[x_1, \dots, x_n]$:
\begin{equation*}
  V = \set{P \in F^n | f_1(P) = 0, \dots, f_k(P) = 0}
\end{equation*}

В случае $n = 2$ аффинное пространство называется \emph{аффинной плоскостью}, а
алгебраическое многообразие, идеал которого образован одиночным полиномом, ---
(плоской) \emph{алгебраической кривой}.

Степень полинома, задающего кривую, называется \emph{степенью кривой}.

\emph{Неприводимая алгебраическая кривая} задаётся неприводимым (над алгебраическим
замыканием $\overline{F}$ поля $F$) полиномом из кольца $F[x, y]$.

\begin{example}
  Алгебраическая кривая, заданная полиномом
  \begin{equation*}
    f(x, y) = (xy + 1)(x^2 + y^2 + 1)
  \end{equation*}

  Полином $f(x, y)$ раскладывается на множители, поэтому алгебраическая кривая
  является объединением кривых
  \begin{equation*}
    xy + 1 = 0 \land x^2 + y^2 + 1 = 0
  \end{equation*}

  Вместо этой кривой можно рассмотреть две более простых алгебраических кривых,
  задаваемых неразложимыми делителями левой части уравнения. Таким образом,
  изучение алгебраической кривой сводится к изучению её подмножеств, задаваемых
  нулями неприводимых полиномов.
\end{example}

Алгебраическую кривую $E$, заданную уравнением с коэффициентами из поля $F$,
будем обозначать $E/F$; алгебраическую кривую, точки которой лежат в $F^2$,
будем обозначать $E(F)$.

Даже если уравнение $f(x, y) = 0$, задающее кривую $E$, имеет коэффициенты
из простого поля $F$, множество решений этого уравнения (и, соответственно,
множество точек кривой) может рассматриваться над расширением поля $F$,
например, над его алгебраическим замыканием.

\emph{Аффинная прямая $A^1(F)$} над полем $F$ представляет собой поле $F$.

\emph{Проективной прямой $P^1(F)$} над полем $F$ называется множество пар
\begin{equation*}
  \set{X, Y} \in F^2 \backslash (0, 0)
\end{equation*}
с эквивалентностью $(X, Y) \equiv (aX, aY)$, если $a \in F^*$.

Если $Y \neq 0$, то каждая точка $(X, Y) \in P^1(F)$ эквивалентна точке $(x,
1)$ аффинной прямой: просто полагаем $x = X / Y$. Но на проективной прямой есть
точка вида $(X, 0)$, соответствующая аффинной точке.

Эта точка $P_\infty$ называется \emph{бесконечно удалённой}. Поэтому
\begin{equation*}
  P^1(F) = A^1(F) \cup \set{P_\infty}
\end{equation*}

\emph{Проективной плоскостью} $P^2(F)$ над полем $F$ называется множеством троек
\begin{equation*}
  \set{X, Y, Z} \in F^3 \backslash (0, 0, 0)
\end{equation*}
с эквивалентностью $(X, Y, Z) \equiv (aX, aY, aZ)$, если $a \in F^*$. Здесь
$X, Y, Z$ --- проективные координаты.

Свяжем аффинную плоскость с проективной. Полагая
\begin{equation*}
  x = \frac{X}{Z}, y = \frac{Y}{Z}, Z \neq 0,
\end{equation*}
получаем биекцию между множеством точек $(x, y)$ аффинной плоскости и
подмножеством точек $(x, y, 1)$ проективной плоскости.

Однако на проективной плоскости есть точки с нулевой $Z$-координатой, которые не
соответствуют никаким точкам аффинной плоскости.

Тем самым проективную плоскость можно представить как объединение всех точек
$(x, y)$ обычной (<<аффинной>>) плоскости с точками, для которых $Z = 0$.