现代密码学总结
- 格式:doc
- 大小:1.56 MB
- 文档页数:25
班级:信息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 信道密钥信道多个用户加密的消息只能由一个用户解读。
混合离散对数及安全认证摘要:近二十年来,电子认证成为一个重要的研究领域。
其第一个应用就是对数字文档进行数字签名,其后Chaum希望利用银行认证和用户的匿名性这一性质产生电子货币,于是他提出盲签名的概念。
对于所有的这些问题以及其他的在线认证,零知识证明理论成为一个非常强有力的工具。
虽然其具有很高的安全性,却导致高负荷运算。
最近发现信息不可分辨性是一个可以兼顾安全和效率的性质。
本文研究混合系数的离散对数问题,也即信息不可识别性。
我们提供一种新的认证,这种认证比因式分解有更好的安全性,而且从证明者角度看来有更高的效率。
我们也降低了对Schnorr方案变形的实际安全参数的Girault的证明的花销。
最后,基于信息不可识别性,我们得到一个安全性与因式分解相同的盲签名。
1.概述在密码学中,可证明为安全的方案是一直以来都在追求的一个重要目标。
然而,效率一直就是一个难以实现的属性。
即使在现在对于认证已经进行了广泛的研究,还是很少有方案能兼顾效率和安全性。
其原因就是零知识协议的广泛应用。
身份识别:关于识别方案的第一篇理论性的论文就是关于零知识的,零知识理论使得不用泄漏关于消息的任何信息,就可以证明自己知道这个消息。
然而这样一种能够抵抗主动攻击的属性,通常需要许多次迭代来得到较高的安全性,从而使得协议或者在计算方面,或者在通信量方面或者在两个方面效率都十分低下。
最近,poupard和stern提出了一个比较高效的方案,其安全性等价于离散对数问题。
然而,其约减的代价太高,使得其不适用于现实中的问题。
几年以前,fiege和shamir就定义了比零知识更弱的属性,即“信息隐藏”和“信息不可分辨”属性,它们对于安全的识别协议来说已经够用了。
说它们比零知识更弱是指它们可能会泄漏秘密消息的某些信息,但是还不足以找到消息。
具体一点来说,对于“信息隐藏”属性,如果一个攻击者能够通过一个一次主动攻击发现秘密消息,她不是通过与证明者的交互来发现它的。
《现代密码学》读书报告目录一、文献的背景意义、研究目的、核心思想 (3)二、国内外相关研究进展 (5)现代密码学的产生 (5)近代密码学的发展 (6)三、文献所提方法(或算法、方案)的主要步骤或过程 (7)对称加密算法 (7)公开密钥算法 (7)四、文献所提方法的优缺点 (8)对称加密算法的优点和缺点: (8)五、文献所提方法与现有方法的功能与性能比较 (9)对称算法与公钥算法的比较: (9)六、文献所提方法的难点或关键点 (10)七、阅读中遇到的主要障碍 (10)八、阅读体会 (11)九、参考文献 (11)一、文献的背景意义、研究目的、核心思想密码学(Cryptography)在希腊文用Kruptos(hidden)+graphein(to write)表达,现代准确的术语为“密码编制学”,简称“编密学”,与之相对的专门研究如何破解密码的学问称之为“密码分析学”。
密码学是主要研究通信安全和保密的学科,他包括两个分支:密码编码学和密码分析学。
密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。
这两者之间既相互对立又相互促进。
密码的基本思想是对机密信息进行伪装。
一个密码系统完成如下伪装:加密者对需要进行伪装机密信息(明文)进行伪装进行变换(加密变换),得到另外一种看起来似乎与原有信息不相关的表示(密文),如果合法者(接收者)获得了伪装后的信息,那么他可以通过事先约定的密钥,从得到的信息中分析得到原有的机密信息(解密变换),而如果不合法的用户(密码分析者)试图从这种伪装后信息中分析得到原有的机密信息,那么,要么这种分析过程根本是不可能的,要么代价过于巨大,以至于无法进行。
“密码”一词对人们来说并不陌生,人们可以举出许多有关使用密码的例子。
如保密通信设备中使用“密码”,个人在银行取款使用“密码”,在计算机登录和屏幕保护中使用“密码”,开启保险箱使用“密码”,儿童玩电子游戏中使用“密码”等等。
第一章 根本概念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 mod )()(+==②密钥量:q (2)乘法密码 ①加密算法:κκ∈∈===k X m Z Z Y X q q ;,;*对任意,密文为:q km m E c k mod )(==②解密算法: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 mod )()(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.单表古典密码的统计分析【注:出现频率最高的双字母:th ;出现频率最高的三字母:the 】 〔二〕多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同〔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 nq q)(ϕ2.简单置换密码①密钥量:n q )!( 〔3〕换位密码 ①密钥量:!n〔4〕广义置换密码 ①密钥量:)!(n q 〔5〕广义仿射密码 ①密钥量:n n r q3.几种典型的多表古典密码体制 (1)Playfair 体制: ①密钥为一个5X5的矩阵 ②21m m 对应的密文21c c 确实定:21m m 和同行或同列,如此1c 为1m 后的字符,2c 为2m 后的字符;假如21m m 和既不同行也不同列,如此21c c 在21m m 所确定的矩形的其他两个角上,1c 和1m 同行,2c 和2m 同行。
密码主要功能:1.机密性:指保证信息不泄露给非授权的用户或实体,确保存储的信息和传输的信息仅能被授权的各方得到,而非授权用户即使得到信息也无法知晓信息容,不能使用。
2.完整性:是指信息未经授权不能进行改变的特征,维护信息的一致性,即信息在生成、传输、存储和使用过程中不应发生人为或非人为的非授权篡改(插入、替换、删除、重排序等),如果发生,能够及时发现。
3.认证性:是指确保一个信息的来源或源本身被正确地标识,同时确保该标识的真实性,分为实体认证和消息认证。
消息认证:向接收方保证消息确实来自于它所宣称的源;实体认证:参与信息处理的实体是可信的,即每个实体的确是它所宣称的那个实体,使得任何其它实体不能假冒这个实体。
4.不可否认性:是防止发送方或接收方抵赖所传输的信息,要求无论发送方还是接收方都不能抵赖所进行的行为。
因此,当发送一个信息时,接收方能证实该信息的确是由所宣称的发送方发来的;当接收方收到一个信息时,发送方能够证实该信息的确送到了指定的接收方。
信息安全:指信息网络的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露、否认等,系统连续可靠正常地运行,信息服务不中断。
信息安全的理论基础是密码学,根本解决,密码学理论对称密码技术——分组密码和序列密码——机密性;消息认证码——完整性,认证性;数字签名技术——完整性,认证性,不可否认性;1949年Shannon发表题为《保密系统的通信理论》1976年后,美国数据加密标准(DES)的公布使密码学的研究公开,密码学得到了迅速发展。
1976年,Diffe和Hellman发表了《密码学的新方向》,提出了一种新的密码设计思想,从而开创了公钥密码学的新纪元。
置换密码置换密码的特点是保持明文的所有字符不变,只是利用置换打乱了明文字符的位置和次序。
列置换密码和周期置换密码使用密码设备必备四要素:安全、性能、成本、方便。
密码体制的基本要求:1.密码体制既易于实现又便于使用,主要是指加密函数和解密函数都可以高效地计算。
现代密码学的应用与技术分析密码学是关于信息安全的一门学科,现代密码学则是指在计算机和互联网环境下发展起来的密码学学派。
现代密码学涉及到许多方面,例如加密算法、对称加密、非对称加密、数字签名等等。
在当今信息时代,密码学研究的越来越深入,应用的领域也越来越广泛。
本文将着重介绍现代密码学的应用和技术分析。
1. 现代密码学的应用1.1 网络安全在当今的信息化时代,网络安全显得尤为重要。
无论是个人用户还是企业机构,都需要保证网络安全,以防止自身信息被窃取或遭受黑客攻击。
现代密码学为网络安全提供了有效的解决方案。
例如,对称加密算法能够在数据传输过程中,将明文转化为密文,保证数据传输的安全性。
而非对称加密算法则能够解决密钥传输问题,为数据传输提供更高的保障。
1.2 金融保密数字货币的出现,让人们意识到金融交易安全的重要性。
现代密码学为金融交易提供了保密性和安全性保障。
数字签名技术和公钥加密技术,使得金融机构可以在网络上安全地完成转账、结算等交易活动。
这些技术保证了金融信息的安全性和完整性,从而提高了金融交易的信任度。
1.3 版权保护随着互联网的发展,数字版权保护显得尤为重要。
现代密码学为数字版权提供了一种更加有效的保护方式。
数字水印技术就是其中一种。
数字水印技术可以在数字产品中嵌入特定的信息,从而达到版权保护的目的。
而数字签名技术也能保护数字版权,确保数字产品在网络上的交易和流通是合法的和受保护的。
2. 现代密码学的技术分析2.1 对称加密算法对称加密算法是现代密码学中的一个重要部分,其特点是加密解密使用的密钥相同。
这样做能够避免密钥传输的问题,但是如果密钥泄漏,对系统的威胁就非常大。
因此,在对称加密算法的应用中,密钥管理非常重要。
2.2 非对称加密算法非对称加密算法是一种采用公钥加密和私钥解密的加密方式。
公钥公开,但是私钥是私有的。
这样的加密方式能够保证密钥传输的安全,但是加密和解密的速度很慢,因此一般只用于密钥传输的过程中,而不是用于具体的数据加密。
一、实验目的通过本次实验,了解现代密码学的基本原理和方法,掌握密码学在通信与网络安全中的应用,提高对密码算法的分析和设计能力。
二、实验内容1. 理解密码学的基本概念和原理;2. 掌握对称加密算法和非对称加密算法的基本原理;3. 实现DES、AES、RSA等常用密码算法;4. 分析和比较不同密码算法的性能;5. 设计简单的密码系统。
三、实验步骤1. 理解密码学的基本概念和原理密码学是研究保护信息安全的一门学科,主要包括加密、解密、认证和密钥管理等。
密码学的基本原理包括:保密性、完整性、可用性和抗抵赖性。
2. 掌握对称加密算法和非对称加密算法的基本原理(1)对称加密算法:加密和解密使用相同的密钥,如DES、AES等。
其优点是加密速度快,但密钥分发和管理困难。
(2)非对称加密算法:加密和解密使用不同的密钥,如RSA、ECC等。
其优点是密钥分发和管理简单,但加密速度较慢。
3. 实现DES、AES、RSA等常用密码算法(1)DES算法:本实验使用Python语言实现DES算法的加解密过程。
首先,构造DES密钥,然后对明文进行加密和解密。
(2)AES算法:本实验使用Python语言实现AES算法的加解密过程。
首先,构造AES密钥,然后对明文进行加密和解密。
(3)RSA算法:本实验使用Python语言实现RSA算法的加解密过程。
首先,生成公钥和私钥,然后使用公钥加密明文,使用私钥解密密文。
4. 分析和比较不同密码算法的性能通过对DES、AES、RSA等密码算法的实验,分析不同算法在加密速度、安全性、密钥长度等方面的差异,为实际应用提供参考。
5. 设计简单的密码系统结合所学知识,设计一个简单的密码系统,包括密钥生成、加密、解密和认证等功能。
四、实验结果与分析1. DES算法(1)加密速度:DES算法的加密速度较快,适合对速度要求较高的场合。
(2)安全性:DES算法的密钥长度为56位,相对较短,安全性较低。
2. AES算法(1)加密速度:AES算法的加密速度较快,适合对速度要求较高的场合。
现代密码学总结第一讲绪论1、密码学是保障信息安全的核心2、安全服务包括:机密性、完整性、认证性、不可否认性、可用性3、一个密码体制或密码系统是指由明文(m或p)、密文(c)、密钥(k)、加密算法(E)和解密算法(D)组成的五元组。
4、现代密码学分类:(1)对称密码体制:(又称为秘密密钥密码体制,单钥密码体制或传统密码体制)密钥完全保密;加解密密钥相同;典型算法:DES、3DES、AES、IDEA、RC4、A5 (2)非对称密码体制:(又称为双钥密码体制或公开密钥密码体制)典型算法:RSA、ECC第二讲古典密码学1、代换密码:古典密码中用到的最基本的处理技巧。
将明文中的一个字母由其它字母、数字或符号替代的一种方法。
(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)转轮密码机:2、置换密码:将明文字符按照某种规律重新排列而形成密文的过程列置换,周期置换3、密码分析:(1)统计分析法:移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用统计分析法(2)重合指数法⏹ 完全随机的文本CI=0.0385,一个有意义的英文文本CI=0.065⏹实际使用CI 的估计值CI ’:L :密文长。
fi :密文符号i 发生的数目。
第三讲密码学基础第一部分密码学的信息论基础1、 Shannon 的保密通信系统模型(1) 对称密码体制(2)(3) 一个密码体制是一个六元组:(P , C, K 1, K 2, E, D )P--明文空间C--密文空间K 1 --加密密钥空间 K 2--解密密钥空间E --加密变换D --解密变换对任一k ∈K 1,都能找到k’∈K 2,使得D k’ (E k (m ))=m ,∀m ∈M.2、 熵和无条件保密(1) 设随机变量X={xi | i=1,2,…,n}, xi 出现的概率为Pr(xi) ≧0, 且, 则X 的不确定性或熵定义为熵H(X)表示集X 中出现一个事件平均所需的信息量(观察前);或集X 中每出现一个事件平均所给出的信息量(观测后).(2) 设X={x i |i=1,2,…,n}, x i 出现的概率为p (x i ) ≥0,且∑i=1,…,n p (x i )=1;0 )(1log )()(≥=∑ii ai x p x p X HY={y i |i=1,2,…,m}, y i 出现的概率为p (y i ) ≥0,且∑i=1,…,m p (y i )=1; 则集X 相对于集Y 的条件熵定义为(3) X 视为一个系统的输入空间,Y 视为系统的输出空间,通常将条件熵H (X|Y)称作含糊度,X 和Y 之间的平均互信息定义为:I (X,Y)=H (X)-H (X|Y) 表示X 熵减少量。
1. 引言现代密码学是信息安全领域的核心技术之一,它涉及到加密、解密、密钥管理等方面的知识。
在信息时代,保护数据的安全至关重要,而现代密码学正是为了在数据传输和存储过程中能够保障数据的机密性、完整性和可用性而被广泛应用。
2. 现代密码学的基本原理现代密码学的基本原理包括明文、密文、密钥和加密算法等要素。
在信息传输过程中,明文是指未经加密的数据,而密文则是指经过加密处理后的数据。
而密钥则是用来进行加密和解密操作的参数,加密算法则是指加密和解密过程中所使用的数学运算和逻辑操作。
3. 常见的加密算法3.1 对称加密算法对称加密算法是指加密和解密使用相同密钥的加密算法,常见的对称加密算法包括DES、3DES、AES等。
在对称加密算法中,数据的发送方和接收方需要事先共享密钥,而且密钥的管理是其中的一个重要问题。
3.2 非对称加密算法非对称加密算法使用一对密钥,分别称为公钥和私钥。
公钥用来加密数据,私钥用来解密数据,常见的非对称加密算法包括RSA、DSA、ECC等。
非对称加密算法不需要发送方和接收方共享密钥,因此能够解决对称加密算法中密钥管理的问题。
3.3 哈希算法哈希算法是一种将任意长度的数据转换为固定长度散列值的算法,常见的哈希算法包括MD5、SHA-1、SHA-256等。
哈希算法的特点是不可逆,同样的输入数据得到的散列值是固定的,而且对输入数据的微小改动都会导致散列值的巨大改变。
4. 个人观点和理解现代密码学是信息安全领域不可或缺的一部分,它的应用范围包括网络通信、金融交易、电子商务等方方面面。
在信息时代,数据的安全非常重要,而现代密码学的发展和应用能够有效保障数据的安全性,确保数据在传输和存储过程中不被泄漏、篡改或者被恶意利用。
5. 总结和回顾现代密码学的基本原理包括明文、密文、密钥和加密算法等要素,而常见的加密算法主要包括对称加密算法、非对称加密算法和哈希算法。
对称加密算法通过使用相同密钥进行加密和解密,而非对称加密算法使用一对密钥进行加密和解密,哈希算法则是将任意长度的数据转换为固定长度散列值的算法。
现代密码学教程复习总结第一章1.攻击形式被动攻击(察而不扰)主动攻击(操作数据)2.信息安全目标特征机密性(读不懂)完整性(不可改)认证性(来源和信息可信)可用性(信息随时可用)不可否认性3.在生活中应用4、密码体制包括明文M 密文C 密钥K 加密算法E 解密算法D5.密码分析基本假设:加解密算法安全性只取决于密钥安全性。
6对称密码体制优: 效率高密钥短加密后长度不变缺:需要安全通道分发密钥量大,难于管理难以解决不可否认问题7.非对称密码体制优:密钥分发容易密钥管理简单可以有效解决数字签名问题(产生签名用私钥,验证签名用公钥)缺:效率低密钥位数多密文长度大于明文长度8.安全性无条件安全(一次一幂)有条件安全(计算安全,实际安全,可证明安全)9.原则:高效算法公开除穷举外无密钥空间足够大10.攻击类型:唯密文攻击(最难)已知明文攻击选择明文攻击选择密文攻击选择文本攻击第二章传统密码体制1.置换密码(计算题)。
2.代换密码(密钥空间)单表代换(基于密钥,仿射密码)多表代换(playFail密码维吉尼亚密码希尔密码)3.密码轮转机4.单表代换(唯密文攻击) 多表代换(已知明文攻击)5.统计分析方法:字符出现频率,e最高6.明文—密文对分析法:重合指数法IC第四章分组密码1.分组密码与维吉尼亚密码的区别:密文块的任意位与明文块的所有位相关2.分组长度为n,密钥空间为2^n!(理想分组密码)3.原理:扩散和混乱4.乘积密码P865.SP网络(代换置换网络):S代换(扩散非线性函数)和P置换(混乱线性函数)多次迭代雪崩效应6.分组密码的设计准则:分组长度密钥长度轮函数F 迭代轮数子密钥生成方法7.数据加密标准DES:分组长度:64位密钥长度:初始密钥长度64位(56位有效密钥,8的倍数为奇偶校验位)对称算法:dk=ek先代换后置换 16轮S盒查表P968.三重DES产生需求:增加密钥量4种模式:DES-EEE3 DES-EDE3 DES-EEE2 DES-EDE2优点9.AES算法:分组长度:128位密钥长度:128 192 256密钥扩展成11个,每个有4个字迭代轮数:10轮轮函数:字节代换行移位列混淆轮密钥加10.典型分组密码IDEA算法RC6算法Skipjack算法Camella算法11.分组密码的工作模式(给出图识别)电子密码本模式(ECB)密码分组链接(CBC)密码反馈(CFB)输出反馈(OFB)计数器(CTR)第五章序列密码1.分组密码与序列密码区别分组密码分块无记忆,序列密码有状态记忆(密钥+明文+当前状态)2.密钥序列产生器(KG)3.同步序列密码自同步序列密码4.序列密码原理:组合部分对驱动部分输出进行非线性组合5.线性反馈移位寄存器抽头序列特征多项式m序列本原多项式6.伪随机性测试:单个位测试扑克牌测试游程测试7.m序列的破译:已知明文攻击8.组合部分:非线性序列(非线性组合函数F)Geffe发生器J-K触发器pless生成器钟控序列生成器门限发生器9.典型的序列密码算法:RC4算法A5算法SEAL算法SNOW2.0算法WAKE算法PKZIP算法第六章Hash函数和消息认证1.哈希函数:任意长度输入,固定长度输出,不可逆单向2.性质:任意长度输入固定长度输出m—>h(m)容易单向性h(m)—>m不可行抗弱碰撞性抗强碰撞性随机性(雪崩效应)3.Hash 函数的应用4.Hash 算法:基于加密体制实现直接构造5.MD5算法:输入输出附加填充位初始化链接变量分组处理步函数输入长度分组长度输出长度轮数寄存器数MD5:SHA1:SHA256:SHA512(SHA384):3.消息认证码(MAC)概念4.MAC函数与加密算法的本质区别5.基于DES的消息认证码6.基于Hash的消息认证码7.Hash函数的攻击:生日悖论(中途相遇攻击)第七章公钥密码体制1.对称密码体制的局限性2.陷门单向函数3.公钥密码体制分类:RSA、ELGamal、椭圆曲线4.RSA公钥密码:密钥对生成、加解密算法、正确性证明5.RSA攻击方法:针对参数选择的攻击(共模攻击、低指数攻击、(p-1)和(q-1)的大素因子)6.ELGamal公钥密码:密钥对生成、加解密算法、正确性证明7.椭圆曲线ECC公钥密码:密钥对生成、加解密算法、正确性证明8.ECC的优势特点9.MH背包公钥密码10.超递增序列第八章数字签名技术1.数字签名特点(与手写签名不同)2.什么是数字签名?3.数字签名原理4.基于RSA的数字签名方案5.基于离散对数的签名方案(ElGamal、Schnorr、DSA)6.基于椭圆曲线的签名方案7.特殊数字签名场合,要求:代理签名、盲签名、多重数字签名、群签名、不可否认签名第九章密码协议1.密码协议含义、目的2.零知识证明场景、功能3.比特承诺4.不经意传送协议场景、功能:公平掷币协议、5.安全多方计算协议6.电子商务中密码协议电子货币电子现金系统7.电子投票8.电子拍卖第十章密钥管理1.密钥管理的层次结构2.密钥生命周期3.公开密钥分发4.秘密密钥分发5.密钥协商技术Diffie-Hellman密钥交换协议中间人攻击6.密钥托管技术基本组成7.秘密共享技术(t,n)门限方案Shamir门限方案(计算)。
现代密码学总结第一讲绪论•密码学是保障信息安全的核心•安全服务包括:机密性、完整性、认证性、不可否认性、可用性•一个密码体制或密码系统是指由明文(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 模式最简单的一种分组密码工作方式。