




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密码学基础04
公钥密码学理解公钥密码算法工作原理掌握公钥密码算法应用场景教学目标公钥密码体制的基本概念RSA算法学习其它加密算法简介目录在公钥密码体制前,所有密码算法都是基于代换和置换公钥密码体制则为密码学的发展提供了新的理论和技术基础公钥密码算法的基本工具数学函数公钥密码算法是以非对称的形式使用两个密钥公钥密码体制1976年以前,所有的加密方法都是同一种模式:加解密双方使用相同算法,相同密钥来进行运算得到结果。这种加密模式有一个最大弱点:甲方必须把加密规则与密钥告诉乙方,否则无法解密。保存和传递密钥,就成了最头疼的问题。公钥密码体制解决单钥密码体制中最难解决的两个问题:密钥分配和数字签名公钥密码体制公钥密码体制算法条件产生一对密钥是计算可行的已知公钥、明文,产生密文是计算可行的利用私钥、密文,得到明文是计算可行的利用公钥来推断私钥是计算不可行的利用公钥、密文,得到明文是计算不可行的公钥密码体制以上要求的本质之处在于要求一个陷门单向函数总结为——陷门单向函数是一族可逆函数fk,满足:①Y=fk(X)易于计算(当k和X已知时)。②X=f-1k(Y)易于计算(当k和Y已知时)。③X=f-1k(Y)计算上是不可行的(当Y已知但k未知时)上述表达②③中,k就是所指的陷门,已知K时,可以进行逆计算。公钥密码体制加密应用公钥密码体制认证应用公钥密码体制认证+加密公钥密码体制1976年,Diffie和Hellman提出公钥密码思想,可以在不直接传递密钥的情况下,完成解密。这被称为"Diffie-Hellman密钥交换算法"。公钥密码体制RSA算法是1978年由R.Rivest,A.Shamir和L.Adleman提出的一种用数论构造的、也是迄今为止理论上最为成熟完善的公钥密码体制,该体制已得到广泛的应用。RSA算法其他非对称加密算法Merkel-Hellman背包算法McEliece算法ElGammal算法椭圆曲线密码算法基于有限自动机的公开密钥算法(中国)公钥密码体制算法描述①选两个保密的大素数p和q。②计算n=p×q,φ(n)=(p-1)(q-1),其中φ(n)是n的欧拉函数值,
令k=φ(n)。③选一整数e,满足1<e<k,且gcd(k,e)=1。即e与k互质。④计算d,满足d·e≡1mod(k),即d是e在模k下的乘法逆元,因e与k互质,由模运算可知,它的乘法逆元一定存在。即d·e=k·t+1,t为正整数⑤以{e,n}为公钥,{d,n}为私钥。RSA加密算法
RSA加密算法
RSA算法
RSA算法RSA算法可靠性,若已知公钥{e,n},求解d即可破解rsa算法回顾算法中一系列因素p初始大质数q 初始大质数nn=p*qφ(n)ee随机选取公钥de在模n下的乘法逆元RSA算法RSA的安全性已知公钥{e,n},已知ed≡1(modφ(n))。如何求解d?问题变为求解φ(n)φ(n)=(p-1)(q-1)-->问题变为求解pq已知n=p*q,所以问题变为n的因数分解。对于两个大质数相乘结果的因式分解,目前只能使用暴力破解。RSA算法密钥为1024位或2048位。同学可以编程尝试验证。RSA算法
其它公钥加密算法
其它公钥加密算法
其它公钥加密算法
其它公钥加密算法离散对数类,依赖离散对数难题主要有椭圆曲线上的离散对数数域上的离散对数算法EIGamal其它公钥加密算法离散对数举例其它公钥加密算法学习公钥密码体制理解公钥、私钥的分别作用于加密与认证场景下的应用总结密码学基础05
密钥交换学习密钥交换算法理解密钥管理的概念教学目标Diffie-Hellman密钥交换单密钥加密体制的密钥分配公钥加密体制的密钥管理目录公钥的分配方法:公开发布、公用目录表、公钥管理机构、公钥证书公钥分配完成后,用户就可以使用公钥体制进行保密通信。但是公钥加密速度慢,进行通信时不太合适。此时更适合使用对称加密来通信。由此引申出对称加密的密钥分配管理问题。公钥体制的密钥管理Diffie-Hellman密钥交换是W.Diffie和M.Hellman于1976年提出的第一个公钥密码算法算法的惟一目的是使得两个用户能够安全地交换密钥,得到一个共享的会话密钥,算法本身不能用于加、解密。算法的安全性基于求离散对数的困难性。Diffie-Hellman密钥交换
Diffie-Hellman密钥交换
Diffie-Hellman密钥交换在大量用户需要互相通信时,单密钥体制,会使用大量密钥。如有n个用户要互相通信,此时需要n(n-1)/2个密钥此时密钥管理是一个严重的风险问题。引入KDC来解决这个问题密钥分发中心KDC和每个终端用户都共享一对唯一的主密钥(用物理的方式传递,如U盾)。终端用户之间每次会话,都要向KDC申请唯一的会话密钥,会话密钥通过与KDC共享的主密钥加密来完成传递。单密钥加密体制的密钥分配建立一个共享的一次性会话密钥,可通过以下几步来完成:①A向KDC发出会话密钥请求。表示请求的消息由两个数据项组成,第1项是A和B的身份,第2项是这次业务的惟一识别符N1。②KDC为A的请求发出应答。应答是由KA加密的消息,因此只有A才能成功地对这一消息解密,并且A可相信这一消息的确是由KDC发出的。③A存储会话密钥,并向B转发EKB[KS‖IDA]。因为转发的是由KB加密后的密文,所以转发过程不会被窃听。B收到后,可得会话密钥KS,并从IDA可知另一方是A,而且还从EKB知道KS的确来自KDC。④B用会话密钥KS加密另一个一次性随机数N2,并将加密结果发送给A。⑤A以f(N2)作为对B的应答,其中f是对N2进行某种变换(例如加1)的函数,并将应答用会话密钥加密后发送给B。单密钥加密体制的密钥分配密钥分配实例单密钥加密体制的密钥分配
无KDC的密钥分配两个用户A和B建立会话密钥需经过以下3步(A与B已经有共享主密钥)①A向B发出建立会话密钥的请求和一个一次性随机数N1。②B用与A共享的主密钥MKm对应答的消息加密,并发送给A。应答的消息中有B选取的会话密钥、B的身份、f(N1)和另一个一次性随机数N2。③A使用新建立的会话密钥KS对f(N2)加密后返回给B。单密钥加密体制的密钥分配单密钥加密体制的密钥分配基于公钥管理机构的公钥分配:①用户A向公钥管理机构发送带时戳的消息,请求获取用户B的公钥。②管理机构作出应答,该消息由管理机构用自己的私钥SKAU加密,因此A能用管理机构的公开钥解密,并确认该消息的真实性。③A用B的公钥对一个消息加密发往B,这个消息有两个数据项:一是A的身份IDA,二是一个一次性随机数N1,用于惟一地标识这次业务。④⑤B以相同方式从管理机构获取A的公开钥(与步骤①、②类似)。这时,A和B都已安全地得到了对方的公钥,所以可进行保密通信。然而,他们也许还希望有以下两步,以认证对方。公钥加密体制的密钥管理⑥B用PKA对一个消息加密后发往A,该消息的数据项有A的一次性随机数N1和B产生的一个一次性随机数N2。因为只有B能解密③的消息,所以A收到的消息中的N1可使其相信通信的另一方的确是B。⑦
A用B的公开钥对N2加密后返回给B,可使B相信通信的另一方的确是A。公钥加密体制的密钥管理公钥加密体制的密钥管理基于公钥证书管理公钥用户通过公钥证书来互相交换自己的公钥而无须与公钥管理机构联系。公钥证书由证书管理机构CA(certificateauthority)为用户建立,其中的数据项有与该用户的秘密钥相匹配的公开钥及用户的身份和时戳等。所有的数据项经CA用自己的秘密钥签字后就形成证书,即证书的形式为:CA=ESKCA[T,IDA,PKA]IDA是用户A的身份,PKA是A的公钥,T是当前时戳,SKCA是CA的秘密钥,CA即是为用户A产生的证书公钥加密体制的密钥管理公钥加密体制的密钥管理使用公钥加密体制分配对称密钥如果A希望与B通信,可通过以下几步建立会话密钥:①A产生自己的一对密钥{PKA,SKA},并向B发送PKA||IDA,其中IDA表示A的身份。②B产生会话密钥KS,并用A的公开钥PKA对KS加密后发往A。③A由DSKA[EPKA[KS]]恢复会话密钥。因为只有A能解读KS,所以仅A、B知道这一共享密钥。④A销毁{PKA,SKA},B销毁PKA。公钥加密体制的密钥管理简单使用公钥加密算法建立会话密钥这种建议容易受到中间人攻击公钥加密体制的密钥管理具有保密性和认证性的密钥分配假定A、B双方已完成公钥交换,可按以下步骤建立共享会话密钥:①A用B的公开钥加密A的身份IDA和一个一次性随机数N1后发往B②B用A的公开钥PKA加密A的一次性随机数N1和B新产生的一次性随机数N2后发往A。因为只有B能解读①中的加密,所以B发来的消息中N1的存在可使A相信对方的确是B。③A用B的公钥PKB对N2加密后返回给B,以使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 香椿种植转让合同范本
- 南昌购房合同范本
- 余泥外运合同范本
- 卫星定位合同范本
- 合同范本从里
- 不良资产合同范本
- 小型装修合同范本
- 北京地暖合同范本
- 包工头和工人签合同范本
- 合同范本快速打字
- 消防工程常用设施三维图解
- 慢性乙型肝炎防治指南(2022年版)解读
- 擀筋课件教学课件
- 医院工程改造工程施工组织设计方案
- 英语人称代词和物主代词练习题(附答案)
- 计算机一级考试WPS试题及答案
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 《Windows server操作系统》Windows Server 2019全套教学课件
- 全科医生题库附有答案
- 2024年12月大学英语四级CET-4真题试卷
- 煤矿应急叫应、回应、响应机制
评论
0/150
提交评论