密码学学习笔记——筑基篇·卷五(椭圆曲线)


椭圆曲线


椭圆曲线(elliptic curve)

定义椭圆曲线是一条由方程$y^2=x^3+ax+b$给定的曲线,其中 $a,b\in F,char(F)\neq 2,3$,,并满足 $\Delta=4a^3+27b^2\neq0$ 。
丢番图曲线:$y^2=x^3-x+9$ ($a=-1,b=9)$, ($x,y)\in\mathbb{Q}^2$

$\Delta\neq0$:非奇异(non-singular),光滑,$x^3+ax+b$无重根
$\Delta=0$:奇异 (singular),不光滑,$x^3+ax+b$有重根(奇异点)

补充:有重根说明多项式和它的导数存在公共根

奇异点

前两个叫结点(node),第三个叫尖点(cusp)

奇异点

  • 该点处曲线不可微分,即奇异点处无法作切线(切线值无定义)
  • 只要椭圆曲线是奇异的,奇异点就一定在x轴上
  • 当点的集合包含奇异点时无法构成群,因为奇异点处无法作切线,故讨论椭圆曲线时排除奇异的情况
  • 奇异点到原点的距离是左根到原点的距离的一半

判别式:

$\Delta<0$时:

  • 图像有一个组成部分
  • $x^3+ax+b=0$只有唯一的实数根

判别式小于0

$\Delta>0$时:

  • 图像有两个组成部分
  • $x^3+ax+b=0$有三个不同的实数根

判别式大于0

  • 椭圆曲线:魏尔斯特拉斯方程 $y^2=x^3+ax+b$定义在域上的一条光滑射影亏格(genus)为1的曲线。
  • 椭圆亏格为0的曲线。

椭圆曲线上的点

椭圆曲线上的点通常用P、Q或R表示
O:无穷远点(point at infinity)


加法

几何表示

群:$(E,+)$
加法运算+: $E$里点和点之间的加法(并非简单的坐标间加法,而是一种几何的方法)

$(E,+)$加法阿贝尔群对于$\forall P,Q,R\in E$,都有

  • 封闭性:$P+Q\in E$
  • 结合律:$(P+Q)+R=P+(Q+R)$
  • 单位元:$P+O=O+P=P$ (无穷远点$O$是单位元)
  • 逆元:$P+(-P)=O$ ($P=(x_1,y_1),-P=(x_1,-y_1)$)
  • 交换律:$P+Q=Q+P$

椭圆曲线三个点在一条直线上时,三个相加等于无穷远点

4种情况:

  • 情况1
  • 情况2
  • 情况3
  • 情况4

$nP:=P+P+\cdots+P$
$0P=O,\quad(-n)P=-(nP)$

点P的阶:$\text{满足 }nP=O\text{的最小正整数}n$

坐标表示

$P=(x_1,y_1),Q=(x_2,y_2)$,则$P+Q$ 有四种情况:

  1. $P\neq Q$ 且$x_1\neq x_2$
  2. $P\neq Q$ 且$x_1 = x_2 : P+Q=O$
  3. $P=Q$且$y_1\neq0$
  4. $P=Q$且$y_1=0:P+P=2P=O$

点的加法算法

$P=(x_1,y_1),Q=(x_2,y_2)$,椭圆曲线为$x^3+ax+b:$

  • if $\left(P\neq Q\mathrm{~and~}x_1=x_2\right)$or$\left(P=Q\mathrm{~and~}y_1=0\right)$

    ​ return $O$

  • if $P\neq Q$ and $x_1\neq x_2$, $\lambda=\frac{y_2-y_1}{x_2-x_1}\:,\:c=\frac{y_1x_2-y_2x_1}{x_2-x_1}$

    else $\lambda=\frac{3x_{1}^{2}+a}{2y_{1}},c=\frac{-x_{1}^{3}+ax_{1}+2b}{2y_{1}}$$(即P=Q$ and $y_1\neq0)$

  • return $(x_3,-y_3)=(\lambda^2-x_1-x_2,-\lambda^3+(x_1+x_2)\lambda-c)$

定理 (Poincaré,约1900年):设$F$是域,椭圆曲线方程为
$x^3+ax+b,a,b\in F$,及$E=\begin{Bmatrix}(x,y)&x^3+ax+b\end{Bmatrix}\cup\begin{Bmatrix}0\end{Bmatrix}$
设$E(F)=\{(x,y)\in E\mid x,y\in F\}\cup\{O\}$,则$E(F)$是$E$的子群


无穷远点

