第10章椭圆曲线密码学.docx
- 文档编号:11225767
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:8
- 大小:46.74KB
第10章椭圆曲线密码学.docx
《第10章椭圆曲线密码学.docx》由会员分享,可在线阅读,更多相关《第10章椭圆曲线密码学.docx(8页珍藏版)》请在冰豆网上搜索。
第10章椭圆曲线密码学
10.3椭圆曲线算术
椭圆曲线理论是一个古老而深奥的数学分支,已有100多年的历史,一直作为一门纯理论学科被少数数学家掌握。
它被广大科技工作者了解要归功于20世纪80年代的两件重要的工作。
第一,Weil应用椭圆曲线理论证明了著名的费尔玛大定理。
第二,NealKoblitz和V.S.Miller把椭圆曲线群引入公钥密码理论中,提出了基于椭圆曲线的公钥密码体制ECC(EllipticCurvesCryptosystem),取得了公钥密码理论和应用的突破性进展。
20世纪90年代,最通用的公钥密码体制是RSA公钥密码体制和DH公钥密码交换算法。
其密钥长度一般为512比特。
1999年8月22日RSA-512被攻破,所以,这些公钥不得不被加长。
为了达到对称密钥128比特的安全水平,NIST推荐使用3072比特的RSA密钥。
显然这种密钥长度的增长,对本来计算速度缓慢的RSA来说,无疑是雪上加霜。
ECC的提出改变了这种状况,实现了密钥效率的重大突破。
大有以强大的短密钥优势取代RSA成为新一代公钥标准(事实标准)之势。
ECC的安全性和优势得到了业界的认可和广泛的应用:
(1)1998年ECDSA(椭圆曲线数字签名算法)被确定为ISO/IEC数学签名标准ISO14888-3;
(2)1999年2月ECDSA被ANSI确定为数字签名标准ANSIX9.62-1998,ECDH(椭圆曲线Diffie-Hellman)被确定为ANSIX9.63;
(3)2000年2月ECDSA被确定为IEEE标准IEEE1363-2000,同期,NIST确定其为联邦数字签名标准FIPS186-2。
1.椭圆曲线
椭圆曲线并非椭圆,之所以称为椭圆曲线是因为它的曲线方程与计算椭圆周长的方程类似,一般来计,椭圆曲线的曲线方程是以下形式的三次方程:
y2+axy+by=x3+cx2+dx+e
(1)
其中a,b,c,d,e是满足某些简单条件的实数。
其中包括称为无穷远点的元素。
密码中普遍采用的是有限域上的椭圆曲线,有限域上的椭圆曲线是指曲线方程定义式
(1)中,所有系数都是某一有限域GF(p)中的元素(其中p为一大素数)。
其中最为常用的是由方程
y2≡x3+ax+b(modp)
定义的曲线。
(a,b∈GF(p),4a2+27b3≠0modp)
椭圆曲线上的加法运算定义如下:
(1)设L是通过P和Q的直线。
L交E于P和Q,容易看出,L还交E于第三点,记作R’。
对x轴反射R’,得到一点R,定义P+Q=R。
见图1和图2.
图2中的P点和Q点重合。
(2)o为加法单位元(无穷远点),即对椭圆曲线上任一点P,有P+o=o+P=P.
(3)P=(x,y)是椭圆曲线上的一点,它的加法逆元定义为
-P=(x,-y)
P+(-P)=o
下面给出一个计算R的代数公式。
椭圆曲线E上的两点P=(x1,y1)和Q=(x2,y2)可以按照下面的规则相加:
(1)如果x2=x1,y2=-y1,则P+Q=o;否则P+Q=(x3,y3),其中
x3≡λ2-x1-x2(modp)
y3≡λ(x1-x3)-y1(modp)
其中λ是直线L的斜率,
λ≡(y2-y1)(x2-x1)-1modp当P≠Q时
λ≡(3x12+a)(2y1)-1modp当P=Q时
举例:
设E是Z11上的椭圆曲线y2≡x3+x+6。
请确定E上的点。
解:
从y2≡x3+x+6看出,a=1,b=6,则
4a3+27b2≡8≠0mod11所以该椭圆曲线可用于密码体制。
(1)当x=0时
y2≡6mod11
(2)
现在求解方程
(2),首先根据legendre符号来判断方程
(2)有没有解:
而
可见
方程
(2)无解。
(2)当x=1时,方程变为
y2≡8mod11(3)
现判断方程(3)有没有解。
所以方程(3)也无解。
(3)当x=2时,方程变为
y2≡5mod11(4)
方程(4)有解,其解为
y≡±5(11+1)/4≡±53≡±4(mod11)
即有两个点(2,4),(2,-4)
(4)当x=3时,y2≡3mod11(5)
因为
所以方程(5)有解,其解为:
y≡±3(11+1)/4≡±33≡±5(mod11)
即有两个点(3,5),(3,-5)
同理可以算出:
当x=4,5,6,7,8,9,10时各方程解。
结果如下表所示:
x
X3+x+6mod11
是否为二次剩余
y
0
6
否
1
8
否
2
5
是
4,7
3
3
是
5,6
4
8
否
5
4
是
2,9
6
8
否
7
4
是
2,9
8
9
是
3,8
9
7
否
10
4
是
2,9
可见E有13点(包括无穷远点o).
假设取p=(2,7),计算2P:
2P=P+P
λ≡(3x12+a)(2y1)-1modp≡(3╳22+1)(2╳7)-1mod11
≡2╳3-1mod11≡8mod11
x3≡λ2-x1-x2(modp)≡82-2-2≡5mod11
y3≡λ(x1-x3)-y1(modp)≡8(2-5)-7≡2mod11
所以2P=(5,2)
下面计算3P
3P=2P+P=(5,2)+(2,7)
λ≡(y2-y1)(x2-x1)-1modp≡(7-2)(2-5)-1modp
≡5╳(-3)-1modp≡5╳8-1≡2mod11
x3≡λ2-x1-x2(modp)≡22-5-2≡8mod11
y3≡λ(x1-x3)-y1(modp)≡2(5-8)-2≡3mod11
可见3P=(8,3)
如此继续下去,其余的乘积计算结果如下:
P=(2,7)2P=(5,2)3P=(8,3)
4P=(10,2)5P=(3,6)6P=(7,9)
7P=(7,2)8P=(3,5)9P=(10,9)
10P=(8,8)11P=(5,9)12P=(2,4)
2.椭圆曲线上的密码体制
(1)ElGamal密码体制
设p是一个素数,g是Zp*的一个生成元(也叫原根)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 椭圆 曲线 密码学
![提示](https://static.bdocx.com/images/bang_tan.gif)