第6章非对称密码体制.ppt
《第6章非对称密码体制.ppt》由会员分享,可在线阅读,更多相关《第6章非对称密码体制.ppt(53页珍藏版)》请在优知文库上搜索。
1、第6章 非对称密码体制6.1 概述o 1976年W.Diffie和M.E.Hellman发表了杰出的论文-密码学的新方向,该文奠定了公开密钥密码体制的基础。o 区别于传统的单密钥密码体制(或称对称密钥密码体制),公开密钥密码体制是所谓的双密钥密码体制,加密密钥可以公开,即任何人都可以用这个公开的密钥进行加密,而相应的脱密密钥是秘密的,任何第三者想利用已知的公开密钥求脱密密钥是计算上困难的。o 只有掌握相应的秘密的脱密密钥的人才可以脱密。第6章 非对称密码体制o 公钥密码体制由于用户私钥的私有性,公钥密码在实现数字签名数字签名和防抵赖性防抵赖性方面有着巨大的优势。注:注:教材的6.1.1节所述内
2、容基本上都是片面的或错误的。o 记E和D分别为加、脱密变换,m为明文,M为明文空间,c是密文,C是密文空间。o 一个公开密钥密码体制必须满足以下基本要求:(1)脱密的唯一性mM,有D(E(m)=m;(2)实现E和D的有效性存在(低次)多项式时间算法实现加、脱密;(3)安全性从已知的加密变换,求得脱密变换D或与等效的D,使得mMM,有D(E(m)=m在计算上是不可行的。其中M是M的一个足够大的子集;(4)可行性 任何用户要构造一对加、脱密密钥是容易的,比如说能使用某种概率多项式时间算法来实现;(5)可交换性C=M,mM,有E(D(m)=m。o 其中的可交换性并不是每一个公钥体制所必备的。如果一个
3、公钥体制满足这一条,那么它就可以用作数字签名。6.2 DH密钥交换协议o 系统包括一个大素数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=gyxmodp V计算:XYmodp=gxymodp于是U、V双方拥有了共享的秘密K=gxymodp。6.2 DH密钥交换协议o D-H密钥建立协议的安全性基础是计算有限域上的离散对数是“困难的”问题。o 中间人攻击UVExy xxgX ygY
4、xgX xgX 6.2 DH密钥交换协议1UV:X=gx modp;2E(U)V:X=gx modp;3VE(U):Y=gy modp;4E(V)U:X=gx modp;5U计算Xx modp=gxx modp,V计算Xy modp=gyx modp,E计算Xx modp=gxxmodp,Xy modp=gyx modp。于是,U和E共享gxx modp=ku,V和E共享gyx modp=kv,其中E表示攻击者,E(U)和E(V)分别表示E冒充U和V。6.3 RSA公钥密码体制及其实现o 公钥RSA密码体制是1978年由美国麻省理工学院的M.Rivest,A.Shamir和L.Adlman三人
5、提出的,它是建立在大合数分解是计算上不可行基础上的公钥密码体制。1.RSA公钥密码体制及其工作过程o 记ZN*=a:aZN,(a,N)=1,容易证明ZN*对模乘法构成一个交换群,称为模N乘群。o 引理引理 设p和q是两个不同的素数,N=pq,则mZN以及任意的非负整数k,有mk(N)+1=m modN证明证明 若p不整除m,由欧拉定理mp-1=1 modp,从而有6.3 RSA公钥密码体制及其实现mk(N)+1=m modp若p整除m,则m=0 modp,从而仍然有mk(N)+1=m modp因此对于任意的m,恒有mk(N)+1=m modp同理可证对于任意的m,恒有mk(N)+1=m mod
6、q由于p和q是两个不同的素数,从而有 mk(N)+1=m modNo 下面我们介绍RSA的原理及工作过程(1)首先随机选取两个大素数p和q,pq,并计算出N=pq及(N)=(p-1)(q-1);(2)选取加密指数e:(e,(N)=1,并利用欧几里德算法求出的逆元d(de),使得ed=1 mod(N)其中d脱密指数;(3)公开密钥:N和e;(4)秘密密钥:d和(p、q)。6.3 RSA公钥密码体制及其实现(5)加密过程)加密过程 如果A要向某用户B传送消息,则A利用B用户公开的加密密钥,计算c=me modN将c传送给用户B;(6)脱密过程)脱密过程 用户B接收到密文c之后,利用自己秘密的脱密密
7、钥d,计算cd modN从而得到m=cd modN。例: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=77 mod(N),于是e=5和N=119是B的公钥,d=77是B的私钥。o 现假设A想发送明文m=19给B,A计算:c=me modN=195 mod119=66 并将c发送给B,B收到后,计算:cd modN=6677 mod119=19从而得到明文m。6.3 RSA公钥密码体制及其实现2.RSA公钥密码体制的实现o 从目前的密码分
8、析水平来看,要想实现一个安全的RSA公钥密码体制,大合数的规模至少要在1024比特以上,因此是否存在有效的随机产生大素数的算法以及RSA在这种规模下的加、脱密运算的速度等问题自然提了出来。(1)产生大素数的算法o 判定一个非负整数是否为素数的工作称为素性检测,我们介绍Rabin提出的有效的产生素数的概率算法-素素性检测算法性检测算法,这个算法的原理基于欧拉定理,即:6.3 RSA公钥密码体制及其实现aZn*,有a(n)=1 modn。而当n是素数时,有an1=1 modn 设n2,则n是奇数,令n-1=2eu,其中2不能整除u,这样上式变为:则下式至少有一个成立:au=1 modn或存在一个i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对称 密码 体制