仿射平面:仿射坐标$(x,y)\in A^2(F)$
射影平面:射影坐标$(X,Y,Z)\in P^2(F)$
$(0,0,0)\notin P^2(F)$
转换公式:$x=\frac{X}{Z},y=\frac{Y}{Z}$

例:仿射坐标
射影坐标(X,Y,Z)=(3Z,2Z,Z)

仿射点:坐标形式为$(X:Y:1)$的点

无穷远点的坐标

$x=\frac X0,y=\frac Y0$

仿射坐标(无法表示)$\longleftarrow$射影坐标$(X:Y:0)$

无穷远线(line at infinity)

无穷远点$(X:Y:0)$
无穷远线:$(X:1:0)$和$(1:0:0)$形成的直线,嵌在射影平面用$P^1(F)$表示


有限域上的椭圆曲线

$Z_p:$ 椭圆曲线密码常用的有限域 $(p>3$是素数)

定义在$F_p$上的椭圆曲线(坐标运算都是模$p$的)

方程:$y^2\equiv x^3+ax+b\pmod p$),其中$a,b\in F_p$是常数

满足:$\Delta=4a^3+27b^2\not\equiv0\pmod p$。

点:$(x,y)\in F_p\times F_p$
群:$E(F_p)$

$y^2\equiv x^3+ax+b\pmod p$

$|E(F_p)|\leq2p+1(\text{每个}x\text{对应两个}y\text{,而}x\text{的取值不超过}p\text{个},此处加上无穷远点)$

定理 (Hasse,1933): $p+1-2\sqrt{p}\leq\left|E(F_p)\right|\leq p+1+2\sqrt{p}$
Schoof 算法:计算 $|E(F_p)|$的大小
(时间复杂度:$O((logp)^8)$个比特运算和$\mathcal{O}((logp)^6)$个$\mathbb{Z}_p$中运算)

定理:$E(F_p)$是循环群或同构于两个循环群的笛卡尔乘积$(p>3)$
$E(F_p)\cong Z_{n_2}\times Z_{n_1}$

$E(F_p)\cong Z_{n_2}\times Z_{n_1}$
$n_2\mid n_1,n_2\mid(p-1)$

定理:$|E(F_p)|$是素数或两个不同素数乘积,则$E(F_p)$是循环群$(p>3)$


点压缩(point compress)

$(x,y)转为存储(x,y\ mod\ 2),即y是奇数存储(x,1),y是偶数存储(x,0),y是偶数$

点解压(point decompress)

$(x,y\ mod\ 2)$
$y^2=x^3+ax+b\ mod\ p$
$y=\pm\sqrt{x^3+ax+b}\:mod\:p\longrightarrow y_1=y,y_2=p-y$

点压缩与点解压


同源(isogeny)

椭圆曲线的结构特点

  • 几何结构(光滑射影曲线)
  • 代数结构(点群$E$)

同源是一种保持椭圆曲线结构的映射

  • $\phi(O)=O^{\prime}$

自同态 (endomorphism): 椭圆曲线到自身的同源
自同构 (automorphism): 同源是自同态,也是同构

注意:自同态未必是同源,比如:$\forall P\in E(K),\phi(P)=O$ ,是自同态,但不是同源(因为不是满同态)

例:$\phi{:}E(K)\to E(K)$,记$\phi:=[n]$
$P\mapsto nP$
自同态 $(n=0$时不是同源)
$n\neq0:$同源
$n=\pm1:$自同构

对于大多数椭圆曲线,唯一的自同态就是这种形式的同源

同源的标准形式

设 $\phi{:}E(K)\to E^{\prime}(K)$ 是同源 $(K$是域),点$P=(x,y)\in E(K)$,
则仿射坐标下,$\phi$具有以下标准形式(standard form):

其中$u(x),v(x),s(x),t(x)\in K[X],u(x),v(x)$互素,$s(x),t(x)$互素。

推论:设$E(K)$ 的方程为 $y^2= x^3+ ax+ b$, $f( x) = x^3+ ax+b$,则:
$v^3(x)\mid t^2(x)$
$t^2(x)\mid v^3(x)f(x)$
同源$\phi{:}E(K)\to E^{\prime}(K)$是同源 (K是域)
$\phi(x,y)=(\frac{u(x)}{v(x)},\frac{s(x)}{t(x)}y)$

弗罗贝尼乌斯自同态(Frobenius endomorphism)

$\pi{:}E(F_q)\to E(F_q)$
$(X{:}Y{:}Z)\mapsto(X^q:Y^q:Z^q)$

