现代密码学总结
密码学总结

班级:信息111 姓名:刘秉森学号:2011120301191引言1.1信息安全的重要性信息安全技术作为一门综合学科,它涉及信息论、计算机科学和密码学等多方面知识,研究计算机系统和通信网络内信息的保护方法以实现系统内信息的安全、保密、真实和完整。
21世纪是信息时代,信息的传递在人们日常生活中变得非常重要。
如:电子商务,电子邮件,电子政务,银行证券等,无时无刻不在影响着人们的生活。
这样信息安全问题也就成了最重要的问题之一。
在信息交换中,“安全”是相对的,而“不安全”是绝对的,随着社会的发展和技术的进步,信息安全标准不断提升,因此信息安全问题永远是一个全新的问题。
信息安全的核心是密码技术。
如今,计算机网络环境下信息的保密性、完整性、可用性和抗抵赖性,都需要采用密码技术来解决。
公钥密码在信息安全中担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。
1.2密码学的研究对象及作用范畴1.2.1密码学的研究对象经过一学期的学习,我理解了学习密码学的学习目的,掌握了基本的密码学基础知识,了解了密码算法的多种分类和密码学研究的对象。
密码学是主要研究通信安全和保密的学科,他包括两个分支:密码编码学和密码分析学。
密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。
这两者之间既相互对立又相互促进。
对于一个密码系统,加密者对需要进行伪装机密信息(明文)进行伪装进行变换(加密变换),得到另外一种看起来似乎与原有信息不相关的表示(密文),如果合法者(接收者)获得了伪装后的信息,那么他可以通过事先约定的密钥,从得到的信息中分析得到原有的机密信息(解密变换)1.2.2密码学的重要性长期以来,密码技术总是和政治、经济、军事联系在一起。
密码学的发展经历了从古典密码学到现代密码的演变。
现代密码是以信息块为基本加密单元的密码。
现代密码学学习报告

现代密码学学习报告第一章 概论1.1信息安全与密码技术信息的一般定义属于哲学范畴。
信息是事物运动的状态与方式,是事物的一种区别于物质与能量的属性。
“信息”——数据。
机密性——拥有数据的一方或交换数据的各方不希望局外人或对手获得、进而读懂这些数据。
完整性——数据在交换及保存中不被未授权者删除或改动,或者合法的接受者能方便的判断该数据是否已经被篡改。
认证性——也称“不可否认性”或“抗抵赖”,包括信息源和接收端认证性,即信息系统中的实体不能否认或抵赖曾经完成的发送消息或接收消息的操作。
利用信息源证据可以检测出消息发送方否认已发送某消息的抵赖行为,利用接收端证据可以检测出消息接收方否认已接收某消息的抵赖行为。
此类证据通常还包括时间/时序或“新鲜性”证据。
可用性——授权用户能对信息资源有效使用。
显然,信息系统可靠性是其支撑之一。
公平性——信息具有的社会或经济价值只能在交互中体现。
公平性就是指交换规则或交互协议要使得参与信息交互的各方承担安全风险上处于相同或相当的地位。
可控性——是指对信息的传播及传播的内容以至信息的机密性具有控制能力的特性。
一般指信息系统或(社会)授权机构根据某种法规对信息的机密性、信息的传播通道、特定内容信息的传播具有控制能力的特性,以及获取信息活动审计凭证能力的特性,如“密钥托管”、“匿名撤销”、实时内容检测与过滤、计算机犯罪或诉讼的司法取证等。
1.2密码系统模型和密码体制密码系统基本模型:密码体制的分类:对称密码体制的古典算法有简单代换、多名代换、多表代换等。
非对称密码体制:使用非对称密码体制的每一个用户一个是可以公开的,称为公开密钥,简称公钥,用pku 表示;另外一个则是秘密的,称为秘密秘钥,简称私钥,用sku 表示。
非对称密码体制又称为双钥密码体制或公钥密码体制。
公钥密码体制的主要特点是将加密能力分开并分别并分别授予不同的用户,因而可以实现信 源M 加密器()c m =1k E 非法接入者密码分析员(窃听者)搭线信道(主动攻击)搭线信道(被动攻击)解密器接收者()m c =2k D 密钥源密钥源1K 2K m m 'm c'c 1k 2k 信道密钥信道多个用户加密的消息只能由一个用户解读。
现代密码学(第二版)重点概念整理

