第3章公钥密码算法课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第3章公钥密码算法课件.ppt》由会员分享,可在线阅读,更多相关《第3章公钥密码算法课件.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 公钥密码算法公钥密码算法13.1问题的提出3.2公钥加密模型3.3什么是公钥密码体制3.4公开密钥的加密3.5背包问题3.6数论简介3.7Diffie-Hellman密钥交换算法3.8RSA公钥算法3.9椭圆曲线密码体制3.10ECC和RSA比较23.1问题的提出问题的提出密钥管理量的困难 传统密钥管理两两分别用一对密钥时,则n个用户需要C(n,2)=n(n-1)/2个密钥,当用户量增大时,密钥空间增大如:n=100 时C(100,2)=4,995;n=5000时C(5000,2)=12,497,500。数字签名的问题 传统加密算法无法实现抗抵赖的需求。33.1问题的提出3.2公钥
2、加密模型3.3什么是公钥密码体制3.4公开密钥的加密3.5背包问题3.6数论简介3.7Diffie-Hellman密钥交换算法3.8RSA公钥算法3.9椭圆曲线密码体制3.10ECC和RSA比较43.2 公钥加密模型 53.1问题的提出3.2公钥加密模型3.3什么是公钥密码体制3.4公开密钥的加密3.5背包问题3.6数论简介3.7Diffie-Hellman密钥交换算法3.8RSA公钥算法3.9椭圆曲线密码体制3.10ECC和RSA比较63.3 什么是公钥密码体制什么是公钥密码体制公钥密码又称为双钥密码和非对称密码,是1976年由Diffie和Hellman在其“密码学新方向”一文中提出的。见
3、划时代的文献W.Diffie and M.E.Hellman,New Directrions in Cryptography,IEEE Transaction on Information Theory,V.IT-22.No.6,Nov 1976,PP.644-654单向陷门函数是满足下列条件的函数f(1)给定x 计算y=f(x)是容易的;(2)给定y,计算x使y=f(x)是困难的(所谓计算x=f-1(Y)困难是指计算上相当复杂已无实际意义);(3)存在,已知时,对给定的任何y,若相应的x存在,则计算x使y=f(x)是容易的。7注注:1*.仅满足(1)、(2)两条的称为单向函数;第(3)条称为
4、陷门性,称为陷门信息。2*.当用陷门函数f作为加密函数时,可将f公开,这相当于公开加密密钥。此时加密密钥便称为公开钥,记为Pk。f函数的设计者将 保密,用作解密密钥,此时 称为秘密钥匙,记为Sk。由于加密函数时公开的,任何人都可以将信息x加密成y=f(x),然后送给函数的设计者(当然可以通过不安全信道传送);由于设计者拥有Sk,他自然可以解出x=f-1(y)。3*.单向陷门函数的第(2)条性质表明窃听者由截获的密文y=f(x)推测x是不可行的。算法代表:背包算法,RSA(Rivest,Shamir,Adleman),椭圆曲线ECC(Eilliptic Curve Croptography)。8
5、3.1问题的提出3.2公钥加密模型3.3什么是公钥密码体制3.4公开密钥的加密3.5背包问题3.6数论简介3.7Diffie-Hellman密钥交换算法3.8RSA公钥算法3.9椭圆曲线密码体制3.10ECC和RSA比较93.4公开密钥的加密公开密钥的加密3.4.1公开密钥密码的重要特性公开密钥密码的重要特性加密与解密由不同的密钥完成加密与解密由不同的密钥完成加密加密:X Y:Y=EKU(X)解密解密:Y X:X=DKR(Y)=DKR(EKU(X)知道加密算法,从加密密钥得到解密密钥在计算上是知道加密算法,从加密密钥得到解密密钥在计算上是不可行的;不可行的;两个密钥中任何一个都可以用作加密而另
6、一个用作解两个密钥中任何一个都可以用作加密而另一个用作解密密(不是必须的不是必须的)X=DKR(EKU(X)=EKU(DKR(X)103.4.2基于公开密钥的加密过程基于公开密钥的加密过程113.4.3基于公开密钥的鉴别过程 123.4.4用公钥密码实现保密用公钥密码实现保密用户拥有自己的密钥对(KU,KR)公钥KU公开,私钥KR保密A-B:Y=EKUb(X)B:DKRb(Y)=DKRb(EKUb(X)=X133.4.5用公钥密码实现鉴别用公钥密码实现鉴别条件:两个密钥中任何一个都可以用作加密而另一个用作解密鉴别:A ALL:Y=DKRa(X)ALL:EKUa(Y)=EKUa(DKRa(X)=
7、X鉴别+保密:A-B:Z=EKUb(DKRa(X)B:EKUa(DKRb(Z)=X143.4.6公钥密钥的应用范围公钥密钥的应用范围加密/解密数字签名(身份鉴别)密钥交换153.4.7基本思想和要求基本思想和要求涉及到各方:发送方、接收方、攻击者涉及到数据:公钥、私钥、明文、密文公钥算法的条件:产生一对密钥是计算可行的已知公钥和明文,产生密文是计算可行的接收方利用私钥来解密密文是计算可行的对于攻击者,利用公钥来推断私钥是计算不可行的已知公钥和密文,恢复明文是计算不可行的(可选)加密和解密的顺序可交换163.1问题的提出3.2公钥加密模型3.3什么是公钥密码体制3.4公开密钥的加密3.5背包问题
8、3.6数论简介3.7Diffie-Hellman密钥交换算法3.8RSA公钥算法3.9椭圆曲线密码体制3.10ECC和RSA比较173.5 背包问题背包问题3.5.1背包问题描述背包问题描述已知一长度为b的背包及长度分别为a1,a2,an的n个物品,假定这些物品的直径与背包相同,若从这些物品中选出若干个正好装满这个背包,那么究竟是那些物品,即求解 ;其中ai和b都是正整数,背包问题是著名的np完备类困难问题,至今没有好的求解方法,而对2n中可能进行搜索实际上是不可能的。183.5.2背包问题用于公钥密码学 做法:明文为X,S为密文奥妙在于有两类背包,一类可以在线性时间内求解,另一类则不能把易解
9、的背包问题修改成难解的背包问题 公开密钥使用难解的背包问题 私钥使用易解的背包问题193.5.3易解的背包问题(超递增背包)易解的背包问题(超递增背包)满足下列条件的背包,ai aj(j=1,i-1),这样的背包也被称为简单背包.求解过程从最大的ai开始,如果S大于这个数,则减去ai,记xi为1,否则记xi为0如此下去,直到最小的ai例如 背包序列2,3,6,13,27,52 求解70的背包 结果为2,3,13,52 所以,密文70对应的明文为110101203.5.4转换背包转换背包简单背包用作私钥如何产生相应的公钥转换 做法:选择一个整数 m ai(i=1,n),然后选择一个与m互素的整数
10、w,然后 ai=wai(mod m)(i=1,n)这里的ai是伪随机分布的。这样得到的背包是非超递增背包。213.5.5 MH背包公钥密码背包公钥密码背包公钥密码 选取正整数a1,a2,an作为公钥,明文位串为m=m1m2mn。利用公钥加密问题c=a1 m1+a2m2+an mn。从密文c求明文m等价于背包问题。MH背包公钥密码 其背包系列a1,a2,an是由超递增系列 b1,b2,bn()经MH(Merkle-Hellman)变换ak=wbk(mod m)得到的。虽然,a1,a2,an不具有超递增性,但可经变换后成为超递增系列求解。22加密将明文分为长度为n的块X=(x1,xn)然后用公钥A
11、=(a1,an),将明文变为密文SS=E(X)=aixi解密 先计算S=w-1S mod m m大数;w、m互素 再求解简单背包问题 S=aixi233.5.6例例-从私钥计算公钥从私钥计算公钥私钥2,3,6,13,27,52N=31,m=1052*31 mod 105=623*31 mod 105=936*31 mod 105=8113*31 mod 105=8827*31 mod 105=10252*31 mod 105=37公钥62,93,81,88,102,37243.5.7例例-加密加密消息=011000 110101 101110明文:0 1 1 0 0 0 背包:62 93 81
12、 88 102 37密文:93+81=174011000 对应于93+81=174110101对应于62+93+88+37=280101110对应于62+81+88+102=333253.5.8例例-解密解密 解密者知道2,3,6,13,27,52,n,m计算n(n-1)=1mod(m)n-1=61174*61 mod 105=9=3+6,对应于 011000280*61 mod 105=70=2+3+13+52,对应于110101333*61 mod 105=48=2+6+13+27,对应于101110因此,消息=011000 110101 101110263.5.9背包密码系统的意义背包密
13、码系统的意义是第一个公钥密码系统;有较好的理论价值;在实践过程中,大多数的背包方案都已被破解,或者证明存在缺陷。273.1问题的提出3.2公钥加密模型3.3什么是公钥密码体制3.4公开密钥的加密3.5背包问题3.6数论简介3.7Diffie-Hellman密钥交换算法3.8RSA公钥算法3.9椭圆曲线密码体制3.10ECC和RSA比较283.6 数论简介数论简介3.6.1 欧拉定理欧拉定理表述1:将Z/(n)表示为 Zn,其中n=pq;p,q为素数且相异。若Z*n=g Zn|gcd(g,n)=1,易见Z*n为(n)阶的乘法群,且有 g(n)1(mod n),而(n)=(p-1)(q-1)。表述
14、2:若整数g和n互素,则g(n)1(mod n);其中(n)为比n小,但与n互素的正整数个数,称为(n)的欧拉函数。293.6.1 欧拉定理欧拉定理表述3:给定两个素数p和q,以及两个整数m、n,使得n=pq,且0mn,对于任意整数k下列关系成立,303.6.2原根原根Euler定理表明,对两个互素的整数a、n,a(n)1 mod n。素数p的原根(primitive root)定义:如果a是素数p的原根,则数a mod p,a2 mod p,ap-1 mod p 是不同的并且包含1到p-1的整数的某种排列。对任意的整数b,我们可以找到唯一的幂 I 满足 b ai mod p ,0=I=(p-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章公钥 密码 算法 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内