$E(F_q)$的方程$y^2=x^3+ax+b,a,b\in F_q,(x,y)\in F_q^2$
$\pi(x,y)=(x^q,\:(x^3+ax+b)^{\frac{q-1}2}y)$

$u(x)=x^q,v(x)=e,s(x)=(x^3+ax+b)^{\frac{q-1}2},t(x)=e$

注:若$F_q$的特征是素数$p$
$\boldsymbol{\pi}^{\prime}:E(F_q)\to E^{\prime}(F_q)$
$(X{:}Y{:}Z)\mapsto(X^p{:}Y^p{:}Z^p)$
同源(未必是自同态)

定理 (Sato-Tate定理):$\left|E(F_q)\right|=\left|E^{\prime}(F_q)\right|,当且仅当,这两个椭圆曲线同源。$

同源的度(degree of isogeny)

定义(同源的度): $\phi(x,y)=(\frac {u(x)}{v(x)},\frac{s(x)}{t(x)}y)$是标准形式,同源$\phi$的度是
$deg(\phi):=\max(deg(u(x)),deg(v(x)))。$

同源的可分性(separability)

定义(可分性): $\phi(x,y)=(\frac {u(x)}{v(x)},\frac{s(x)}{t(x)}y)$是标准形式,
如果 $(\frac{u(x)}{v(x)})^{\prime}\neq\theta$,则称$\phi$是可分的(separable);
如果 ($\frac{u(x)}{v(x)})^{\prime}=\theta$,则称$\phi$是不可分的 (inseparable)。

同源的分解

任何特征大于0的同源都可以分解成可分同源和不可分同源的复合

引理1:域$K$的特征是$p$。设多项式 $u(x),v(x)\in K[X]$互素,则
$(\frac{u(x)}{v(x)})^{\prime}=\theta\Leftrightarrow u^{\prime}(x)=v^{\prime}(x)=\theta$
$\Leftrightarrow u(x)=f(x^{p}),v(x)=g(x^{p})\:,$
其中$f(x)$,g$(x)\in K[X]$

引理2:$\phi{:}E(K)\to E^{\prime}(K)$是不可分同源,$K$ 的特征是$p$ 。则标准形式下,有

其中$a(x),b(x)\in K[X]$

性质:同源$\phi{:}E(K)\to E^{\prime}(K)$,$K$的特征是$p>0$,则有
$\phi=\alpha\circ(\pi^{\prime})^n,$
其中 $\alpha$是可分同源,$\pi^{\prime}$是$p$ -power 弗罗贝尼乌斯映射,$n\geq0$。
注:$\pi^\prime:(X{:}Y{:}Z)\mapsto(X^p{:}Y^p{:}Z^p)$

度的分解

定义(度的分解):对于同源的分解 $\phi=\alpha\circ(\pi^{\prime})^n$,设$deg_s\phi$是其可
分度 (separable degree), $deg_i\phi$是其不可分度 (inseparable
degree),则
$deg_s\phi:=deg\alpha,\:deg_i\phi:=p^n,$
而且总是有
$deg\phi=(deg_s\phi)\cdot(deg_i\phi)=deg\ \alpha\cdot p^n$

例:

定义(纯不可分同源):可分度是1的同源,叫纯不可分的(purely inseparable)

性质:纯不可分同源的度必然是$p^n$的形式(反之,未必成立)。

$deg\phi=1$ (同构)时,则$\phi$具有如下性质:

  • $\phi$是可分的(即$(\frac u(x){v(x)})^{\prime}\neq0)$
  • $\phi$也是纯不可分的 (即$deg_s\not\phi=1)$

代数闭包(algebraic closure)

同源 $\phi{:}E(K)\to E^{\prime}(K)$诱导了一个$E(\overline{K})\to E^{\prime}(\overline{K})$的群同态。

例:$E(F_q)$上的弗罗贝尼乌斯自同态$\pi{:}\left(X{:}Y{:}Z\right)\mapsto\left(X^q{:}Y^q{:}Z^q\right)$,
诱导了一个$E(\overline{F}_q)\to E^{\prime}(\overline{F}_q)$的群同构。


同源核(isogeny kernel)

本质上是同源的同态核

第一同源核定理(First isogeny-kernel theorem)

定理:同源$\phi=\alpha$ o$(\pi^{\prime})^n$,则$|\ker\phi|=deg(\alpha)$
(同源核的阶等于其可分度)

