椭圆曲线密码系统全解析
椭圆曲线密码系统基础
椭圆曲线密码系统主要基于椭圆曲线离散对数问题。简单来说,如果恰当选择各种参数,已知一个点 (P) 是由标量 - 点积 (kG) 计算得出(其中 (G) 是椭圆曲线的生成元,也称为基点),在没有额外信息的情况下,即使知道 (G),也极难确定整数 (k) 的值。
一个椭圆曲线密码系统通常由以下几个参数确定:
- 常数 (a) 和 (b)。
- 基点 (G=(x_G, y_G))。
- 若域为 (GF(p)),则有 (p)。
- 若域为 (GF(2^m)),则有 (m)。
- 若域为 (GF(2^m)),还有不可约多项式 (r)。
- 椭圆曲线 (E) 的阶 (N),即 (E) 上的点数。
- 基点 (G) 的阶 (n),即满足 (nG = \varnothing) 的最小正整数 (n)。
- (h = N/n),该值应较小,理想情况下等于 1。
美国国家标准与技术研究院(NIST)发布的标准给出了具体示例:
| 域类型 | 曲线方程 | 参数详情 |
| ---- | ---- | ---- |
| 素域 (GF(p)) | (y^2 = x^3 + ax + b) | 规定了 5 条曲线,(p) 的比特长度为 80、224、256、384 和 521,(a = -3) 简化了雅可比坐标下的加法运算。 |
| 二元域 (GF(2^m)) | (y^2 + xy = x^3 + ax^2 + b) | 规定了 10 条曲线,(m) 的值为 163、233、283、409 和 571,(a = 0) 或 (a = 1),结合
超级会员免费看
订阅专栏 解锁全文
68

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



