欢迎来到天天文库
浏览记录
ID:43227559
大小:762.50 KB
页数:127页
时间:2019-10-05
《现代密码学第六章公钥密码体制》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、6.1公钥密码的原理及典型公钥密码6.2椭圆曲线密码6.3超椭圆曲线密码6.4基于身份的公钥密码体制第6章公钥密码体制6.1公钥密码的原理及典型公钥密码6.1.1公钥密码的原理公钥密码的思想最早由Diffie和Hellman在其论文“NewDirectionsinCryptography”中提出。他们设想了一种无须事先传递密钥的密码体制,在该体制中,用户Alice有一对密钥:公开的加密密钥(简称公钥)和保密的解密密钥(简称私钥)。向Alice发送秘密信息时,用其公钥加密,Alice收到信息后,用私钥解密。由于加密密钥与解密密钥不同,因此公钥密码体制又被称为非对称密码体制,而传统密
2、码(分组密码、序列密码)被称为对称密码体制。与对称密码相比,公钥密码有以下特点:(1)安全性取决于某些困难问题的难解性;(2)无须事先传递密钥;(3)计算量通常大于对称密码。 公钥密码中常用的难解问题有分解大整数、离散对数问题、椭圆曲线上的离散对数问题等,其安全性取决于构造算法所依赖的数学问题的计算复杂性,所以公钥密码在理论上是不安全的,但在实际应用中可以选择足够安全的参数来保证计算上的安全性。6.1.2Diffie-Hellman密钥交换Diffie和Hellman给出了一种通信双方无须事先传递密钥也能利用对称密码体制进行保密通信的方法,这就是Diffie-Hellma
3、n密钥交换协议(简称D-H协议),在该协议中,通信双方通过协商可以建立一个秘密的密钥。D-H协议充分体现了公钥密码的思想,其安全性基于离散对数问题。设系统中公开的参数为大素数p和模p的原根g,用户Alice和Bob为了协商一个公用的秘密密钥,需要进行如下步骤:(1)Alice随机选择整数xA,计算,将yA传给Bob;(2)Bob随机选择整数xB,计算,将yB传给Alice;(3)Alice计算,Bob计算,易知两者是相等的,从而可将作为双方的通信密钥。D-H协议的安全性是基于这样一个假设,即已知 和 ,求xB是困难的,Diffie和Hellman假设此问题的困难等价于离
4、散对数问题。6.1.3RSA1977年,美国麻省理工学院的三位数学家RonRivest、AdiShamir和LenAdleman成功地设计了一个公钥密码算法,该算法根据设计者的名字被命名为RSA,在其后的30年中,RSA成为世界上应用最为广泛的公钥密码体制。 设RSA系统中每个用户有公开的加密密钥n、e和保密的解密密钥d,这些密钥通过以下步骤确定:(1)用户选择两个大素数p、q,计算n=pq及φ(n)=(p-1)(q-1);(2)选择随机数e,要求15、。 加密时,首先将明文表示为小于n的整数,设m为明文,要将m加密并发送给用户Alice时,利用Alice的公开密钥nA、eA,计算求出的整数c即为密文。Alice收到c后,利用自己的解密密钥dA,计算求出的m即为明文。6.1.4ElGamalElGamal是基于离散对数问题的最著名的公钥密码体制,其系统参数如下: 选择大素数p和模p的原根g,随机选择整数x,计算y=gxmodp,将p、g、y公开,x保密。 加密时,假设明文被编码为整数m,加密者随机选择整数k,满足gcd(k,p-1)=1,再计算c1=gkmodpc2=mykmodp则密文为c=(c1,c2)。 6、接收方收到密文组(c1,c2)后,进行如下的解密运算:6.2椭圆曲线密码6.2.1椭圆曲线(EllipticCurve)椭圆曲线的图像轨迹并不是椭圆,而是一个平面上的三次曲线,是人们在研究如何计算椭圆的弧长时发现的问题。定义6-1由三次威乐斯特拉斯方程(Weierstrass方程):y2+axy+by=x3+cx2+dx+e所确定的平面曲线称为椭圆曲线,满足方程的点称为曲线上的点。若系数a,b,c,d,e来自有限域Fp,则曲线上的点数目也是有限的,这些点再加上一个人为定义的无穷远点O,构成集合E(Fp),E(Fp)的点数记作#E(Fp)。Hasse证明了如下结论:在构造密码系统时7、,我们主要关心这样一种椭圆曲线,其方程为y2=x3+ax+bx,y,a,b,∈Fp定理6-1椭圆曲线上的点集合E(Fp)对于如下定义的加法规则构成一个Abel群:(1)O+O=O;(2)对 (x,y)∈E(Fp),(x,y)+O=(x,y);(3)对(x,y)∈E(Fp),(x,y)+(x,-y)=O,即点(x,y)的逆为(x,-y);(4)若x1≠x2,则(x1,y1)+(x2,y2)=(x3,y3),其中,(5)(倍点规则)对(x1,y1)∈E(Fp),y1≠0,有2(
5、。 加密时,首先将明文表示为小于n的整数,设m为明文,要将m加密并发送给用户Alice时,利用Alice的公开密钥nA、eA,计算求出的整数c即为密文。Alice收到c后,利用自己的解密密钥dA,计算求出的m即为明文。6.1.4ElGamalElGamal是基于离散对数问题的最著名的公钥密码体制,其系统参数如下: 选择大素数p和模p的原根g,随机选择整数x,计算y=gxmodp,将p、g、y公开,x保密。 加密时,假设明文被编码为整数m,加密者随机选择整数k,满足gcd(k,p-1)=1,再计算c1=gkmodpc2=mykmodp则密文为c=(c1,c2)。
6、接收方收到密文组(c1,c2)后,进行如下的解密运算:6.2椭圆曲线密码6.2.1椭圆曲线(EllipticCurve)椭圆曲线的图像轨迹并不是椭圆,而是一个平面上的三次曲线,是人们在研究如何计算椭圆的弧长时发现的问题。定义6-1由三次威乐斯特拉斯方程(Weierstrass方程):y2+axy+by=x3+cx2+dx+e所确定的平面曲线称为椭圆曲线,满足方程的点称为曲线上的点。若系数a,b,c,d,e来自有限域Fp,则曲线上的点数目也是有限的,这些点再加上一个人为定义的无穷远点O,构成集合E(Fp),E(Fp)的点数记作#E(Fp)。Hasse证明了如下结论:在构造密码系统时
7、,我们主要关心这样一种椭圆曲线,其方程为y2=x3+ax+bx,y,a,b,∈Fp定理6-1椭圆曲线上的点集合E(Fp)对于如下定义的加法规则构成一个Abel群:(1)O+O=O;(2)对 (x,y)∈E(Fp),(x,y)+O=(x,y);(3)对(x,y)∈E(Fp),(x,y)+(x,-y)=O,即点(x,y)的逆为(x,-y);(4)若x1≠x2,则(x1,y1)+(x2,y2)=(x3,y3),其中,(5)(倍点规则)对(x1,y1)∈E(Fp),y1≠0,有2(
此文档下载收益归作者所有