$|\mathrm{Ker~}\phi|=|\mathrm{Ker~}\alpha|=|S|=deg\left(g\right)=deg\left(\alpha\right)$

例:$deg(\alpha)=3$,则$|\ker\phi|=3$

第二同源核定理(Second isogeny-kernel theorem)

定理:设$E(K)$是椭圆曲线,$G$是$E(\bar{K})$的有限子群,则存在椭圆曲线$E^\prime$,以及可分同源$\phi:E\to E^{\prime}$,使得 $Ker \phi=G$,且$E^\prime$和$\phi$在同构意义下是唯一的。

推论:度是合数的同源可以被分解成一系列度是素数的同源。

椭圆曲线的自同态环

同态群(groups of homomorphisms)

设椭圆曲线$E$和$E^{\prime}$定义在域$K$上,定义集合

$Hom(E,E^{\prime}):=\{\text{所有同源}\alpha{:}E\to E^{\prime}\}\cup\{[0]\}$

$Hom(E,E^{\prime})$上的加法运算:对于任意 $\alpha,\beta\in Hom(E,E^{\prime})$,任意点
$P\in E(\overline{K}),\alpha+\beta$定义为$(\alpha+\beta)(P):=\alpha(P)+\beta(P)$

构成加法阿贝尔群,加法单位元:$[0]:P\mapsto 0P(=O)$

引理1

设 $\alpha, \beta \in Hom(E,E’)$,对于所有点 $P \in E(\overline{K})$,如果 $\alpha(P) = \beta(P)$,则 $\alpha = \beta$

引理2

对于所有 $n \in Z$ 和 $\alpha \in Hom(E,E’)$,有 $[n] \circ \alpha = n\alpha = \alpha \circ [n].$

分配律

对于$\alpha,\beta\in Ho\boldsymbol{m}(E,E^{\prime}),\phi\in Ho\boldsymbol{m}(E^{\prime},E^{\prime\prime})$,有
$\phi\circ(\alpha+\beta)=\phi\circ\alpha+\phi\circ\beta$

对于$\phi\in Ho\boldsymbol{m}(E,E^{\prime}),\boldsymbol{\alpha},\beta\in H\boldsymbol{om}(E^{\prime},E^{\prime\prime})$,有
$(\alpha+\beta)\circ\phi=\alpha\circ\phi+\beta\circ\phi$

消去律

消去律:设 $\boldsymbol{\alpha},\boldsymbol{\beta}{:}E\to E^{\prime},\boldsymbol{\phi}{:}E^{\prime}\to E^{\prime\prime}$是同源,有

设 $\phi{:}E\longrightarrow E^{\prime},\boldsymbol{\alpha},\boldsymbol{\beta}{:}E^{\prime}\to E^{\prime\prime}$是同源,有

对偶同源

定义(对偶同源):

设同源 $\phi:E \rightarrow E’$ , 其度为 $deg(\phi)$ , 则 $\phi$ 唯一的对偶同源为 $\widehat{\phi}$ , 满足

$\widehat{\phi} \circ \phi = [deg(\phi)]$

$\text{另外,定义}[\widehat0]:=[0]$

例: 设 $deg(\phi) = 3$, 则 $\widehat{\phi} \circ \phi = [deg(\phi)] = [3]$, 即 对于任意点 $P \in E$, 有

性质1:如果 $\widehat{\phi} \circ \phi = [\deg(\phi)]$,那么 $\phi \circ \widehat{\phi} = [\deg(\phi)]$,也即

证明:$(\phi \circ \widehat{\phi}) \circ \phi = \phi \circ (\widehat{\phi} \circ \phi)$ (结合律)

$= \phi \circ [\deg(\phi)]$ (对偶同源定义)

$= [\deg(\phi)] \circ \phi$ (《同态群》引理2)

则 $\phi \circ \widehat{\phi} = [\deg(\phi)]$ (消去律)

性质2:对于任意 $n\in\mathbb{Z}$,有$[\widehat n]=[n]$
证明:

性质3:对于任意 $\alpha, \beta \in Hom(E,E’)$,有 $\widehat{\alpha + \beta} = \widehat{\alpha} + \widehat{\beta}$

性质4:对于任意$\alpha\in Hom(E^{\prime},E^{\prime\prime}),\beta\in Hom(E,E^{\prime})$,有

$\alpha\circ\beta$相当于$\phi$
$\widehat{\beta}\circ\widehat{\alpha}$相当于$\widehat{\phi}$
$[deg(\alpha\circ\beta)]$相当于$[deg(\phi)]$

未完待续……