(4.13)第4章 公钥密码6
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
3. 椭圆曲线密码体制的优点 与基于有限域上离散对数问题的公钥体制(如 Diffie-Hellman密钥交换和ElGamal密码体制)相 比,椭圆曲线密码体制有如下优点。
17
(1) 安全性高 攻击有限域上的离散对数问题可以用指数积分法, 其运算复杂度为O(exp 3 (log p)(log log p)2 ) ,其中p是模数 (为素数)。而它对椭圆曲线上的离散对数问题并 不有效。目前攻击椭圆曲线上的离散对数问题的方 法只有适合攻击任何循环群上离散对数问题的大步 小步法,其运算复杂度为O(exp(log pmax )) ,其中 pmax是椭圆曲线所形成的Abel群的阶的最大素因子。 因此,椭圆曲线密码体制比基于有限域上的离散对 数问题的公钥体制更安全。
20
正是由于椭圆曲线具有丰富的群结构和多选择性, 并可在保持和RSA/DSA体制同样安全性能的前提 下大大缩短密钥长度(目前160比特足以保证安全 性),因而在密码领域有着广阔的应用前景。表 4.7给出了椭圆曲线密码体制和RSA/DSA体制在保 持同等安全的条件下各自所需的密钥的长度。
21
课程总结
第四章
公钥密码(6)
主要内容 4.1 密码学中一些常用的数学知识 4.2 公钥密码体制的基本概念 4.3 RSA算法 4.4 背包密码体制 4.5 Rabin密码体制 4.6 椭圆曲线密码体制
1
4.6.2 有限域上的椭圆曲线
密码中普遍采用的是有限域上的椭圆曲线,有 限域上的椭圆曲线是指曲线方程定义式(4.1)中,所 有系数都是某一有限域GF(p)中的元素(其中p为 一大素数)。其中最为常用的是由方程 y2≡x3+ax+b(mod p) (a,b∈GF(p),4a3+27b2(mod p)≠0) (4.2) 定义的曲线。
1、椭圆曲线密码体制的基础知识;
22
2
3
例4.12 p=23,a=b=1,4a3+27b2(mod 23)≡8≠0 ,方 程(4.2)为y2≡x3+x+1,其图形是连续曲线,由图 4.4(b)所示。 然而我们感兴趣的是曲线在第一象限中的整数 点。设Ep(a,b)表示方程(4.2)所定义的椭圆曲线上的 点集{(x,y)|0≤x<p,0≤y<p,且x,y均为整数}并上无穷 远点O。本例中E23(1,1)由表4.6给出,表中未给出O
14
两用户A和B之间的密钥交换如下进行: ① A选一小于n的整数nA,作为秘密钥,并由 PA=nAG产生Ep(a,b)上的一点作为公开钥。 ② B类似地选取自己的秘密钥nB和公开钥PB。 ③ A、B分别由K=nAPB和K=nBPA产生出双方共享 的秘密钥。 这是因为K=nAPB=nA(nBG)=nB(nAG)=nBPA。 攻击者若想获取K,则必须由PA和G求出nA, 或由PB和G求出nB,即需要求椭圆曲线上的离散对 数,因此是不可行的。
9
倍点运算仍定义为重复加法,如 4P=P+P+P+P。 从例4.13看出,加法运算在E23(1,1)中是封闭的, 且能验证还满足交换律。对一般的Ep(a,b),可证其 上的加法运算是封闭的、满足交换律,同样还能证 明其上的加法逆元运算也是封闭的,所以Ep(a,b)是 一个Abel群。
10
11
12
6
③ 设P=(x1,y1),Q=(x2,y2),P≠-Q,则P+Q=(x3,y3) 由以下规则确定: x3≡λ2-x1-x2(mod p) y3≡λ(x1-x3)-y1(mod p) 其中
y2 y1 PQ x x 2 1 2 3x1 a P Q 2 y1
13
1. Diffie-Hellman密钥交换 首先取一素数p≈2180和两个参数a、b,则得方 程(4.2)表达的椭圆曲线及其上面的点构成的Abel群 Ep(a,b)。第2步,取Ep(a,b)的一个生成元G(x1,y1), 要求G的阶是一个非常大的素数,G的阶是满足 nG=O的最小正整数n。Ep(a,b)和G作为公开参数。
15
例4.14 p=211,Ep(0,-4),即椭圆曲线为y2≡x3-4, G=(2,2)是E211(0,-4)的阶为241的一个生成元,即 241G=O。A的秘密钥取为nA=121,公开钥为 PA=121(2,2)=(115,48)。B的秘密钥取为nB=203,公 开钥为PB=203(2,2)=(130,203)。由此得到的共享密 钥为121(130,203)=203(115,48)=(161,169),即共享 密钥是一对数。如果将这一密钥用作单钥加密的会 话密钥,则可简单地取其中的一个,如取x坐标, 或取x坐标的某一简单函数。
18
(2) 密钥量小 由攻击两者的算法复杂度可知,在实现相同的安全 性能条件下,椭圆曲线密码体制所需的密钥量远比 基于有限域上的离散对数问题的公钥体制的密钥量 小。
19
(3) 灵活性好 有限域GF(q)一定的情况下,其上的循环群(即 GF(q)-{0})就定了。而GF(q)上的椭圆曲线可以通 过改变曲线参数,得到不同的曲线,形成不同的循 环群。因此,椭圆曲线具有丰富的群结构和多选择 性。
7
例4.13 仍以E23(1,1)为例,设P=(3,10),Q=(9,7),则
7 10 3 1 (1) 21 22 12 11mod 23 93 6 2 2 x3 11 3 9 109 17 mod 23 y3 11(3 17) 10 164 20 mod 23
4
一般来说,Ep(a,b)由以下方式产生: ① 对每一x(0≤x<p且x为整数),计算 x3+ax+b(mod p)。 ② 决定①中求得的值在模p下是否有平方根,如 果没有,则曲线上没有与这一x相对应的点;如果 有,则求出两个平方根(y=0 时只有一个平方根)。
5
Ep(a,b)上的加法定义如下: 设P,Q∈Ep(a,b),则 ① P+O=P。 ② 如果P=(x,y),那么(x, y)+(x, -y)=O,即 (x, -y)是 P的加法逆元,表示为-P。 由Ep(a,b)的产生方式知,-P也是Ep(a,b)中的点, 如上例,P=(13,7)∈E23(1,1),-P=(13, -7),而-7 mod 23≡16,所以-P=(13, 16),也在E23(1,1)中。
所以P+Q=(17,20),仍为E23(1,1)中的点。
Fra Baidu bibliotek
8
若求2P则
3 3 1 5 1 6 mod 23 2 10 20 4 x3 62 3 3 30 7 mod 23
2
y3 6(3 7) 10 34 12 mod 23
所以2P=(7,12)。