欢迎来到天天文库
浏览记录
ID:37049566
大小:497.10 KB
页数:53页
时间:2019-05-11
《《非对称密码体制》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章非对称密码体制6.1概述1976年W.Diffie和M.E.Hellman发表了杰出的论文---《密码学的新方向》,该文奠定了公开密钥密码体制的基础。区别于传统的单密钥密码体制(或称对称密钥密码体制),公开密钥密码体制是所谓的双密钥密码体制,加密密钥可以公开,即任何人都可以用这个公开的密钥进行加密,而相应的脱密密钥是秘密的,任何第三者想利用已知的公开密钥求脱密密钥是计算上困难的。只有掌握相应的秘密的脱密密钥的人才可以脱密。第6章非对称密码体制公钥密码体制由于用户私钥的私有性,公钥密码在实现数字签名和防抵赖性方面有着巨大的优势。注:教材的6.1.1节所述内容基本上都是片面的
2、或错误的。记E和D分别为加、脱密变换,m为明文,M为明文空间,c是密文,C是密文空间。一个公开密钥密码体制必须满足以下基本要求:(1)脱密的唯一性∀m∈M,有D(E(m))=m;(2)实现E和D的有效性存在(低次)多项式时间算法实现加、脱密;(3)安全性从已知的加密变换,求得脱密变换D或与等效的D’,使得∀m∈M’⊂M,有D’(E(m))=m在计算上是不可行的。其中M’是M的一个足够大的子集;(4)可行性任何用户要构造一对加、脱密密钥是容易的,比如说能使用某种概率多项式时间算法来实现;(5)可交换性C=M,∀m∈M,有E(D(m))=m。其中的可交换性并不是每一个公钥体制所必备
3、的。如果一个公钥体制满足这一条,那么它就可以用作数字签名。6.2D-H密钥交换协议系统包括一个大素数p(512比特长度)以及GF(p)中的本原元g。用户U、V双方要建立共享秘密,步骤如下:1.U从ZP-1中产生一个随机数x,计算X=gxmodp,并将它传送给V;2.V从ZP-1中产生一个随机数y,计算Y=gymodp,并将它传送给U;3.U计算:Yxmodp=gyxmodpV计算:XYmodp=gxymodp于是U、V双方拥有了共享的秘密K=gxymodp。6.2D-H密钥交换协议D-H密钥建立协议的安全性基础是计算有限域上的离散对数是“困难的”问题。中间人攻击6.2D-H密钥
4、交换协议1.U→V:X=gxmodp;2.E(U)→V:X’=gx’modp;3.V→E(U):Y=gymodp;4.E(V)→U:X’=gx’modp;5.U计算X’xmodp=gxx’modp,V计算X’ymodp=gyx’modp,E计算X’xmodp=gxx’modp,X’ymodp=gyx’modp。于是,U和E共享gxx’modp=ku,V和E共享gyx’modp=kv,其中E表示攻击者,E(U)和E(V)分别表示E冒充U和V。6.3RSA公钥密码体制及其实现公钥RSA密码体制是1978年由美国麻省理工学院的M.Rivest,A.Shamir和L.Adlman三人提
5、出的,它是建立在大合数分解是计算上不可行基础上的公钥密码体制。1.RSA公钥密码体制及其工作过程记ZN*={a:a∈ZN,(a,N)=1},容易证明ZN*对模乘法构成一个交换群,称为模N乘群。引理设p和q是两个不同的素数,N=pq,则∀m∈ZN以及任意的非负整数k,有mkΦ(N)+1=mmodN证明若p不整除m,由欧拉定理mp-1=1modp,从而有6.3RSA公钥密码体制及其实现mkΦ(N)+1=mmodp若p整除m,则m=0modp,从而仍然有mkΦ(N)+1=mmodp因此对于任意的m,恒有mkΦ(N)+1=mmodp同理可证对于任意的m,恒有mkΦ(N)+1=mmodq
6、由于p和q是两个不同的素数,从而有mkΦ(N)+1=mmodN下面我们介绍RSA的原理及工作过程(1)首先随机选取两个大素数p和q,p≠q,并计算出N=pq及Φ(N)=(p-1)(q-1);(2)选取加密指数e:(e,Φ(N))=1,并利用欧几里德算法求出的逆元d(d≠e),使得ed=1modΦ(N)其中d脱密指数;(3)公开密钥:N和e;(4)秘密密钥:d和(p、q)。6.3RSA公钥密码体制及其实现(5)加密过程如果A要向某用户B传送消息,则A利用B用户公开的加密密钥,计算c=memodN将c传送给用户B;(6)脱密过程用户B接收到密文c之后,利用自己秘密的脱密密钥d,计算
7、cdmodN从而得到m=cdmodN。例:B选择素数p=7,q=17,则N=pq=119,Φ(N)=(7-1)(17-1)=96B选择加密指数e=5,这里5与96互素,由欧几里德算法得到Φ(N)=19e+1,即1·Φ(N)+(-19e)=1因此d=-19=77modΦ(N),于是e=5和N=119是B的公钥,d=77是B的私钥。现假设A想发送明文m=19给B,A计算:c=memodN=195mod119=66并将c发送给B,B收到后,计算:cdmodN=6677mod119=19从而得到明文
此文档下载收益归作者所有