- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络信息安全第三章-1PPT
密钥必须秘密地分配 如果密钥被损害了,攻击者就能解密所有消息,并可以假装是其中一方。 密钥分配和管理 传统密钥管理两两分别用一对密钥时,则当用户量增大时密钥空 间急剧增大如: n=100 时C(100,2)=4,995 n=5000时C(5000,2)=12,497,500 公钥密码体制的基本原理 对称密码体制的缺点 数字签名 用户选择一对密钥 Ke和 Kd,分别为公钥和私钥,并构造加密算法 Ee 和解密算法 Ed 。 公钥密码算法 C = E(M,Ke) M = D(C,Kd)=D(E(M,Ke),Kd) 用户公开Ke和Ee 密钥都是成对生成的,由一个公钥和一个私钥组成。 注意: 公钥密码的基本思想 加密算法E 解密算法D 加密密钥Ke 解密密钥Kd 明文m 明文m 公开,其他用户可以像查找电话号码一样查到 若用户A想向用户B传送一条消息M 用户A 用户B M 用户A 用户B C Ke Kd 对称密钥加密方法 公开密钥加密方法1 用户A 用户B C KeB KdB A查到B的公开加密钥KeB,用它加密M后得到C,将C发给B,B收到C以后,用自己保密的解密钥KdB解密C,得到明文M 查找 找到KeB 公开密钥加密方法2 用户A 用户B C KdA KeA 查找 找到KeA A用自己保密的密钥 KdA 加密 M,得到密文C,将C发给B,B收到C以后,查A的公开加密钥 KeA ,用 KeA 解密C后得到明文 M 。 方法2缺点 用户A 用户B C KdA KeA 查找 找到KeA 用户C 截获密文 用户C获取了明文 结论 方法2无法保证信息的秘密性 公开密钥加密方法3 用户A 用户B C KeB KdB 查找 找到KeB KdA KeA 查找 找到KeA A用自己保密的密钥KdA加密M, 得到中间密文S 查到B的公开加密钥KeB A用KeB加密S得到C A发C给B S=D(M,KdA) C=E(S, KeB) 用户A B用自己保密的密钥KdB解密C, 得到中间密文S B接收C 用KeA解密S得到M 查到A的公开加密钥KeA 用户B D(C,KdB)=S E(S,KeA)=M 保证了数据的秘密性和真实性 结论 公钥密码应当满足的条件 加密算法和解密算法互逆,即对所有明文都有 D(E(M,Ke),Kd)=M 计算上不能由Ke求出Kd 算法E和D都是高效的 E(D(M,Kd),Ke)=M 单项函数 单向函数是满足下列条件的函数f (1)给定x,计算y=f(x)是容易的 (2)给定y, 计算x使y=f(x)是困难的 (所谓计算x=f-1(Y)困难是指计算上相当复杂已无 实际意义) 用于构造公钥密码常用的单向函数 1 多项式求根 有限域GF(p)上的一个多项式 y=f(x)=(xn+an-1xn-1+…+a1x+a0) mod p 2 离散对数 如果p是一足够大的素数,a是{0, 1, 2, …, p-1}中与p互素的数。 则已知p, a, x, 计算 y=f(x)=ax mod p并不困难; 若已知p, a, y, 计算x=logby mod p,就很困难了。 3 大整数分解(Factorrization Problme) 若已知两个大素数p, q,求n=p×q仅需一次乘法,但 已知n求p, q则是几千年来数论专家的一道难题。 4 菲-赫尔曼(Diffie-Hellman)问题 给定素数p,可构造一乘群Z*p,令α为Z*p的生成元,若已知αa, αb,求αab问题为菲-赫尔曼问题。 5 二次剩余问题 给定一个奇合数n和整数a,决定是否a为mod n平方剩余问题。 几个典型的公开钥密码系统 菲-赫尔曼(Diffie-Hellman)密码系统 RSA系统 背包系统 椭圆曲线密码体制 RSA 算法 RSA公钥算法是由Rivest,Shamir Adleman在1978年提出来的。 该算法的数学基础是初等数论中的Euler (欧拉)定理,并建立在大整数因子的困难性之上。 RSA算法起源 欧拉定理 aφ(m)≡1 mod m 其中, φ(m)是比m小,且与m互素的正整数个数。 若整数a和m互素,则 素数 一个大于1的整数,如果它的正因数只有1和它本身,就 叫做质数(素数),否则就叫做合数。 素因子分解 数n的因子分解是把它写成其它数的乘积 n=a × b × c 素因子分解是把一个数写成素数的乘积形式 eg
文档评论(0)