公钥密码-信息安全概论课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《公钥密码-信息安全概论课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码 信息 安全 概论 课件
- 资源描述:
-
1、 起源起源 公钥密码又称为双钥密码和非对称密码,是公钥密码又称为双钥密码和非对称密码,是1976年由年由Diffie和和Hellman在其在其“密码学新方向密码学新方向”一文中提出的,见划时代的文献:一文中提出的,见划时代的文献: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 RSA公钥算法是由公钥算法是由Rivest,Shamir和和Adleman在在1978年提出来的年提出来的,见见
2、 Communitions of the ACM.Vol.21.No.2.Feb.1978,PP.120-126公开密钥密码的重要特性公开密钥密码的重要特性加密与解密由不同的密钥完成加密与解密由不同的密钥完成加密加密:XY:Y=EKU(X)解密解密:YX:X=DKR(Y)=DKR(EKU(X)知道加密算法知道加密算法,从加密密钥得到解密密钥从加密密钥得到解密密钥在计算上是不可行的在计算上是不可行的两个密钥中任何一个都可以用作加密而两个密钥中任何一个都可以用作加密而另一个用作解密另一个用作解密X=DKR(EKU(X)=EKU(DKR(X)基于公开密钥的加密过程基于公开密钥的加密过程基于公开密钥的
3、鉴别过程基于公开密钥的鉴别过程 用公钥密码实现保密用公钥密码实现保密用户拥有自己的密钥对用户拥有自己的密钥对(KU,KR)公钥公钥KU公开公开,私钥私钥KR保密保密AB:Y=EKUb(X)B:DKRb(Y)=DKRb(EKUb(X)=X 用公钥密码实现鉴别用公钥密码实现鉴别条件条件:两个密钥中任何一个都可以用作加密而两个密钥中任何一个都可以用作加密而另一个用作解密另一个用作解密鉴别鉴别:AALL:Y=DKRa(X)ALL:EKUa(Y)=EKUa(DKRa(X)=X鉴别鉴别+保密保密:AB:Z=EKUb(DKRa(X)B:EKUa(DKRb(Z)=X 公钥密钥的应用范围加密加密/解密解密数字签
4、名数字签名(身份鉴别身份鉴别)密钥交换密钥交换算法算法加加/解密解密 数字签名数字签名密钥交换密钥交换RSA是是是是是是Dieffie-Hellman否否否否是是DSS否否是是否否基本思想和要求基本思想和要求 涉及到各方:发送方、接收方、攻击者涉及到各方:发送方、接收方、攻击者 涉及到数据:公钥、私钥、明文、密文涉及到数据:公钥、私钥、明文、密文 公钥算法的条件:公钥算法的条件:产生一对密钥是计算可行的产生一对密钥是计算可行的 已知公钥和明文,产生密文是计算可行的已知公钥和明文,产生密文是计算可行的 接收方利用私钥来解密密文是计算可行的接收方利用私钥来解密密文是计算可行的 对于攻击者,利用公钥
5、来推断私钥是计算不对于攻击者,利用公钥来推断私钥是计算不可行的可行的 已知公钥和密文,恢复明文是计算不可行的已知公钥和密文,恢复明文是计算不可行的(可选可选)加密和解密的顺序可交换加密和解密的顺序可交换陷门单向函数陷门单向函数单向陷门函数是满足下列条件的函数单向陷门函数是满足下列条件的函数f f:(1)给定给定x,计算,计算y=fk(x)是容易的;是容易的;(2)给定给定y,计算计算x使使x=fk-1(y)是不可行的。是不可行的。(3)存在存在k,已知,已知k 时时,对给定的任何对给定的任何y,若相应的,若相应的x存在,则计算存在,则计算x使使x=fk-1(y)是容易的。是容易的。公钥密码基于
6、的数学难题公钥密码基于的数学难题 背包问题背包问题 大整数分解问题(大整数分解问题(The Integer FactorizationThe Integer Factorization Problem,RSA Problem,RSA体制)体制)有限域的乘法群上的离散对数问题有限域的乘法群上的离散对数问题 (The Discrete Logarithm Problem,(The Discrete Logarithm Problem,ElGamal ElGamal体制)体制)椭圆曲线上的离散对数问题(椭圆曲线上的离散对数问题(The EllipticThe Elliptic Curve Discr
7、ete Logarithm Problem,Curve Discrete Logarithm Problem,类比的类比的ElGamalElGamal体制)体制)数学基础数学基础 同余同余:给定任意整数给定任意整数a和和m,以,以q除除a,余数是,余数是r,则可以表示为,则可以表示为a=sm+r,0 rm,其中,其中s=a/m,表示小于表示小于a/m的最大整数。的最大整数。定义定义r为为a mod m的剩余的剩余,记为,记为r a mod q.若整数若整数a和和b有有(a mod m)=(b mod m),则称,则称a与与b在在mod m下同余下同余。同余关系的性质:同余关系的性质:(1)为等
8、价关系,即具有自反性,对称性和可传递性)为等价关系,即具有自反性,对称性和可传递性 自反性:自反性:a a mod m 对称性:对称性:若若a b mod m,则,则 b a mod m 传递性:若传递性:若a b mod m且且b c mod m,则,则a c mod m同余同余(2)同余式可以进行运算)同余式可以进行运算 若若a b mod m,c d mod m,则则a+c b+d mod m,ac bd mod m,an bn mod m(3)若)若ac bc mod m,且(,且(c,m)d,则则 a b mod m/d;特别的,若特别的,若(c,m)=1,则,则a b mod m(
9、4)若)若m1,(a,m)=1,则存在,则存在c使得使得 ac 1 mod m,称,称c是是a对模对模m的逆,记做的逆,记做a-1同余同余(5)设)设a1和和a2为任意整数,为任意整数,op为操作符,如、为操作符,如、等,则:等,则:(a1 op a2)mod m=(a1 mod m)op (a2 mod m)mod m eg.a1=23,a2=8,m=3 238 mod 331 mod 3 1 (23 mod 3 8 mod 3)22 mod 3 1 238 mod 3 184 mod 3 1 (23 mod 3 8 mod 3)22 mod 3 1同余(剩余)类同余(剩余)类 假定假定m为
10、正整数,任一整数除为正整数,任一整数除m得到的最小非负剩余必得到的最小非负剩余必定为定为0,1,.,m-1中的一个,即任一整数对于模中的一个,即任一整数对于模m必定必定与与0,1,.,m-1中的某一个同余。因此,我们把全体整中的某一个同余。因此,我们把全体整数分成若干两两不相交的集合,使得在同一个集合中的任数分成若干两两不相交的集合,使得在同一个集合中的任意两个数对模意两个数对模m同余,而属于不同集合的两个数对模同余,而属于不同集合的两个数对模m一定一定不同余。每一个这样的集合称作关于模不同余。每一个这样的集合称作关于模m的同余类。的同余类。完全剩余系完全剩余系 从模从模m的每一个同余类中任取
11、一数就得到的每一个同余类中任取一数就得到m个数,这个数,这m个数称作个数称作m的完全剩余系。如模的完全剩余系。如模4的一个完全剩余系的一个完全剩余系0,5,2,11。通常选取的不大于。通常选取的不大于m的的m个非负整数集合个非负整数集合0,1,2,.,m-1。同余类同余类既约(互素)同余类和既约剩余系既约(互素)同余类和既约剩余系 对于模对于模m的同余类的同余类r mod m,如果,如果(r,m)=1,则称该同余,则称该同余类是模类是模m的既约同余类。的既约同余类。在模在模m的一个完全剩余系中,所有与的一个完全剩余系中,所有与m互素的数的集合互素的数的集合构成模构成模m的既约剩余系。的既约剩余
12、系。eg.m=5 0,1,2,3,4 1,2,3,4 m=10 0,1,2,.9 1,3,7,9欧拉函数欧拉函数 模模m的所有既约同余类的个数记为的所有既约同余类的个数记为(m),通常称作,通常称作Euler函数。函数。eg.(5)4,(10)4欧拉函数欧拉函数Euler函数和函数和Euler定理定理 p是素数,是素数,(p)=p-1 若若gcd(m,n)=1,则则(mn)=(m)(n),特别地特别地,若若p q且都是素数且都是素数,(pq)=(p-1)(q-1)eg.(10)(2)(5)144 Euler定理:若定理:若(a,m)=1,则,则a(m)1 mod m eg.a7,m5,则,则7
13、4=7272=44 mod 51 通过欧拉定理,可以求得通过欧拉定理,可以求得a的逆的逆a-1 a(m)-1 mod mEuler定理定理若若(a,m)=1,则,则a(m)1 mod m证明证明:R=x1,x2,x(m)为所有小于为所有小于m且与且与m互素互素的正整数,即为一个既约剩余系,考虑集合的正整数,即为一个既约剩余系,考虑集合S=ax1 mod m,ax2 mod m,ax(m)mod m axi mod m与与m互素互素 axi mod m与与axj mod m不同余,其中不同余,其中ij:axi=axj mod m xi=xj mod n 故故S也是一个剩余系,那么也是一个剩余系,
14、那么 xi mod m=(axi mod m)(axi)mod m (a(m)xi)mod m a(m)1 mod m Fermat小定理小定理FermatFermat小定理小定理:p:p素数素数,(a,p)=1,(a,p)=1,则则:a:ap-1p-1 1 mod 1 mod p p推论推论:p:p素数素数,a,a是任意整数是任意整数,则则:a:ap p a mod p a mod p定理定理 若若(a,m)=1(a,m)=1,则同余方程,则同余方程 axax 1 mod m1 mod m有唯一的解有唯一的解 eg.7x eg.7x 1 mod 5 x=3,8,13,.1 mod 5 x=3
15、,8,13,.证明:一定有解,因为证明:一定有解,因为aaaa(m)-1 1 mod m1 mod m 若有不同的解若有不同的解x x1 1,x,x2 2,则,则axax1 1 ax ax2 2 mod mmod m 由于由于(a,m)=1a,m)=1,则,则x x1 1 x x2 2 mod mmod m 用于在用于在RSARSA中计算密钥中计算密钥 Euler定理推论定理推论推论推论:若若m=pq,p q都是素数都是素数,k是任意整数是任意整数,则则 ak(p-1)(q-1)+1 a mod m,对任意对任意0 am证明证明:若若(a,m)1,(m)=(p-1)(q-1),由由Euler定
16、理有定理有 a(m)1 mod m,所以有结论成立;,所以有结论成立;否则否则a必定是必定是p或者或者q的倍数的倍数,不妨设不妨设a=sp,则则 0sq为正整数为正整数,a与与q互素互素,由由Euler定理得到定理得到:a(q)1 mod q (a(q)k(p)1 mod q ak(p-1)(q-1)=tq+1 t是整数是整数 等式两边乘以等式两边乘以a=sp,得到得到:ak(p-1)(q-1)+1=(tq+1)sp=tspq+sp a mod m 原根原根(primitive root)Euler定理表明定理表明,对两个互素的整数对两个互素的整数a,n,a(n)1 mod n 定义:定义:素
17、数素数p的原根定义:如果的原根定义:如果a是素数是素数p的原根,则数的原根,则数a mod p,a2 mod p,ap-1 mod p是不同的并且包含是不同的并且包含1到到p-1的整数的某种排列。的整数的某种排列。对任意的整数对任意的整数b且且(b,p)=1,我们可以找到唯一的,我们可以找到唯一的幂幂i满足满足 b=ai mod p 0i(p-1)离散对数离散对数若若a是素数是素数p的一个原根的一个原根,则对任意整数则对任意整数b,(b,p)=1,存在唯一的整数存在唯一的整数i,1 i(p-1),使得使得:b ai mod pi称为称为b以以a为基模为基模p的的指数指数(离散对数离散对数),记
18、作记作inda,p(b).容易容易知道知道:inda,p(xy)=inda,p(x)+inda,p(y)mod(p)inda,p(xr)=r inda,p(x)mod(p)离散对数的计算离散对数的计算:y gx mod p已知已知g,x,p,计算计算y是容易的是容易的已知已知y,g,p,计算计算x是困难的是困难的经典例子经典例子 Diffie-Hellman密钥交换算法密钥交换算法 背包算法背包算法 RSA算法算法 Diffie-Hellman密钥交换密钥交换 允许两个用户可以安全地交换一个秘密信息,用于后续的允许两个用户可以安全地交换一个秘密信息,用于后续的通讯过程通讯过程 算法的安全性依赖
19、于计算离散对数的难度算法的安全性依赖于计算离散对数的难度素数素数p的原根定义:如果的原根定义:如果a是素数是素数p的原根,则数的原根,则数a mod p,a2 mod p,ap-1 mod p是不同的并且包含是不同的并且包含1到到p-1的整数的某种排列。的整数的某种排列。对任意的整数对任意的整数b,(b,p)=1,我们可以找到唯一的幂我们可以找到唯一的幂i满足满足b=ai mod p 0=i=(p-1)i 在离散对数算法中称为以在离散对数算法中称为以a为基的指数为基的指数 mod p。记为。记为inda,p(b)Diffie-Hellman密钥交换密钥交换 算法:算法:双方选择素数双方选择素数
20、p以及以及p的一个原根的一个原根a 用户用户A选择一个随机数选择一个随机数Xa p,计算,计算 Ya=aXa mod p 用户用户B选择一个随机数选择一个随机数Xb p,计算,计算 Yb=aXb mod p 每一方保密每一方保密X值,而将值,而将Y值交换给对方值交换给对方 用户用户A计算出计算出 K=YbXa mod p 用户用户B计算出计算出 K=YaXb mod p 双方获得一个共享密钥双方获得一个共享密钥(aXaXbmod p)素数素数p以及以及p的原根的原根a可由一方选择后发给对方可由一方选择后发给对方 Generate randomXa pCalculateYa=aXa mod pG
21、enerate randomXb pCalculateYb=aXb mod pUser AUser BYaYbCalculateK=(Yb)Xa mod pCalculateK=(Ya)Xb mod pDiffie-Hellman Key Exchange Diffie-Hellman密钥交换的攻击密钥交换的攻击中间人攻击图示中间人攻击图示ABK=aXaXoOK=aXbXo Diffie-Hellman密钥交换的攻击密钥交换的攻击中间人攻击中间人攻击1 双方选择素数双方选择素数p以及以及p的一个原根的一个原根a(假定假定O知道知道)2 A选择选择Xap,计算计算Ya=aXa mod p,AB:
22、Ya3 O截获截获Ya,选选Xo,计算计算Yo=aXo mod p,冒充冒充AB:Yo4 B选择选择Xb 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对应的明文为对应的明文为110101 转换背包转换背包 简单背包用作私钥简单背包用作私钥 如何产生
23、相应的公钥如何产生相应的公钥转换转换 做法:做法:选择一个整数选择一个整数 m ai(i=1,n)然后选择一个与然后选择一个与m互素的整数互素的整数w,然后,然后ai=wai(mod m)(i=1,n)这里的这里的ai 是伪随机分布的是伪随机分布的这样得到的背包是非超递增背包这样得到的背包是非超递增背包 基于背包问题的公钥密码系统基于背包问题的公钥密码系统MH公钥算法公钥算法 加密加密 将明文分为长度为将明文分为长度为n的块的块X=(x1,xn)然后用公钥然后用公钥A =(a1,an),将明文变为密文,将明文变为密文S=E(X)=ai xi 解密解密 先计算先计算S =w-1S mod m 再
展开阅读全文