现代密码学(第⼆版)重点概念整理第⼀章1.被动攻击获取消息的真实内容进⾏业务流分析2.主动攻击中断、篡改、伪造3.安全业务1、保密业务:保护数据以防被动攻击。
2、认证业务:⽤于保证通信的真实性。
3、完整性业务:防⽌对消息流的篡改和业务拒绝。
4、不可否认业务:⽤于防⽌通信双⽅中的某⼀⽅对所传输消息的否认。
5、访问控制:访问控制的⽬的是防⽌对⽹络资源的⾮授权访问,控制的实现⽅式是认证,即检查欲访问某⼀资源的⽤户是否具有访问权。
4.安全通信需考虑加密算法⽤于加密的秘密信息秘密信息的分布与共享安全服务所需的协议5.信息安全可分为系统安全、数据安全、内容安全,密码技术是保障数据安全的关键技术。
6.密码体制从原理上分为单钥体制和双钥体制,单钥体制包括对明⽂消息按字符逐位加密的流密码和将明⽂消息分组加密的分组密码。
双钥特点是将加密和解密能⼒分开。
7.密码攻击类型唯密⽂攻击、已知明⽂攻击、选择明⽂攻击、选择密⽂攻击8.加密算法是⽆条件安全的,仅当密钥⾄少和明⽂⼀样长时,才能达到⽆条件安全9.多表代换密码的计算问题,课后习题3、4第⼆章1.流密码的概念:利⽤密钥k产⽣⼀个密钥流z=z0z1…,并使⽤如下规则对明⽂串x=x0x1x2…加密:y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。
密钥流由密钥流发⽣器f产⽣:zi=f(k,σi),σi:加密器中的记忆元件(存储器)在时刻i的状态,f:由密钥k和σi产⽣的函数。
2.分组密码与流密码的区别: 有⽆记忆性3.密码设计者的最⼤愿望是设计出⼀个滚动密钥⽣成器,使得密钥经其扩展成的密钥流序列具有如下性质:极⼤的周期、良好的统计特性、抗线性分析、抗统计分析4.同步流密码的关键是密钥流产⽣器。
5.如果移位寄存器的反馈函数f(a1,a2,…,an)是a1,a2,…,an的线性函数,则称之为线性反馈移位寄存器LFSR(linear feedback shift register)。
现代密码学考试重点总结

