椭圆曲线相关知识详解
一、椭圆曲线的基本定义与性质
-
椭圆曲线的定义
椭圆曲线是一种三次的正则射影曲线。在合适的坐标系下,每一条椭圆曲线都可以用魏尔斯特拉斯(Weierstrass)形式来定义。魏尔斯特拉斯形式的方程为:
[Y^2 + a_1XY + a_3Y = X^3 + a_2X^2 + a_4X + a_6]
定义在域 (k) 上的椭圆曲线 (E \subset A^2(k)) 是由系数在 (k) 中的魏尔斯特拉斯形式方程所定义的正则曲线。 -
魏尔斯特拉斯形式的特点
- 其最高次项形式为 (X^3),所以唯一的无穷远点是 ([0, 1, 0])。
- 椭圆曲线 (E) 与无穷远直线在点 ([0, 1, 0]) 处的相交重数为 3,这意味着 ([0, 1, 0]) 是 (E) 的一个拐点,且无穷远直线是 (E) 的一条挠切线。
- 若 (F(X, Y, Z)) 是魏尔斯特拉斯形式的齐次化形式,则 (F_Z(0, 1, 0) = 1),因此 (E) 的射影闭包在 ([0, 1, 0]) 处也是正则的。
二、域的特征及其对椭圆曲线的影响
-
域的特征定义
设 (k) 是一个域,域 (k) 的特征 (char(k)) 定义如下:
[char(k) := \min{r \in N | r \cdot 1 = \underbrace{1 + 1 + \cdots + 1}_{r} = 0}]
如果存在这样的 (r \in N) 使得 (r \cdot 1 = 0) 在 (k) 中成立;否则,(char(k) := 0)。
域的特征要么是 0,要么是一个素数。例如:- (char(Q) = char(R) = char(C) = 0)。
- 在密码学中,我们关注定义在素域 (F_p = Z_p)((p) 是大素数)或二元域 (F_{2^l}) 上的椭圆曲线,显然 (char(Z_p) = p),(char(F_{2^l}) = 2)。
- 对于有限域 (F_q),设 (p := char(F_q))((p) 是素数),则 (q = p^l) ,其中 (l \in N)。
-
特征为 2 的域的特殊性质
在特征为 2 的域 (k) 中,有 ((a + b)^2 = a^2 + b^2) 和 (-a = +a) 成立,因为 (2 \cdot 1 = 1 + 1 = 0),在后续的计算中会经常用到这些性质。 -
椭圆曲线魏尔斯特拉斯形式的简化
-
特征 (p > 3) 的情况
:椭圆曲线的魏尔斯特拉斯形式可以简化为 (Y^2 = X^3 + bX + c)。具体操作步骤如下:
- 由于 (2 \neq 0),(2) 是 (k) 中的单位元,通过变换 (Y = Y - \frac{1}{2}(a_1X + a_3)) 得到 (Y^2 = X^3 + \tilde{a}X^2 + \tilde{b}X + \tilde{c})。
- 再进行代换 (X = X - \frac{1}{3}\tilde{a})(因为 (3) 也是单位元),最终得到 (Y^2 = X^3 + bX + c)。
-
特征为 2 的情况
:
- 若 (a_1 \neq 0),通过代换 (X = a_1^2X + \frac{a_3}{a_1}),(Y = a_1^3Y + \frac{a_1^2a_4 + a_3^2}{a_1^3}),可将魏尔斯特拉斯形式简化为 (Y^2 + XY = X^3 + aX^2 + c)。
- 若 (a_1 = 0),通过代换 (X = X + a_2),可将其简化为 (Y^2 + aY = X^3 + bX + c)。
-
特征 (p > 3) 的情况
:椭圆曲线的魏尔斯特拉斯形式可以简化为 (Y^2 = X^3 + bX + c)。具体操作步骤如下:
我们将上述简化后的方程称为短魏尔斯特拉斯形式。
三、椭圆曲线的正则性判别
-
判别式的定义
对于魏尔斯特拉斯形式的方程 (Y^2 + a_1XY + a_3Y = X^3 + a_2X^2 + a_4X + a_6),其判别式 (\Delta) 定义为:
[\Delta := -b_2^2b_8 - 8b_4^3 - 27b_6^2 + 9b_2b_4b_6]
其中:
[b_2 := a_1^2 + 4a_2]
[b_4 := 2a_4 + a_1a_3]
[b_6 := a_3^2 + 4a_6]
[b_8 := a_1^2a_6 + 4a_2a_6 - a_1a_3a_4 + a_2a_3^2 - a_4^2] -
正则性判别命题
设曲线 (C) 由魏尔斯特拉斯形式方程定义在域 (k) 上,且 (char(k) \neq 3),则 (C) 是正则的当且仅当 (\Delta \neq 0)。具体证明如下:- 特征 (p > 3) 的情况 :此时可假设定义方程为 (F(X, Y) = Y^2 - (X^3 + bX + c)),判别式 (\Delta) 与三次多项式 (f(X) = X^3 + bX + c) 的判别式 (D(f) = 4b^3 + 27c^2) 相差一个常数因子。多项式 (F(X, Y))、(F_X(X, Y) = -(3X^2 + b)) 和 (F_Y(X, Y) = 2Y) 有公共零点当且仅当 (f(X)) 和 (\frac{df}{dX}(X)) 有公共零点,这又等价于 (\Delta = D(f) = 0)。
- 特征为 2 的情况 :考虑 (a_1 \neq 0) 的情况,可假设定义方程为 (Y^2 + XY = X^3 + aX^2 + c),此时判别式 (\Delta = c)。点 ((x, y)) 是奇点当且仅当 ((x, y)) 是 (F(X, Y) = Y^2 + XY + (X^3 + aX^2 + c))、(F_X(X, Y) = Y + X^2) 和 (F_Y(X, Y) = X) 的公共零点。而 (F_X) 和 (F_Y) 唯一的公共零点是 ((0, 0)),且 (F(0, 0) = c),所以 ((0, 0)) 是奇点当且仅当 (\Delta = c = 0)。
四、椭圆曲线上的点加法
-
点加法的几何定义
设 (E \subset P^2(k)) 是定义在域 (k) 上的射影椭圆曲线,我们选择 (E) 上的任意一点作为单位元 (O)。对于 (P, Q \in E),点加法的定义如下:- 首先画一条连接 (P) 和 (Q) 的直线 (L)(若 (P = Q),则 (L) 是 (E) 在 (P) 处的切线),(L) 与 (E) 相交于第三个点,记为 (P * Q)。
- 再画一条通过 (O) 和 (P * Q) 的直线 (\tilde{L})(若 (P * Q = O),则 (\tilde{L}) 是 (O) 处的切线),(\tilde{L}) 与 (E) 相交于第三个点,设为 (R),则定义 (P + Q = R)。
-
椭圆曲线构成阿贝尔群的证明
定理表明 ((E, +)) 是一个阿贝尔群,具体性质如下:- 单位元性质 :对于所有 (P \in E),(P + O = P)。证明:设 (L) 是连接 (P) 和 (O) 的直线,那么通过 (O * P) 和 (O) 的直线 (\tilde{L}) 也是 (L),(\tilde{L} = L) 与 (E) 的第三个交点就是 (P)。
- 交换律 :对于 (P, Q \in E),(P + Q = Q + P),这是显然的。
- 逆元性质 :对于 (P \in E),存在 (-P) 使得 (P + (-P) = O)。证明:设 (\tilde{L}) 是 (O) 处的切线,(S) 是 (\tilde{L}) 与 (E) 的第三个交点,设 (L) 是通过 (P) 和 (S) 的直线,则 (-P) 是 (L) 与 (E) 的第三个交点。
- 结合律 :((P + Q) + R = P + (Q + R)) 对于所有 (P, Q, R \in E) 成立。虽然有多种证明方法,但较为复杂,这里不详细展开。如今,通过点加法公式(命题 A.114 和 A.115),计算机代数系统能够明确验证结合律。
下面是点加法的流程 mermaid 图:
graph LR
A[选择椭圆曲线 E 和单位元 O] --> B[取点 P, Q 属于 E]
B --> C[画连接 P 和 Q 的直线 L(P=Q 时为切线)]
C --> D[求 L 与 E 的第三个交点 P*Q]
D --> E[画通过 O 和 P*Q 的直线 L~]
E --> F[求 L~ 与 E 的第三个交点 R]
F --> G[定义 P + Q = R]
-
(k) - 有理点子集的性质
若 (O) 是 (k) - 有理点,则 (E(k)) 是 (E) 的一个子群。证明如下:设 (P, Q \in E(k)),用于计算连接 (P) 和 (Q) 的直线 (L) 与 (E) 的第三个交点的多项式 (G(U, V)) 的系数在 (k) 中。交点对应于 (G(U, V)) 的零点,如果 (G(U, V)) 的两个零点的坐标在 (k) 中,那么第三个零点的坐标也在 (k) 中。所以,如果直线 (L) 与 (E) 的两个交点是 (k) - 有理点,那么第三个交点也是 (k) - 有理点,因此 (P + Q) 和 (-P) 都是 (k) - 有理点。
五、点加法公式
从现在起,我们总是假设阿贝尔群 (E) 的零元是无穷远点,即 (O = [0, 1, 0])。
1.
特征 (p > 2) 的情况
设椭圆曲线 (E) 由方程 (Y^2 = X^3 + aX + b) 定义在域 (k) 上,且 (char(k) = p > 2):
- 对于 (P = (x, y) \in E),(-P = (x, -y))。
- 设 (P_1 = (x_1, y_1) \in E) 和 (P_2 = (x_2, y_2) \in E):
- 若 (P_1 = -P_2),则 (P_1 + P_2 = O)。
- 若 (P_1 \neq -P_2),则 (P_3 = P_1 + P_2 = (x_3, y_3) = (\lambda^2 - x_1 - x_2, \lambda(x_1 - x_3) - y_1)),其中:
- 当 (P_1 \neq P_2) 时,(\lambda = \frac{y_2 - y_1}{x_2 - x_1})。
- 当 (P_1 = P_2) 时,(\lambda = \frac{3x_1^2 + a}{2y_1})。
2.
特征为 2 的情况
设椭圆曲线 (E) 由方程 (Y^2 + XY = X^3 + aX^2 + b) 定义在域 (k) 上,且 (char(k) = 2):
- 对于 (P = (x, y) \in E),(-P = (x, x + y))。
- 设 (P_1 = (x_1, y_1) \in E) 和 (P_2 = (x_2, y_2) \in E):
- 若 (P_1 = -P_2),则 (P_1 + P_2 = O)。
- 若 (P_1 \neq -P_2),则 (P_1 + P_2 = P_3 = (x_3, y_3)),其中:
- (x_3 = \lambda^2 + \lambda + a + x_1 + x_2)。
- (y_3 = (x_1 + x_3)\lambda + x_3 + y_1)。
- (\lambda) 的计算如下:
- 若 (x_1 \neq x_2),(\lambda = \frac{y_2 + y_1}{x_2 + x_1})。
- 若 (x_1 = x_2),(\lambda = \frac{x_1 + y_1}{x_1})。
六、标量与点的乘法
-
定义
设 (P) 是椭圆曲线 (E) 上的一点,(r \in N),标量与点的乘法定义为:
[r \cdot P := \underbrace{P + P + \cdots + P}_{r}]
对于 (r > 0);(0 \cdot P := O)。
显然有 ((r + s)P = rP + sP) 和 (r(-P) = -rP)。 -
在密码学中的应用
标量 - 点乘法 (rP) 在阿贝尔群 (E) 中类似于素剩余类群 (Z_p^*) 中的指数运算 (g^r)。在密码学中,它被用作单向函数,使得基于离散对数问题的密码方案能够在椭圆曲线上进行类似的实现。
综上所述,椭圆曲线在代数和密码学领域有着丰富的理论和重要的应用,其性质和运算规则为相关领域的研究和实践提供了坚实的基础。我们通过对椭圆曲线的定义、域特征的影响、点加法和标量 - 点乘法等方面的详细介绍,希望能帮助读者更好地理解椭圆曲线的基本概念和相关运算。
下面是不同特征域下椭圆曲线相关性质的总结表格:
| 特征情况 | 短魏尔斯特拉斯形式 | 判别式 | 点加法公式 |
| ---- | ---- | ---- | ---- |
| (char(k) = p > 3) | (Y^2 = X^3 + bX + c) | (D(f) = 4b^3 + 27c^2) | 见特征 (p > 2) 情况 |
| (char(k) = 2) | (a_1 \neq 0) 时:(Y^2 + XY = X^3 + aX^2 + c);(a_1 = 0) 时:(Y^2 + aY = X^3 + bX + c) | (a_1 \neq 0) 时:(\Delta = c) | 见特征为 2 情况 |
椭圆曲线相关知识详解(续)
七、爱德华兹椭圆曲线模型
在非二元域的情况下,爱德华兹(Edwards)引入了一种(奇异)椭圆曲线模型。这些以爱德华兹形式表示的曲线由方程 (X^2 + Y^2 = a^2(1 + X^2Y^2)) 定义。
1.
群运算特点
- 群运算可以通过一个简单统一的加法法则来表示:对于 ((x_1, y_1)) 和 ((x_2, y_2)) 这两个点,它们的和为 ((\frac{x_1y_2 + y_1x_2}{a(1 + x_1x_2y_1y_2)}, \frac{y_1y_2 - x_1x_2}{a(1 - x_1x_2y_1y_2)})),没有任何例外情况。
- 零元素是 ((0, a)),点 (P = (x, y)) 的逆元是 ((-x, y))。
2.
与普通椭圆曲线的关系
- 爱德华兹形式的曲线 (C) 不是定义 A.105 意义下的椭圆曲线,它的次数为 4,并且在仿射平面上是正则的。无穷远点 ([1, 0, 0]) 和 ([0, 1, 0]) 是 (C) 的奇点。
- 每个非二元域上的椭圆曲线都可以(更精确地说,是双有理等价)变换为扩展域(在很多情况下就是原域)上的爱德华兹形式曲线,并且可以在那里进行群运算。而且,对于爱德华兹形式的曲线有更快的算法。
下面是爱德华兹椭圆曲线群运算的流程图:
graph LR
A[输入点 (x1, y1) 和 (x2, y2)] --> B[计算分子 x1y2 + y1x2 和 y1y2 - x1x2]
B --> C[计算分母 a(1 + x1x2y1y2) 和 a(1 - x1x2y1y2)]
C --> D[计算新点的坐标 (x3, y3) = (分子/分母)]
D --> E[输出结果 (x3, y3)]
八、椭圆曲线在密码学中的应用拓展
-
基于椭圆曲线的密码体制优势
- 安全性高 :椭圆曲线密码体制(ECC)基于椭圆曲线上的离散对数问题(ECDLP),与传统的基于大整数分解或离散对数问题的密码体制相比,在相同的安全级别下,ECC 所需的密钥长度更短。例如,160 位的 ECC 密钥提供的安全性与 1024 位的 RSA 密钥相当,这大大减少了计算量和存储需求。
- 计算效率高 :由于密钥长度较短,在加密、解密和签名验证等操作中,ECC 的计算速度更快,尤其是在资源受限的设备上,如智能卡、移动终端等,ECC 具有明显的优势。
-
具体的密码学应用场景
- 数字签名 :椭圆曲线数字签名算法(ECDSA)是 ECC 在数字签名领域的典型应用。它通过使用私钥对消息进行签名,公钥用于验证签名的有效性。在网络通信中,ECDSA 可以确保消息的完整性和发送者的身份真实性,广泛应用于金融交易、电子政务等领域。
- 密钥交换 :椭圆曲线迪菲 - 赫尔曼(ECDH)密钥交换协议允许两个通信方在不安全的信道上安全地交换共享密钥。双方通过各自的私钥和对方的公钥计算出相同的共享密钥,用于后续的对称加密通信。这在无线网络、VPN 等场景中有着重要的应用。
九、椭圆曲线研究的未来趋势
-
理论研究的深入
- 新的曲线模型探索 :随着对椭圆曲线性质的不断深入研究,可能会发现更多新的曲线模型,这些模型可能具有更优良的性质,如更高的计算效率、更强的安全性等。
- 曲线分类和性质研究 :进一步对椭圆曲线进行分类,研究不同类型曲线的特殊性质,有助于更好地理解椭圆曲线的本质,为其在各个领域的应用提供更坚实的理论基础。
-
应用领域的拓展
- 量子计算时代的应对 :随着量子计算技术的发展,传统的密码体制面临着被破解的风险。椭圆曲线密码体制虽然在一定程度上对量子计算有一定的抵抗能力,但仍需要进一步研究和改进,以确保在量子计算时代的安全性。
- 新兴技术领域的融合 :椭圆曲线可能会与区块链、人工智能等新兴技术进行更深入的融合。例如,在区块链中,椭圆曲线的数字签名可以用于确保交易的安全性和不可篡改性;在人工智能领域,椭圆曲线的加密技术可以保护数据的隐私和安全。
十、总结与展望
椭圆曲线作为代数几何中的重要研究对象,在密码学、计算机科学等多个领域展现出了巨大的应用价值。通过对椭圆曲线的定义、性质、运算规则以及在密码学中的应用等方面的详细介绍,我们可以看到其丰富的理论内涵和广泛的应用前景。
在未来的研究和实践中,我们需要不断深入探索椭圆曲线的理论,开发更高效的算法,以应对日益增长的安全需求和新兴技术的挑战。同时,加强椭圆曲线在不同领域的应用推广,促进相关领域的发展和创新。
下面是椭圆曲线相关知识的综合对比表格:
| 知识类别 | 普通椭圆曲线 | 爱德华兹椭圆曲线 |
| ---- | ---- | ---- |
| 定义形式 | 魏尔斯特拉斯形式 (Y^2 + a_1XY + a_3Y = X^3 + a_2X^2 + a_4X + a_6) | (X^2 + Y^2 = a^2(1 + X^2Y^2)) |
| 次数 | 3 | 4 |
| 奇点情况 | 一般无奇点(正则曲线) | 无穷远点 ([1, 0, 0]) 和 ([0, 1, 0]) 是奇点 |
| 群运算 | 基于几何方法定义点加法,公式较复杂 | 有简单统一的加法法则 |
| 应用优势 | 密码学中广泛应用,安全性和效率平衡 | 有更快的算法,适合特定场景 |
希望通过本文的介绍,读者能够对椭圆曲线有更全面、深入的理解,为进一步的研究和应用提供有益的参考。
超级会员免费看
87

被折叠的 条评论
为什么被折叠?



