现现代密码学-8讲RSA课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《现现代密码学-8讲RSA课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 密码学 RSA 课件
- 资源描述:
-
1、第四章第四章 公钥密码公钥密码4.1 4.1 数论简介数论简介4.2 4.2 公钥密码体制的基本概念公钥密码体制的基本概念4.3 4.3 RSARSA算法算法4.4 4.4 背包密码体制背包密码体制4.5 4.5 RabinRabin密码体制密码体制4.6 4.6 NTRUNTRU公钥密码系统公钥密码系统4.7 4.7 椭圆曲线密码体制椭圆曲线密码体制4.8 4.8 基于身份的密码体制基于身份的密码体制2022-10-44.2 公钥密码体制的基本概念 Basic Concept of Public Key Cryptography2022-10-4公钥密码体制的原理公钥密码体制的原理公钥体制公
2、钥体制(Public key system)(Diffie(Public key system)(Diffie和和Hellman,1976)Hellman,1976)每个用户都有一对选定的密钥每个用户都有一对选定的密钥(公钥公钥k k1 1;私钥;私钥k k2 2),公开的,公开的密钥密钥k k1 1可以像电话号码一样进行注册公布。可以像电话号码一样进行注册公布。主要特点:主要特点:n加密和解密能力分开加密和解密能力分开n多个用户加密的消息只能由一个用户解读,(用于公共多个用户加密的消息只能由一个用户解读,(用于公共网络中实现保密通信)网络中实现保密通信)n只能由一个用户加密消息而使多个用户可
3、以解读(可用只能由一个用户加密消息而使多个用户可以解读(可用于认证系统中对消息进行数字签字)。于认证系统中对消息进行数字签字)。n无需事先分配密钥。无需事先分配密钥。解决了单钥密码体制中最难解决的解决了单钥密码体制中最难解决的两个问题:数字签字、密钥分配两个问题:数字签字、密钥分配2022-10-4公钥体制加密公钥体制加密 公钥体制加、解密公钥体制加、解密 mm=D D (c c)=)=D DSKBSKB(E EPKBPKB(mm)安全保障安全保障从公开钥从公开钥PKPKB B和密文和密文c c要推出明文要推出明文mm或解密钥或解密钥SKSKB B在计算上是在计算上是不可行的。不可行的。由于任
4、一用户都可用用户由于任一用户都可用用户B B的公开钥的公开钥PKPKB B 向他发送机密消息,向他发送机密消息,因而密文因而密文c c不具有认证性。不具有认证性。发送者A加密算法PKB密钥源SKB解密算法接收者B密码分析员mcmmSKB2022-10-4公钥密码认证体制公钥密码认证体制 用户用户A A以自己的秘密钥以自己的秘密钥S Sk kA A对消息对消息mm进行进行A A的专用变换的专用变换D DSKASKA,A A计算密文:计算密文:c c=D DSKSKA A(mm)送给用户送给用户B B,B B验证验证c c:mm=E EPKAPKA(c c)=E EPKAPKA(D DSKASKA
5、(mm)安全性:安全性:由于由于S Sk kA A 是保密的,其他人都不可能伪造密文是保密的,其他人都不可能伪造密文c c,可用,可用A A的的 公开钥解密时得到有意义的消息公开钥解密时得到有意义的消息mm。因此可以验证消息。因此可以验证消息mm来自来自A A而不是其他人,而实现了对而不是其他人,而实现了对A A所发消息的认证。所发消息的认证。发送者A加密算法SKA密钥源PKA解密算法接收者B密码分析员mcmSKA2022-10-4公钥保密和认证体制公钥保密和认证体制公开保密公开保密保密保密认证认证为了同时提供认证功能和保密性,可使用双重加、解密为了同时提供认证功能和保密性,可使用双重加、解密
6、加密加密c=Ec=EPKBPKBEESKASKAmm解密解密m=Dm=DPKAPKADDSKBSKBcc2022-10-4公钥密码应满足的要求公钥密码应满足的要求n接收方接收方B B产生密钥对在计算上是容易的产生密钥对在计算上是容易的n发送方发送方A A用收方的公开钥对消息用收方的公开钥对消息mm加密以产生密文加密以产生密文c c在在计算上是容易的。计算上是容易的。n收方收方B B用自己的秘密钥对密文用自己的秘密钥对密文c c解密在计算上是容易的。解密在计算上是容易的。n敌手由密文敌手由密文c c和和B B的公开密钥恢复明文在计算上是不可的公开密钥恢复明文在计算上是不可行的。行的。n敌手由密文
7、敌手由密文c c和和B B的公开密钥恢复秘密密钥在计算上是的公开密钥恢复秘密密钥在计算上是不可行的不可行的n加解密次序可换,即加解密次序可换,即E EPKBPKBDDSKBSKB(m)=D(m)=DSKBSKBEEPKBPKB(m),(m),不不是对任何算法都做此要求。是对任何算法都做此要求。以上要求本质就是找出合适的单向陷门函数以上要求本质就是找出合适的单向陷门函数2022-10-4单向函数单向函数一个可逆函数一个可逆函数f f:A AB B,若它满足:,若它满足:1 1o o 对所有对所有x x A A,易于计算,易于计算f f(x x)。2 2o o 对对“几乎所有几乎所有x x A A
8、”由由f f(x x)求求x x“极为困难极为困难”,以至于实际上不可能做到,则称以至于实际上不可能做到,则称f f为一单向为一单向(One-way)(One-way)函数。函数。n定义中的定义中的“易于计算易于计算”是指函数值能在其输入是指函数值能在其输入长度的多项式时间内求出,即若输入长度为长度的多项式时间内求出,即若输入长度为n n,计算函数的时间是计算函数的时间是n na a的倍数,的倍数,a a为一固定的常为一固定的常数。数。n若计算函数时间是若计算函数时间是a an n的倍数,则为不可能做到的倍数,则为不可能做到的。的。算法的复杂度算法的复杂度是以算法是以算法在在最坏最坏情况或情况
9、或平均平均情况情况时的复杂度来度量的时的复杂度来度量的2022-10-4陷门单向函数陷门单向函数n单向函数是求逆困难的函数,而单向陷门函单向函数是求逆困难的函数,而单向陷门函数数(Trapdoor one-way function)(Trapdoor one-way function),是在不知,是在不知陷门信息下求逆困难的函数,当知道陷门信陷门信息下求逆困难的函数,当知道陷门信息后,求逆是易于实现的。息后,求逆是易于实现的。n陷门单向函数是一族可逆函数陷门单向函数是一族可逆函数f fk k,满足,满足1.1.Y=fY=fk k(X)(X)易于计算(当易于计算(当k k和和X X已知)已知)2
10、.2.X Xf f-1-1k k(Y)(Y)易于计算(当易于计算(当k k和和Y Y已知)已知)3.3.X Xf f-1-1k k(Y)(Y)计算上不可行(计算上不可行(Y Y已知但已知但k k未知)未知)2022-10-44.3 RSA4.3 RSA算法算法 RSA AlgorithmRSA Algorithm2022-10-4概况概况nMITMIT三位年青数学家三位年青数学家R.L.RivestR.L.Rivest,A.ShamirA.Shamir和和L.AdlemanL.Adleman等等1978,19791978,1979发发现了一种用数论构造双钥的方法,称作现了一种用数论构造双钥的方
11、法,称作MITMIT体制,后来被广泛称之为体制,后来被广泛称之为RSARSA体制。体制。n它既可用于加密、又可用于数字签字。它既可用于加密、又可用于数字签字。nRSARSA算法的安全性基于数论中大整数分解算法的安全性基于数论中大整数分解的困难性的困难性。2022-10-4算法描述密钥产生算法描述密钥产生独立地选取两大素数独立地选取两大素数p p和和q q(各各100100200200位十进制数字位十进制数字)计算计算 n n=p pq q,其欧拉函数值,其欧拉函数值(n n)=()=(p p1)(1)(q q1)1)随机选一整数随机选一整数e e,1 1 e e(n n),gcd(gcd(n
12、n),),e e)=1)=1在模在模(n n)下,计算下,计算e e的有逆元的有逆元d=ed=e-1 -1 mod mod (n n)以以n n,e e为公钥。秘密钥为为公钥。秘密钥为d d。(p p,q q不再需要,可以销毁。不再需要,可以销毁。)加密加密将明文分组,各组对应的十进制数小于将明文分组,各组对应的十进制数小于n n c=me mod n解密解密 m=cd mod n2022-10-4解密正确性证明解密正确性证明ncd mod n med mod n m1 mod(n)mod n mk(n)+1 mod nngcd(m,n)=1 m(n)1 mod n欧拉定理欧拉定理 mk(n)
展开阅读全文