summaryrefslogtreecommitdiff
path: root/crypto-algebra/lectures/lecture8.tex
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2024-08-06 23:54:54 +0400
committerAndrew Guschin <guschin@altlinux.org>2024-08-06 23:54:54 +0400
commitf9b917e3135b27caf54d4e595e30cbe7ece935ae (patch)
tree8dec46094b92e792e326e10a728abaec202f76a0 /crypto-algebra/lectures/lecture8.tex
parentcc5ac702b1f50b76103e8ba2d4fc1751c0d0238f (diff)
Лекции по моделям безопасности и методам алгебраической геометрии
Diffstat (limited to 'crypto-algebra/lectures/lecture8.tex')
-rw-r--r--crypto-algebra/lectures/lecture8.tex191
1 files changed, 191 insertions, 0 deletions
diff --git a/crypto-algebra/lectures/lecture8.tex b/crypto-algebra/lectures/lecture8.tex
new file mode 100644
index 0000000..c7f1d0d
--- /dev/null
+++ b/crypto-algebra/lectures/lecture8.tex
@@ -0,0 +1,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}
+