古典密码1.密码的基本概念○1作为数学的一个分支,是密码编码学和密码分析学的统称○2密码编码学:使消息的技术和科学研究容:1、序列密码算法的编码技术2、分组密码算法的编码技术3、公钥密码体制的编码技术○3密码分析学:破译密文的科学和技术研究容:1、密码算法的安全性分析和破译的理论、方法、技术和实践2、密码协议的安全性分析的理论与方法3、安全系统的安全性分析和攻击的理论、方法、技术和实践2.密码体制的5构成要素:○1M:明文消息空间,表示所有可能的明文组成的有限集。
○2C:密文消息空间,表示所有可能的密文组成的有限集。
○3K:密钥空间,表示所有可能的密钥组成的有限集。
○4E:加密算法集合。
○5D:解密算法集合3.密码体制的分类:○1对称密匙密码系统加密密钥=解密密钥钥匙是的依赖密钥选择○2非对称密匙密码系统加密密钥≠解密密钥加密密钥为公钥(Public Key)解密密钥为私钥(Private Key)4.古典密码体制的算法○1棋盘密码希腊作家Polybius提出密钥空间:25○2移位密码○3代换密码○4维吉尼亚密码○5仿射密码:仿射密码是移位密码的一个推广,其加密过程中不仅包含移位操作,而且使用了乘法运算例题:1-1mod26=13-1mod26=95-1mod26=21 7-1mod26=1511-1mod26=19 17-1mod26=23 25-1mod26=25○6置换密码○7 Hill密码例题:5.密码分析的Kerckhoffs原则:攻击者知道所用的加密算法的部机理,不知道的仅仅是加密算法所采用的加密密钥6.常用的密码分析攻击分为以下四类:惟密文攻击已知明文攻击选择明文攻击选择密文攻击7.衡量密码体制安全性的基本准则:计算安全的可证明安全的无条件安全的分组密码8.分组密码的设计准则○1概念:又称块密码。
是指对固定长度的一组明文进行加密的一种加密算法,这一固定长度称之为分组长度○2在分组加密中,要求填充是可逆的○3严格的雪崩准则SAC 位独立准则BIG 保证的雪崩准则GAC 非线性性和随机性9.Feistel分组密码的基本结构:Shannon 能够破坏对密码系统进行各种统计分析攻击的两个基本操作:扩散和混淆10.Feistel安全性取决于:○1明文消息和密文消息分组的大小○2子密钥的大小○3循环次数○4子密钥产生算法○5轮函数(核心——非线性)11.数据加密标准——DES(Data Encryption Standard)○1包含16个阶段的“替换--置换”的分组加密算法经过16轮加密得到64位密文序列○2密钥的长度56位12.DES共8个s盒——6位输入4位输出13.高级加密标准AES(Advanced Encryption Standard)128位分组/密钥—10轮 192位分组/密钥—12轮 256位分组/密钥—14轮14.IDEA(International Data Encryption Algorithm:国际数据加密标准)64位分组 128位密钥 8轮15.分组密码的4种常用工作模式为:“工作模式”是指以某个分组密码算法为基础,解决对任意长度的明文的加密问题的方法电码本模式(Electronic-Codebook Mode,ECB模式)密码反馈模式(Cipher- Feedback Mode,CFB模式)密码分组模式(Cipher-Block-Chaining,CBC模式)输出反馈模式(Output-Feedback Mode,OFB模式)模式(计数器Counter Mode,CTR模式)16.分组密码的分析技术主要有以下几种:穷尽搜索攻击;差分密码分析攻击;线性密码分析攻击;17.18.序列密码的主要原理:通过随机数发生器产生性能优良的伪随机序列(密钥流),使用该序列加密信息流(逐比特加密),得到密文序列。
现代密码学知识点整理:

