第四章数论模运算的性质剩余集模的剩余类与互素因为与互素在中存在乘法逆元两边就消掉了Euclid算法任意非负整数任意正整数扩展的Euclid算法群环域群加法 封闭 结合加法 两元加法 交换律 -> 交换群有限域GF()不加附加条件就可以是素数肯定有逆元使用密钥数量级的,比攻击单DES的数量级多不了多少不依赖于DES的任何特殊性质,对所有分组密码都有效分组密码5种工作模式ECB(Electronic code Book)电码本相同的Key加密每一组数据较少-加密DES或AES密匙很长的消息,ECB可能不安全,利用规律性特征CBC(Cipher Block Chaining)密文分组链接输入时当前明文组+上一个密文组的异或(IV-ECB加密发送)密钥是相同的面向分组的通用传输认证不能明文传送IV解密IV不能扩散CFB(Cipher Feedback)密文反馈模式可将分组密码当作流密码,可以实时操作,密文与明文等长,加解密使用同一函数,一次处理s位,上一块密文作为加密算法的输入,产生的伪随机数输出与明文异或作为下一单元的密文,与明文异或的位流是与明文相关的面向数据流的通用传输认证可以作为流密码或者分组密码流密码不用填充实时操作密文与明文等长OFB(Output Feedback)输出反馈模式加密算法的输入是上一次加密的输出,且使用整个分组,在某位上发生的错误不会影响到其他位噪声信道上的数据流的传输(如卫星通信)抗消息篡改的能力不如CFB,控制对恢复明文的改变,改动校验和不被发现(密文的某位取反,明文相应位取反)传输过程某些位的错误不会影响其他位CTR(Counter)计数器模式每个明文分组都与一个经过加密的计数器相异或.对后续分组计数器递增用于高速需求并行加密对被加密的分组进行随机存取简洁安全不用填充分组1.硬件:并行处理2.软件:并行计算3.预处理: 算法执行不依赖与明密文的输入4.随机访问:破解其中一部分5.安全6.简单:值用加密算法第八章数论定理描述内容定理描述内容费马定理素数和互素等价形式素数任意正整数小于的正整数集合乘所有元素对取模与互素所以的元素不等零不整除且不相等假设互素消掉不可能所以两集合构成相同顺序不同和互素消去欧拉函数小于n且与n互素的正整数的个数对于素数对于两个素数和欧拉定理和互素中国剩余定理说明某一范围内的整数可通过他对两两互素的整数取模所得的余数来重构(用途之一:使得模M的大数运算转换到更小的数上运算)断言一:A有为一k元组与之对应,断言二:若则和类似两两互素有整数解模有唯一整数解其中费马定理公开密钥密码体制对称密码体制问题加解密能力捆绑密钥需可靠信道/分发困难密钥多/管理困难不认识的人无法不能数字签名欧拉函数欧拉定理第九章非对称密码公开密钥密码体制对称密码体制问题加解密能力捆绑密钥需可靠信道/分发困难密钥多/管理困难不认识的人无法不能数字签名非对称密码体制特点加解密能力分开密钥分发简单密钥少不认识的人可以数字签名算法特点密码算法+公钥(不能)私钥两个密钥一个加密一个解密都行应用加解密数字签名密钥交换攻击方法容易穷举长密钥从公钥算出私钥穷举消息攻击/对可能消息加密与密文比对体制特点公开密钥密码体制根据密码算法&密钥确定解密密钥在计算上是不可行的两个密钥的任何一个都可以用来加密,另一个用来解密RSA算法基于大合数的质因子分解问题的困难性算法流程秘密大素数p/q 公开模数n=p*q 秘密的选一个与互素的e M=1,求d加密:解密:公钥PU{e,n}/私钥PR{d,n}RSA算法基于大合数的质因子分解问题的困难性 攻击方法强行攻击:尝试所有密钥数学攻击:分解出出p和q(FAC问题)计时攻击:依赖于解密算法的运行时间分发方式内容缺陷公钥的公开发布发送/广播伪造公钥,冒充其他人RSA算法证明第十章密钥管理分发方式内容缺陷公开可访问的目录{姓名,公钥}目录管理员注册(安全方式)用户可以在任何时刻更新密钥通信方可访问该目录获取目录管理员密钥冒充任何通信方或者更改目录记录公钥授权私钥加密: 来自管理员原式请求: 请求未被篡改时间戳: 不是重放: 彼此确认身份公钥证书时间戳: 验证证书的时效性挂失密钥交换有效性计算离散对数很困难离散对数问题本原根产生模的完全剩余集任意整数所有素数本原根必存在DLP问题离散对数问题DiscreteLogarithmProblem已知和难以计算算法素数是的原根选择秘密钥计算公钥计算会话密钥或者密码体系基于DLP的概率密码系统算法加密素数是的原根选择找到公钥计算密文解密恢复然后恢复注意:k不能重复使用已知可推出Deffie-Hellman中间人攻击消息认证验证消息完整性的(机制)(服务):收到的和发送的消息一样/发送方声称的身份是真实有效的关心的问题保护消息的完整性验证发起方身份消息源的不可否认(解决分歧)考虑安全需求(可能的攻击)1. 泄密2. 传输分析3. 伪装4. 内容修改5. 顺序修改6.计时修改(延时/重播)7. 发送方否认8. 接收方否认三种消息认证方法(产生认证符的函数类型)第十一章消息认证三种消息认证方法(产生认证符的函数类型)①消息加密消息本身认证手段1 对称加密 (认证/保密)(不管密文是啥明文有合法的位模式就当成真实的密文)2 公钥加密 (认证/保密)(A私钥加密M然后B公钥加密M==数字签名)(执行四次复杂的公钥算法)解密所得消息是否具有可读性问题帧校验序列奇偶校验码②消息认证码(MAC)即带密钥的Hash函数密钥和数据块作为输入,产生的Hash值作为MAC码(认证功能,其他人不知道密钥)计算上是不可行的分布均匀/不提供数字签名(双方共享密钥)③哈希函数报文输入定长的散列码哈希函数值报文摘要(具有差错检测能力)(a)对称密码算法加密消息和Hash码(认证功能/保密性)(b)对称密码算法加密Hash码(认证功能)(c)仅使用Hash函数(共享秘密值S +M)(认证功能)(d)整个消息和Hash值加密(在c基础上(认证功能/保密性))消息认证使用形式相同报文进行多点广播接收方有选择的鉴别,对报文随机检查,无法对所有的报文解密 对计算机程序(明文)鉴别,检查完整性 鉴别报文的真实性散列函数要求散列函数要求应用于任意大小的数据块固定长度的输出容易算不容易算找到计算上不可行(抗弱碰撞性) 偶对计算上不可行(抗强碰撞性)数字签名起签名作用的码字保证了来源和完整性与消息认证的区别防止第三方破坏(任何其他知道改用户公钥的人都能通过数字签名来验证消息的完整性)利害关系解决纠纷安全性依赖与私有密钥的安全性基本形式两种方法1消息整体签字2对消息摘要签字第十三章数字签名两类数字签名确定性签名,明文与签名一一对应概率性数字签名,一个明文多个合法签名,每次不同直接数字签名仅涉及(信源/信宿)可以说私钥丢了别人发的(加时间戳;泄密后应立即向管理中心报告) (但是可以加盖T之前的时间戳)解决: 使用数字证书管理中心(CA)仲裁数字签名1签名报文给仲裁者2仲裁者检验出处内容/注上日期/仲裁说明接收方要求:仲裁方一定程度可信任使用对称或公开密钥实现仲裁方可以知道或不知道消息ElGamal的数字签名方法产生公钥/私钥对随机整数私公产生数字签名素数是的原根随机签名验证则合法预先使用哈希函数缩小签名密文的长度,加快数字签名和验证签名的运算速度认证服务功能信息真实性存储数据的真实性接收方提供回执不可否认时效性/公证可能性(身份认证)&(消息认证)目的放窃听/假冒/拦截/窃取基本认证方法单向认证对称加密(一次一密变形)公开密钥(B给A随机数他用私钥加密发回来)改进的口令方式双向认证关注的问题:(保密性/时效性)对称密钥(三次握手)公开密钥(A,B使用不同的R值)重放攻击(合法签名消息拷贝重新发)解决: 序列号时间戳挑战/应答(消息附加临时交互号(询问),回复中包含临时交互号)可信中继使用KDC密钥分发中心通过DASS 群认证第十五章用户认证对称加密方法每方与KDC共享主密钥KDC产生双方通信会话密钥用主密钥分发会话密钥Kerberos用于分布式环境下的认证服务利用可信的第三方Kerberos动机保护用户信息和服务器资源,要求客服向服务器提供身份认证,服务器向客服提供身份认证Kerberos使用模式(主体是Cilent/Server )服务器: 提供识别服务的Kerberos服务器/应用服务的其他服务器1. 用户/服务器到Kerberos服务器注册(实现秘密共享)2. 识别过程中K服务器为双方建立一个通信密钥方法使用中央式的识别服务器(Authentication Server,AS)为用户服务器提供识别服务AS与用户共享口令与其他服务器共享密钥注册时分配个各方第十四章Kerberos。