summaryrefslogtreecommitdiff
path: root/crypto-algebra/lectures/lecture8.tex
blob: c7f1d0dc71912f6b0910e878e0c0a5d8bfc23f99 (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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
% Лекция 8 (16.10.23)

%% NOTE: 24?
\begin{theorem}[Об изоморфных эллиптических кривых над полем характеристики $> 3$]
  Всякая эллиптическая кривая над полем характеристики $> 3$ изоморфна
  эллиптической кривой вида
  \begin{equation*} %% NOTE: 8
    y^2 = x^3 + ax + b
  \end{equation*}
\end{theorem}
\begin{proof}
  Пусть $F$ --- поле характеристики $> 3$, $E$ --- эллиптическая кривая,
  заданная уравнением (2). Согласно теореме 23 данная кривая изоморфна кривой
  (7). Тогда сделаем в (7) замену переменных
  \begin{equation*}
    (x, y) \mapsto (x - \frac{b_2}{3}, y),
  \end{equation*}
  получим
  %% TODO: дописать eq1
  \begin{align*}
    y^2 &= \left(x - \frac{b_2}{3}\right)^3 + b_2 \left(x - \frac{b_2}{3}\right)^2
    + b_4 \left(x - \frac{b_2}{3}\right) + b_6, \\
    y^2 &= x^3 - b_2 x^2 + \frac{b_2^2}{3}x - \frac{b_2^3}{27} + b_2
    \left(x^2 - \frac{2b_2}{3}x + \frac{b_2^2}{9}\right) + b_4 x - \frac{b_2 b_4}{3} + b_6, \\
    \dots
  \end{align*}

  Таким образом, данная замена переводит кривую (7) в (8).
\end{proof}

Для эллиптической кривой, заданной уравнением (8), формулы для дискриминанта и
$j$-инварианта принимают вид
\begin{align*}
  \Delta &= -16 (4a^3 + 27b^2), \\
  j(E) &= -1728 \frac{64a^3}{\Delta} = 1728 \frac{4a^3}{4a^3 + 27b^2}
\end{align*}

В уравнении левая сторона ($y^2$) имеет степень 2, в то время как правая сторона
имеет степень 3 ($x^3$). Это означает, что горизонтальная линия может пересекать
кривую в трёх точках, если все корни вещественные. Однако вертикальная линия
может пересечь кривую самое большее в двух точках.

\begin{example}
  На рисунке 14 показаны две эллиптические кривые с уравнениями
  \begin{equation*}
    y^2 = x^3 - 9x \land y^2 = x^3 - 1 \; (y^2 = (x - 1)(x^2 + x + 1))
  \end{equation*}
  %% TODO: рисунок 1 (14)

  Таким образом, обе кривые гладкие. Однако первое имеет три вещественных корня
  ($x = \pm 3, x = 0$), второе --- только один вещественные корень ($x = 1$) и
  два мнимых ($x = \pm \frac{\sqrt{3} i - 1}{2}$; удовлетворяют уравнению
  $x^2 + x + 1 = 0$).
\end{example}

%% NOTE: 4
\paragraph{Сложение точек эллиптической кривой.}

Существует ряд эквивалентных способов для описания группового закона сложения
точек эллиптической кривой. Геометрически этот закон можно сформулировать
следующим образом: \emph{три коллинеарные точки на эллиптической кривой дают
нулевую сумму}. Операция сложения точек на эллиптической кривой, введённая по
данному правилу, превращает эллиптическую кривую в коммутативную группу.

Далее будут рассмотрены формулы сложения точек эллиптической кривой, которые
вытекают из данного правила. В качестве нулевого элемента выбирается точка
$\mathcal{O}$ на бесконечности. Таким образом, для любой точки $P \in E$
имеют место равенства
\begin{equation*}
  P + \mathcal{O} = \mathcal{O} + P = P.
\end{equation*}

Секущая, проходящая через бесконечно удалённую точку $\mathcal{O}$ и данную
точку кривой $P$, является вертикальной прямой.

Пусть $P \ne \mathcal{O}$ --- точка эллиптической кривой $E$ и $l$ ---
вертикальная прямая, проходящая через точку $P = (x_1, y_1)$. Эта прямая
пересекает $E$ ещё в точке $Q$ (с учётом кратности). Таким образом, $-P = Q$.

Пусть $Q = (x_2, y_2)$. Так как она лежит на вертикальной прямой $l$, то
$x_1 = x_2$. Тогда $y_2$ является решением уравнения
\begin{equation} %% NOTE: 9
  y^2 + f_1(x_1) y - f_3(x_1) = 0,
  \label{eq:9}
\end{equation}
где $f_1(x) = a_1 x + a_3$, $f_3(x) = x^3 + a_2 x^2 + a_4 x + a_6$.

Уравнение (\ref{eq:9}) имеет два корня $y_1$ и $y_2$. По теореме Виета
\begin{equation*}
  y_1 + y_2 = -f_1(x_1),
\end{equation*}
откуда получаем
\begin{equation*}
  y_2 = -y_1 - f_1(x_1).
\end{equation*}

Итак,
\begin{equation}
  -(x_1, y_1) = (x_1, -y_1 - a_1 x_1 - a_3).
  \label{eq:10}
\end{equation}

Может оказаться, что $y_2 = y_1$ и, соответственно, $-P = P$. Это возможно, если
вертикальная прямая, проходящая через $P$, касается кривой $E$ в точке $P$.

Рассмотрим, как вычисляется сумма двух различных точек $P_1 = (x_1, y_1)$ и
$P_2 = (x_2, y_2)$ на эллиптической кривой. Предположим, что $P_1, P_2 \neq
\mathcal{O}$ и $P_1 \neq \pm P_2$. Тогда $x_1 \neq x_2$. Пусть $l$ --- прямая,
проходящая через точки $P_1$ и $P_2$. Уравнение $l$ имеет вид
\begin{equation}
  y = \alpha x + \beta.
  \label{eq:11}
\end{equation}

Коэффициенты $\alpha$ и $\beta$ --- решения системы.
\begin{equation*}
  \begin{cases}
    y_1 = \alpha x_1 + \beta, \\
    y_2 = \alpha x_2 + \beta.
  \end{cases}
\end{equation*}

Тогда
\begin{align*}
  \alpha &= \frac{y_1 - y_2}{x_1 - x_2}, \\
  \beta &= y_1 - \alpha x_1 = y_2 - \alpha x_2.
\end{align*}

Прямая $l$ пересекает эллиптическую кривую $E$ в некоторой третьей точке
$Q = -(P_1 + P_2) = (\widetilde{x_3}, \widetilde{y_3})$.

Подставляя (\ref{eq:11}) в уравнение Вейерштрасса, получаем
\begin{equation*}
  (\alpha x + \beta)^2 + (\alpha x + \beta) (a_1 x + a_3) - (x^3 + a_2 x^2 +
  a_4 x + a_6) = 0.
\end{equation*}

Кубическое уравнение
\begin{equation*}
  -x^3 + (\alpha^2 + a_1 \alpha - a_2) x^2 + (2 \alpha \beta + a_3 \alpha + a_1
  \beta - a_4) x + (\beta^2 + a_3 \beta - a_6) = 0
\end{equation*}
имеет три корня: $x_1, x_2, \widetilde{x_3}$.

По теореме Виета
\begin{equation*}
  x_1 + x_2 + \widetilde{x_3} = \alpha^2 + a_1 \alpha - a_2.
\end{equation*}

Таким образом,
\begin{equation*}
  \begin{cases}
    \widetilde{x_3} = -x_1 - x_2 + \alpha^2 + a_1 \alpha - a_2, \\
    \widetilde{y_3} = \alpha \widetilde{x_3} + \beta = (y_1 - \alpha x_1) +
    \alpha \widetilde{x_3} = y_1 - \alpha(x_1 - \widetilde{x_3})
  \end{cases}
\end{equation*}

Получаем, $P_1 + P_2 = -Q = -(\widetilde{x_3}, \widetilde{y_3})$, используя
(\ref{eq:10}), находим
\begin{equation*}
  P_1 + P_2 = (x_3, y_3),
\end{equation*}
где
\begin{equation}
  \begin{cases}
    x_3 = -x_1 - x_2 + \alpha^2 + a_1 \alpha - a_2, \\
    y_3 = -y_1 + \alpha (x_1 - x_3) - a_1 x_3 - a_3.
  \end{cases}
\end{equation}

\begin{example}
  На рисунке 15 представлен типичный случай сложения точек $P_1$ и $P_2$. Чтобы
  найти $P_1 + P_2$, проводим прямую $\overline{P_1 P_2}$ и в качестве $P_1 + P_2$
  берём точку, симметричную относительно оси $x$ третьей точке, определяемой
  пересечением прямой $\overline{P_1 P_2}$ и кривой.

  %% TODO: рис 2 (15)
\end{example}

Найдём правило вычисления удвоенной точки $P + P$. Будем предполагать, что
$P \neq -P$. Чтобы найти $P + P$, проведём касательную через точку $P$. Эта
прямая задаётся уравнением (\ref{eq:11}).

Для нахождения углового коэффициента касательной $\alpha$ нужно найти полнй
дифференциал от полинома $f(x, y)$, задающего кривую в форме Вейерштрасса
(2). Получим
\begin{equation} %% TODO: другое \delta
  df(x, y) = \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy.
\end{equation}