第一章 基本概念1. 密钥体制组成部分:明文空间,密文空间,密钥空间,加密算法,解密算法 2、一个好密钥体制至少应满足的两个条件:(1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易; (2)在不知解密密钥的情况下,不可能由密文c 推知明文 3、密码分析者攻击密码体制的主要方法: (1)穷举攻击 (解决方法:增大密钥量)(2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样) (3)解密变换攻击(解决方法:选用足够复杂的加密算法) 4、四种常见攻击(1)唯密文攻击:仅知道一些密文(2)已知明文攻击:知道一些密文和相应的明文(3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文 (4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文【注:①以上攻击都建立在已知算法的基础之上;②以上攻击器攻击强度依次增加;③密码体制的安全性取决于选用的密钥的安全性】第二章 古典密码(一)单表古典密码1、定义:明文字母对应的密文字母在密文中保持不变2、基本加密运算设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*=∈=-=q k Z k Z q Z q q q(1)加法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;对任意,密文为:q k m m E c k m od )()(+== ②密钥量:q (2)乘法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;*对任意,密文为:q km m E c k m od )(== ②解密算法:q c k c D m k mod )(1-==③密钥量:)(q ϕ (3)仿射密码 ①加密算法:κκ∈=∈∈∈===),(;},,|),{(;21*2121k k k X m Z k Z k k k Z Y X q q q 对任意;密文q m k k m E c k m od )()(21+==②解密算法:q k c k c D m k mod )()(112-==-③密钥量:)(q q ϕ (4)置换密码 ①加密算法:κσκ∈=∈==k X m Z Z Y X q q ;,;对任意上的全体置换的集合为,密文)()(m m E c k σ==②密钥量:!q③仿射密码是置换密码的特例 3.几种典型的单表古典密码体制 (1)Caeser 体制:密钥k=3 (2)标准字头密码体制: 4.单表古典密码的统计分析(二)多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同2.基本加密运算 (1)简单加法密码 ①加密算法:κκ∈=∈====),...,(,),...,(,,11n n n nq n q n n k k k X m m m Z Z Y X 对任意设,密文:),...,()(11n n k k m k m m E c ++==②密钥量:nq (2)简单乘法密码 ①密钥量:n q )(ϕ 1.简单仿射密码①密钥量:n n q q )(ϕ2.简单置换密码 ①密钥量:nq )!( (3)换位密码 ①密钥量:!n(4)广义置换密码①密钥量:)!(nq(5)广义仿射密码 ①密钥量:n n r q3.几种典型的多表古典密码体制 (1)Playfair 体制: ①密钥为一个5X5的矩阵②加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
现代密码学知识点整理:要点

第一章基本概念1.密钥体制组成部分:明文空间,密文空间,密钥空间,加密算法,解密算法2、一个好密钥体制至少应满足的两个条件:(1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易;(2)在不知解密密钥的情况下,不可能由密文c 推知明文3、密码分析者攻击密码体制的主要方法:(1)穷举攻击(解决方法:增大密钥量)(2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样)(3)解密变换攻击(解决方法:选用足够复杂的加密算法)4、四种常见攻击(1)唯密文攻击:仅知道一些密文(2)已知明文攻击:知道一些密文和相应的明文(3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文(4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文【注:以上攻击都建立在已知算法的基础之上;以上攻击器攻击强度依次增加;密码体制的安全性取决于选用的密钥的安全性】第二章古典密码(一)单表古典密码1、定义:明文字母对应的密文字母在密文中保持不变2、基本加密运算设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*q k Z kZ q Z q qq(1)加法密码加密算法:kX m Z Z YX q q ;,;对任意,密文为:qk m m E c k mod )()(密钥量:q (2)乘法密码加密算法:kX m Z Z YX qq ;,;*对任意,密文为:qkm m E ck mod )(解密算法:qc k c D mk mod )(1密钥量:)(q (3)仿射密码加密算法:),(;},,|),{(;21*2121k k kX mZ k Z k k k Z YX qq q 对任意;密文qm k k m E ck mod )()(21解密算法:qk c k c D m k mod )()(112密钥量:)(q q (4)置换密码加密算法:kX mZ Z YX q q ;,;对任意上的全体置换的集合为,密文)()(m m E ck 密钥量:!q 仿射密码是置换密码的特例3.几种典型的单表古典密码体制(1)Caeser 体制:密钥k=3 (2)标准字头密码体制:4.单表古典密码的统计分析(1)26个英文字母出现的频率如下:频率约为0.120.06到0.09之间约为0.04约0.015到0.028之间小于0.01 字母et,a,o,i.n,s,h,rd,lc,u,m,w,f,g ,y,p,b v,k,j,x,q,z【注:出现频率最高的双字母:th ;出现频率最高的三字母:the 】(二)多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同2.基本加密运算(1)简单加法密码加密算法:),...,(,),...,(,,11n nn n qn qnnk k kX m m mZ Z YX对任意设,密文:),...,()(11n nk k m k m m E c密钥量:nq(2)简单乘法密码密钥量:nq)(1.简单仿射密码密钥量:nnq q)(2.简单置换密码密钥量:nq )!((3)换位密码密钥量:!n (4)广义置换密码密钥量:)!(nq (5)广义仿射密码密钥量:nnr q 3.几种典型的多表古典密码体制(1)Playfair体制:密钥为一个5X5的矩阵加密步骤: a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
现代密码学笔记

现代密码学笔记在如今这个数字化的时代,信息安全变得至关重要。
而现代密码学,就像是守护信息世界的神秘卫士,充满了令人着迷的魅力和挑战。
我还记得第一次接触现代密码学的那个下午。
阳光透过窗户洒在课桌上,我带着满心的好奇翻开了那本厚厚的教材。
原本以为会是一堆枯燥的理论和复杂的公式,没想到却走进了一个充满惊喜和神秘的世界。
老师在讲台上眉飞色舞地讲着对称加密算法,什么 DES 啦,AES 啦。
说实话,一开始我听得云里雾里的。
但当老师开始举例子的时候,一切都变得有趣起来。
他说:“想象一下,你有一个特别珍贵的秘密,比如你偷偷藏了一大包巧克力,不想被别人发现。
这时候,对称加密就像是给这个秘密加上了一把只有你自己有钥匙的锁。
你用一种特殊的方法把巧克力藏起来(加密),只有你拿着那把唯一的钥匙(密钥)才能找到并打开(解密)。
”听到这儿,我忍不住笑了,心里想着:这密码学还挺有意思的嘛!后来,我们学到了非对称加密算法,也就是公钥和私钥那一套。
老师又举了个好玩的例子:“假设你要给远方的朋友寄一封情书,但又怕被别人偷看。
这时候,你可以生成一对钥匙,一把是公钥,就像是一个公开的信箱,谁都能往里面放东西;另一把是私钥,只有你自己能打开这个信箱取出里面的东西。
你把公钥给你的朋友,让他用这个公钥把情书加密后寄给你,就算路上有人截获了这封加密的情书,没有你的私钥,也休想读懂里面的甜言蜜语。
”这让我不禁联想到,要是古代的那些才子佳人也懂这些加密技术,是不是就不会有那么多因为情书被截获而引发的悲剧啦?在学习哈希函数的时候,老师更是别出心裁。
他说:“哈希函数就像是一个神奇的魔法机器,你把任何东西扔进去,它都会给你吐出一个固定长度的、看起来毫无规律的结果。
而且,哪怕你输入的东西只改变了一点点,比如一个数字或者一个字母,吐出来的结果都会完全不同。
就好像你给这个魔法机器一个苹果,它给你变出一串数字;你再给它一个稍微有点瑕疵的苹果,它就变出完全不同的另一串数字。
现代密码学学习报告

现代密码学学习报告第一章 概论1.1信息安全与密码技术信息的一般定义属于哲学范畴。
信息是事物运动的状态与方式,是事物的一种区别于物质与能量的属性。
“信息”——数据。
机密性——拥有数据的一方或交换数据的各方不希望局外人或对手获得、进而读懂这些数据。
完整性——数据在交换及保存中不被未授权者删除或改动,或者合法的接受者能方便的判断该数据是否已经被篡改。
认证性——也称“不可否认性”或“抗抵赖”,包括信息源和接收端认证性,即信息系统中的实体不能否认或抵赖曾经完成的发送消息或接收消息的操作。
利用信息源证据可以检测出消息发送方否认已发送某消息的抵赖行为,利用接收端证据可以检测出消息接收方否认已接收某消息的抵赖行为。
此类证据通常还包括时间/时序或“新鲜性”证据。
可用性——授权用户能对信息资源有效使用。
显然,信息系统可靠性是其支撑之一。
公平性——信息具有的社会或经济价值只能在交互中体现。
公平性就是指交换规则或交互协议要使得参与信息交互的各方承担安全风险上处于相同或相当的地位。
可控性——是指对信息的传播及传播的内容以至信息的机密性具有控制能力的特性。
一般指信息系统或(社会)授权机构根据某种法规对信息的机密性、信息的传播通道、特定内容信息的传播具有控制能力的特性,以及获取信息活动审计凭证能力的特性,如“密钥托管”、“匿名撤销”、实时内容检测与过滤、计算机犯罪或诉讼的司法取证等。
1.2密码系统模型和密码体制密码系统基本模型:密码体制的分类:对称密码体制的古典算法有简单代换、多名代换、多表代换等。
非对称密码体制:使用非对称密码体制的每一个用户一个是可以公开的,称为公开密钥,简称公钥,用pku 表示;另外一个则是秘密的,称为秘密秘钥,简称私钥,用sku 表示。
非对称密码体制又称为双钥密码体制或公钥密码体制。
公钥密码体制的主要特点是将加密能力分开并分别并分别授予不同的用户,因而可以实现信 源M 加密器()c m =1k E 非法接入者密码分析员(窃听者)搭线信道(主动攻击)搭线信道(被动攻击)解密器接收者()m c =2k D 密钥源密钥源1K 2K m m 'm c'c 1k 2k 信道密钥信道多个用户加密的消息只能由一个用户解读。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代密码学总结第一讲绪论•密码学是保障信息安全的核心•安全服务包括:机密性、完整性、认证性、不可否认性、可用性•一个密码体制或密码系统是指由明文(m或p)、密文(c)、密钥(k)、加密算法(E)和解密算法(D)组成的五元组。
•现代密码学分类:•对称密码体制:(又称为秘密密钥密码体制,单钥密码体制或传统密码体制)密钥完全保密;加解密密钥相同;典型算法:DES、3DES、AES、IDEA、RC4、A5 •非对称密码体制:(又称为双钥密码体制或公开密钥密码体制)典型算法:RSA、ECC第二讲古典密码学•代换密码:古典密码中用到的最基本的处理技巧。
将明文中的一个字母由其它字母、数字或符号替代的一种方法。
(1)凯撒密码:c = E(p) = (p + k) mod (26) p = D(c) = (c –k) mod (26)(2)仿射密码:明文p ∈Z26,密文c ∈Z26 ,密钥k=(a,b) ap+b = c mod (26)(3)单表代换、多表代换Hill密码:(多表代换的一种)——明文p ∈(Z26)m,密文c ∈(Z26)m,密钥K ∈{定义在Z26上m*m的可逆矩阵}——加密c = p * K mod 26 解密p = c * K-1 mod 26Vigenere密码:查表解答(4)转轮密码机:•置换密码•••:将明文字符按照某种规律重新排列而形成密文的过程列置换,周期置换•密码分析:•统计分析法:移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用统计分析法•重合指数法• 完全随机的文本CI=0.0385,一个有意义的英文文本CI=0.065• 实际使用CI 的估计值CI ’:L :密文长。
fi :密文符号i 发生的数目。
第三讲 密码学基础第一部分 密码学的信息论基础• Shannon 的保密通信系统模型发送者接收者信源分析者加密解密安全信道无噪信道安全信道MM MCK K密钥源发送者接收者信源分析者加密解密无噪信道安全信道MM MC KK ’密钥源无噪信道•一个密码体制是一个六元组:(P, C, K 1, K 2, E, D )P--明文空间 C--密文空间 K 1 --加密密钥空间K2 --解密密钥空间E --加密变换D --解密变换对任一k∈K1,都能找到k’∈K2,使得D k’ (E k (m))=m,m M. •熵和无条件保密•)(1log)()(≥=∑i iaixpxpXH设随机变量X={xi | i=1,2,…,n}, xi出现的概率为Pr(xi) ≧0, 且, 则X的不确定性或熵定义为熵H(X)表示集X中出现一个事件平均所需的信息量(观察前);或集X中每出现一个事件平均所给出的信息量(观测后).•设X={x i|i=1,2,…,n}, x i出现的概率为p(x i)≥0,且∑i=1,…,n p(x i)=1;Y={y i|i=1,2,…,m}, y i出现的概率为p(y i)≥0,且∑i=1,…,m p(y i)=1;则集X 相对于集Y的条件熵定义为•X视为一个系统的输入空间,Y视为系统的输出空间,通常将条件熵H(X|Y)称作含糊度,X和Y之间的平均互信息定义为:I(X,Y)=H(X)-H(X|Y)表示X熵减少量。
•完善保密的(无条件保密的)密码系统(P,C,K,E,D)系统满足或第二部分复杂性理论•算法计算复杂性常常用两个变量来度量:时间复杂度(计算复杂度)T和空间复杂度S •假设一个算法的计算复杂度为O(n t),其中t为常数,n为输入问题的长度,则称这算法的复杂度是多项式的。
具有多项式时间复杂度的算法为多项式时间算法。
•如果一个算法的复杂度为O(t f(n)),t为大于1的常数,f(n)是以n为自变量的多项式函数,则称该算法的复杂度是指数的。
当f(n)是大于常数而小于线性函数时,称为亚指数时间算法。
•如果一个判定问题存在解它的多项式时间的算法,则称该问题属于P类.如果一个判定问题不存在解它的多项式时间的算法,且对于一个解答可以在多项式时间验证其是否正确,则称该问题属于NP类.第四讲分组密码•DES算法•整体结构:Feistel结构• 给定明文,通过一个固定初始置换IP 来重排输入明文块P 中的比特,得到比特串P0=IP(P)=L0R0,这里L0和R0分别是P0的前32比特和后32比特 • 16轮迭代,密钥生成),(L R 1-R L 1i i i i i i K R f -⊕==按下述规则进行16次迭代,即1≤i ≤16 ⊕这里 是对应比特的模2加,f 是一个函数(称为轮函数);16个长度为48比特的子密钥K i (1≤i ≤16)是由密钥k 经密钥编排函数计算出来的.• 对比特串R 16L 16使用逆置换IP -1得到密文C ,即C=IP -1 (R 16L 16) • 注意:第十六轮迭代左右两块不交换• 分组密码的轮函数(f)• 长度为32比特串R i-1作为第一输入,以长度为48比特串K i 作为第二个输入,产生长度为32比特的输出 • 扩展置换(E 盒):32位输入扩展为48位输出:按照8行6列次序排列,从32,1,2……排列,上一行的后两位一次在下一行的起始位置得到重用。
•1()i i E R K-⊕密钥加:按位异或加,计算 • S 盒代换:DES 中唯一的非线性部分8个S 盒。
每个S 盒输入均为6位,输出为4位。
Bj=b 1b 2b 3b 4b 5b 6, b1b6确定行r 的二进制表示, b2b3b4b5确定列c 的二进制表示,行列确定唯一长度为4的二进制数字• P 置换:根据固定置换P(*)进行置换•DES算法的密钥编排算法•64比特密钥K,根据固定置换PC-1来处理K得到PC-1(K)=C0D0,C0和D0分别由最前和最后28比特组成(去除8,16,24,32,40,48,56,64这8位奇偶校验位)•对1≤i≤16,DES的每一轮中使用K的56比特中的48个比特(压缩方法:删除C中的9,18,22,25位和D中的7,9,15,26位)•计算C i=LS i(C i-1)和D i=LS i(D i-1),且K i=PC-2(C i D i),LS i表示循环左移两个或一个位置, 具体地, 如果i=1,2,9,16就移一个位置,否则就移两个位置, PC-2是另一个固定的置换。
•DES的解密与加密使用一样的算法,以密文y作为输入,以相反顺序使用密钥编排K16,K15,…,K1,输出的是明文X•DES算法的扩散•两轮扩散:•三轮扩散:从LO的一块数据影响开始•AES算法•⊕128位(16个字)输入明文,128位密钥长度,第一次迭代前明文密钥•AES算法整体结构:•AES算法的轮函数——Rijndael轮函数1)字节代换(SubByte)2)行移位(ShiftRow)3)列混合(MixColumn)4)密钥加(AddRoundKey)①字节代换:字节代换是非线形变换,独立地对状态的每个字节进行,代换表(即S-盒)是可逆的S盒可以由以下两步运算得到:•求输入元素在m(x)=x8+x4+x3+x+1 上的逆元;•对上步中所求得的逆元进行如下运算②行移位:行移位是将状态阵列的各行进行循环移位,不同状态行的位移量不同;第0行不移动;第1行左移1字节;第2行左移2字节;第3行左移3字节•列混合:其中:(00000010)*(a7a6a5a4a3a2a1a0)=( a6a5a4a3a2a1a00) ,a7为0;⊕ =( aa5a4a3a2a1a00) (00011011),a7为16(00000001)*(a7a6a5a4a3a2a1a0)= (a7a6a5a4a3a2a1a0)⊕(00000011)*(aa6a5a4a3a2a1a0)= (00000010)*(a7a6a5a4a3a2a1a0) (a7a6a5a4a3a2a1a0)7•密钥加:密钥加是将轮密钥简单地与状态进行逐比特异或;轮密钥由种子密钥通过密钥编排算法得到注:结尾轮函数将列混合这一步骤去掉•AES算法的密钥编排算法•密钥编排指从种子密钥得到轮密钥的过程,AES的密钥编排由密钥扩展和轮密钥选取两部分组成,基本原则如下:——轮密钥的总比特数等于轮数加1再乘以分组长度;((10+1)*128=1408)——种子密钥被扩展成为扩展密钥——轮密钥从扩展密钥中取,第1轮轮密钥取扩展密钥的前N b个字,第2轮轮密钥取接下来的N b个字•密钥扩展:——每一列的4个字节组成一个字——>对w数组扩充40个新列,构成总共44列扩展密钥数组,如下产生⊕(1)如果i不是4的倍数,那么w[i]=w[i-4] w[i-1]⊕(2)若果i是4的倍数,那么w[i]=w[i-4] T(w[i-1]) T为一个复杂的函数T函数由三个部分组成:字循环,字节代换和轮常量异或•字循环:将1个字中的4个字节循环左移1个字节。
即[b0 ,b1,b2,b3]变换成[b1,b2,b3,b4]•字节代换:对自循环的结果使用S盒(书上P112表4-15)•将前两步的结果同轮常量Rcon[j]进行异或,其中j表示轮数•轮密钥的选取W0W1W2W3W4W5W6W7。
W40W41W42W43。
轮密钥0轮密钥1轮密钥10•AES的解密变换•ByteSub的逆变换由代换表的逆表做字节代换•行移位运算的逆变换是循环右移,位移量与左移时相同•列混合运算的逆运算是类似的,即每列都用一个特定的多项式d(x)相乘d(x)=‘0B’x3+‘0D’x2+‘09’x+‘0E’.•密钥加运算的逆运算是其自身•AES算法的扩散第一轮第二轮总体• • 128比特明文128比特密文X i+3X i+2X i+1X i X i+3F 函数X 35X 34X 33X 32初始化赋值反序变换R32轮运算F ’函数rk i+3rk i+2rk i+1rk iCK irk i+4MKFK初始化赋值32轮运算•128比特明文分为4个32比特字,分别赋值给四个寄存器A 、B ,C ,D (D 为最高). (,,,,)()i i F D C B A rk A T B C D rk =⊕⊕⊕⊕()432(D,C,B,)2Z A ∈32i 2rk Z ∈进行32轮F 运算,设每轮输入为寄存器当前状态值 和轮密钥为 ,则轮函数F 为:3534333232333435()()R X X X X X X X X =35343332()X X X X 将寄存器最右边字A 的值移出,高三个字顺次右移32位,F 函数的输出赋值给最左边的寄存器字D.32轮的输出 进行反序变换R ,然后输出密文.•4123321(,,,;)()i i i i i i i i i i i F X X X X T rk rk X X X X X +++++++==⊕⊕⊕⊕轮函数F以字为单位进行运算,输入寄存器值和轮密钥合成置换T :是一个可逆变换,由非线性变换τ和线性变换L 复合而成, 即T(.)=L(τ(.)) 32103210(,,,)()((),(),(),())Y Sbox Sbox Sbox Sbox y y y y z z z z τ∈=非线性变换τ由4个并行的S 盒构成()(2)(10)(18)(24)W L Y Y Y Y Y Y ==⊕<<<⊕<<<⊕<<<⊕<<<线性变换L :•密钥编排算法• 0131()rk rk rk ,,......,加密密钥长度为128比特MK • 轮密钥表示为 ,•0131CK=(......)CK CK CK ,,,0123FK=()FK FK FK FK ,,, 为系统参数, 为固定参数,用于密钥扩展算法 • 密钥扩展算法:012301230123(,,,)=(,,,)FK FK FK FK K K K K MK MK MK MK ⊕⊕⊕⊕123(A3B1BAC6),(56AA3350),=(677D9197), (B27022DC) .FKFK FK FK ===T’变换与加密算法轮函数中的T 基本相同,只将其中的线性变换L 修改为()(13)(23)L Y Y Y Y '=⊕<<<⊕<<<固定参数CKi 的取值方法为:设为 的第j 字节(i=0,1,…,31;j=0,1,2,3,即则• 分组密码的运行模式 • 为了能在各种场合使用DES ,定义了4中DES 运行模式:ECB,CBC ,CFB,OFBAES 的另外一种运行模式:CTR• ECB 模式最简单的一种分组密码工作方式。