现代密码学 第3章
现代密码学PPT课件
信息安全所面临的威胁来自很多方面,并且随着时 间的变化而变化。这些威胁可以宏观地分为人为威 胁和自然威胁。
自然威胁可能来自于各种自然灾害、恶劣的场地环 境、电磁辐射和电磁干扰、网络设备自然老化等。 这些事件有时会直接威胁信息的安全,影响信息的 存储媒质。
3. 完整性业务
和保密业务一样,完整性业务也能应用于消息流、 单个消息或一个消息的某一选定域。用于消息流的 完整性业务目的在于保证所接收的消息未经复制、 插入、篡改、重排或重放,即保证接收的消息和所 发出的消息完全一样;这种服务还能对已毁坏的数 据进行恢复,所以这种业务主要是针对对消息流的 篡改和业务拒绝的。应用于单个消息或一个消息某 一选定域的完整性业务仅用来防止对消息的篡改。
2. 认证业务
用于保证通信的真实性。在单向通信的情况下,认 证业务的功能是使接收者相信消息确实是由它自己 所声称的那个信源发出的。在双向通信的情况下, 例如计算机终端和主机的连接,在连接开始时,认 证服务则使通信双方都相信对方是真实的(即的确 是它所声称的实体);其次,认证业务还保证通信 双方的通信连接不能被第三方介入,以假冒其中的 一方而进行非授权的传输或接收。
恶意软件指病毒、蠕虫等恶意程序,可分为两类, 如图1.2所示,一类需要主程序,另一类不需要。前 者是某个程序中的一段,不能独立于实际的应用程 序或系统程序;后者是能被操作系统调度和运行的 独立程序。来自图1.2 恶意程序分类
对恶意软件也可根据其能否自我复制来进行分类。 不能自我复制的一般是程序段,这种程序段在主程 序被调用执行时就可激活。能够自我复制的或者是 程序段(病毒)或者是独立的程序(蠕虫、细菌 等),当这种程序段或独立的程序被执行时,可能 复制一个或多个自己的副本,以后这些副本可在这 一系统或其他系统中被激活。以上仅是大致分类, 因为逻辑炸弹或特洛伊木马可能是病毒或蠕虫的一 部分。
现代密码学-第3章分组密码习题与解答-20091206
第3章 分组密码习题及参考答案1. 设DES 算法中,明文M 和密钥K 分别为:M =0011 1000 1100 0100 1011 1000 0100 0011 1101 0101 0010 0011 1001 1110 0101 1110K =1010 1001 0011 0101 1010 1100 1001 1011 1001 1101 0011 1110 1101 0101 1100 0011求L 1和R 2。
解:初始变换IP :1001 1010 1101 0101 1101 0010 0011 1000 0101 0110 0010 0101 1100 0101 1110 1000则,0L =1001 1010 1101 0101 1101 0010 0011 10000R =0101 0110 0010 0101 1100 0101 1110 1000K 去校验位得:0C =1101 0111 1100 0000 0010 0111 01110D =1010 1000 0111 0110 0011 0101 0010循环左移一位:1C =1010 1111 1000 0000 0100 1110 11111D =0101 0000 1110 1100 0110 1010 0101经过置换选择得到:1K =0000 1111 0110 1000 1101 1000 1001 1010 1000 0111 0011 0001同样可以得到:2K =0101 0101 0110 0001 1101 1101 1011 0101 0101 0000 0110 11101L =0R =0101 0110 0010 0101 1100 0101 1110 1000经过轮函数F 后,0R 经过扩展置换E 后为:0010 1111 1100 0001 0000 1011 1110 0000 1011 1111 0000 0000和1K 异或后经S 盒替换:0100 1100 0011 1000 0100 1100 0000 1010经过P 盒置换后输出:0001 1100 0000 1110 1000 0000 0101 1100和0L 异或得1R :1000 0110 1101 1011 0101 0010 0110 01001R 经过扩展置换E 得48位输出:1000 1010 0100 0010 0000 1000 0010 0101 1101 0100 10101010同上过程可得2R :1101 0100 1100 0111 0000 1101 0001 0110即:1L =0101 0110 0010 0101 1100 0101 1110 10002R =1101 0100 1100 0111 0000 1101 0001 01102. 设DES 算法中S 4盒的输入为010101,求其输出。
现代密码学(第三章)讲述
一、分组密码的基本概念
分组密码的优缺点
分组密码的加解密算法(E,D)简洁快速,所占用的 计算资源小,易于软件和硬件实现。一般来说,用 硬件实现时,流密码比分组密码更简单快速;用软 件实现时,分组密码比流密码更简单快速。 加解密算法(E,D)参数固定,比流密码更容易实现 标准化。 由于明文流被分段加密,因此容易实现同步,而且传 输错误不会向后扩散。 分组密码的安全性很难被证明,至多证明局部安全性。
2018/12/21 17
一、分组密码的基本概念
透明性和灵活性
透明性即要求算法是可证明安全的(虽然 这是很困难的)。这就要求算法尽可能 使用通用部件,避免黑盒。 灵活性即要求算法的实现可以适应多种计 算环境;明文分组长度可以伸缩;算法 可以移植和变形。
2018/12/21 18
一、分组密码的基本概念
要求:加解密算法(E,D)不存在弱明文和弱密钥。
2018/12/21 6
一、分组密码的基本概念
为了抵抗已知明文攻击(甚至选择明文攻 击),分组密码应该满足的性质
混淆性:所设计的密码应使得明文、密文、密钥之 间的依赖关系相当复杂,以至于这种依赖关系对 密码分析者来说是无法利用的。密码分析者利用 这种依赖关系的方法非常多,因此混淆性也是一 个极为繁杂的概念。
2018/12/21 3
一、分组密码的基本概念
分组密码所面对的主要威胁: 已知明文攻击
分组密码的密钥z被重复使用,即多次一密。 因此最主要的威胁就是已知明文攻击。 设攻击者Eve获得了一组明文/密文对(m,c)。 他试图在加密方程c=E(m, z) 或解密方程 m=D(c, z)中求出密钥z 。
2018/12/21 4
2018/12/21 26
现代密码学(第三章)
我们知道: 加密算法是E(· , z) , 解密算法是D(· , z) 。 这里E(· , z)和D(· , z)使用相同的密钥z,使用不同的 算法E和D。 如果D(· , z)= E(· , z*),其中z*是z经过非常简单的 重新编排得到的,则称分组密码算法是加解密 相似的。
2015-4-17 19
2015-4-17 14
一、分组密码的基本概念
简洁性
分组密码算法在满足安全性的同时尽可能简单快速。 如果分组密码算法用软件来实现,则要求字长尽可 能自然地适应软件编程,比如8、16、32比特等。 在软件实现中,按比特置换通常是难于实现的,因 此应尽量避免使用它。字的运算应该是易于软件实 现的运算,最好是用一些标准处理器所具有的一些 基本指令,比如加法、乘法、移位等。如果分组密 码算法用硬件来实现,则尽量使用规则结构,以便 用VLSI来实现。
这个加密算法就是极不稳定的。
2015-4-17 12
一、分组密码的基本概念
分组密码的设计准则
安全性 简洁性 有效性 透明性和灵活性 加解密相似性
2015-4-17 13
一、分组密码的基本概念
安全性
概括地说安全性就是从任何角度难以攻破。 其中两个最重要的角度是 ① 对于一个正在使用的加密算法,即使攻击 者获得“许多”精心选择的明文--密文对, 他仍无法“接近”密钥; ② 即使攻击者获得“许多”精心选择的明文-密文对,他仍无法“接近”任一个新密文 所对应的明文。
2015-4-17 22
一、分组密码的基本概念
计算部件
群加密:明文块与密钥块进行群“乘法”运算,它的作用是一 次性地掩盖明文。如果单独使用群加密部件,则一组已知的 明文/密文对就可获得密钥。以下是最常用的两种群加密。 逐比特异或‘+’,结构最简单,缺点也最明显,密文的一个比特 只依赖于明文的一个比特和密钥的一个比特,毫无扩散功能。 (mod2n)加法“+”也是非常简单的计算部件,具有单向扩散功能, 即明文或密钥的第j位影响密文的第j位、第j+1位、…、第n位。举搜索密钥的所有可能值。 (密钥z长度为j,共有2j个可能值)为了抵抗穷举 搜索,密钥的长度j不能太小。当然密钥长度也不 能太大,否则加解密的计算量就会很大。当前常 用的密钥长度为64或128或256。 Eve的另一种办法是充分利用加解密算法(E,D) 的弱点。如果某一组明文/密文对(m,c)使得 方程m=D(c, z)特别容易解出z,m就称为一个弱明 文,z就称为一个弱密钥。
现代密码学知识点整理:
第一章 基本概念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,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
密码学第4讲--Shannon信息论
m
显然,当 m n 时等号不成立; 1 当m n 时,只有当诸 全相等时,等号才成立.
25
pi
现代密码学
定理3.1 设b>1,则有 (1) 0 H ( X )
p( x ) log
i 1 i
n
b
p( xi ) logb n ;
(2) H ( X ) logb n 当且仅当i ,都有 p( xi ) 1 ; n (3) H ( X ) 0 当且仅当存在i : 1 i n 使得 p( xi ) 1 且 j i ,都有p( xi ) 0; 证明 (1) 由logb p( xi ) 0 可知 H ( X ) 0 ,再由Jensen 不等式的推论1
17
现代密码学
例3 设电脑彩票由8个10进制数组成,在开奖之前, 108个可能号码成为特等奖的概率相同,都是10-8.一旦 开奖,我们就知道了特等奖的8个具体号码,因而就获 得了8个十进制数的信息。 我们获得的信息量与开奖前每个可能号码成为 特等奖的概率10-8有何关系? 显然,有 8 = - log10 10-8 信息量的定量刻划: 定义2 设 p( Ai )是一个实验中事件 Ai 发生的概率, 则称 I ( Ai ) log p( Ai ) 为事件 Ai 包含的自信息量.
18
现代密码学
熵的数学定义
定义3.1(随机事件的熵):设一个实验X有 x1, x2 ,, xn 共n个可能的结果,则称 I ( xi ) log p( xi ) 的数学期 望
H ( X ) p( xi ) I ( xi ) p( xi ) log p( xi )
i 1 i 1 n n
i 1 i 1 m m
pi logb pi
《现代密码学》教学大纲
动、答疑模块。
六、考核方式
闭卷笔试,课程作业、实验成绩、课堂表现、考勤。
七、成绩评定方法
期末笔试成绩占 80%,平时成绩占 20%(根据课程作业、实验成绩、课堂表现、
考勤等)。
八、主要参考书籍
1.谷利泽,郑世慧,杨义先. 现代密码学教程. 北京邮电大学出版社,2015.3
(教材)。
2.B. Schneier. Applied cryptograghy second edition: protocols, algorithms, and
题;
1.2 具有扎实的专业基础理论,包括信息论与编码、密码学原理、信息
目标 5 安全数学基础、计算机网络技术等,能够用其解决信息安全相关领域
H
的复杂工程问题;
4.5 能正确采集、整理实验和模拟数据,对实验及模拟结果进行关联、 M
建模、分析处理,获取果进行关联、 H
source code in C. NewYork: John Wiley & Sons, 1996. 中译本: 吴世忠, 祝世雄, 张文
政译。
3.马春光. 现代密码学教程, 哈尔滨工程大学自编讲义。
大纲编写者:方贤进,xjfang@, /~xjfang/crypto/
一、教学目标
通过本课程的理论教学及实验训练,使学生具备以下知识和能力:
目标 1:掌握密码学与信息安全的关系、信息安全的目标(5 要素);掌握现代
密码学的研究内容与体系结构;掌握保密系统的模型及安全性、认证系统的模型及
安全性。
目标 2:掌握古典密码体制中的两种方法:置换密码与代换密码;掌握古典密
码分析方法,能使用“拟重合指数法”对“多表代换加密”实行“唯密文攻击”。
杨波,_《现代密码学(第2版)》第三章 3.1-3.4节
图3.1 分组密码框图
通常取m=n。 。 通常取 若m>n,则为有数据扩展的分组密码; ,则为有数据扩展的分组密码; 若m<n,则为有数据压缩的分组密码。 ,则为有数据压缩的分组密码。
设计的算法应满足下述要求: 设计的算法应满足下述要求: 分组长度n要足够大 要足够大, ① 分组长度 要足够大,使分组代换字母表中的元素 个数2 足够大,防止明文穷举攻击法奏效。 个数 n足够大,防止明文穷举攻击法奏效。 DES、IDEA、FEAL和LOKI等分组密码都采用 、 等分组密码都采用n=64, 、 和 等分组密码都采用 , 在生日攻击下用232组密文成功概率为1/2,同时要求 在生日攻击下用 组密文成功概率为 , 存贮, 232×64b=215MB存贮,故采用穷举攻击是不现实的。 存贮 故采用穷举攻击是不现实的。
• 如将分组 化分为子段,每段长为 、16或者 。 如将分组n化分为子段 每段长为8、 或者 化分为子段, 或者32。 • 软件实现时,应选用简单的运算,使作用于子段上 软件实现时,应选用简单的运算, 的密码运算易于以标准处理器的基本运算,如加、 的密码运算易于以标准处理器的基本运算,如加、 移位等实现, 乘、移位等实现,避免用以软件难于实现的逐比特 置换。 置换。 • 为了便于硬件实现,加密和解密过程之间的差别应 为了便于硬件实现, 仅在于由秘密密钥所生成的密钥表不同而已。这样, 由秘密密钥所生成的密钥表不同而已 仅在于由秘密密钥所生成的密钥表不同而已。这样, 加密和解密就可用同一器件实现。 加密和解密就可用同一器件实现。 • 设计的算法采用规则的模块结构,如多轮迭代等, 设计的算法采用规则的模块结构,如多轮迭代等, 以便于软件和VLSI快速实现。 快速实现。 以便于软件和 快速实现
数据扩展尽可能地小。一般无数据扩展, ⑤ 数据扩展尽可能地小。一般无数据扩展,在采用同 态置换和随机化加密技术时可引入数据扩展。 态置换和随机化加密技术时可引入数据扩展。 差错传播尽可能地小。 ⑥ 差错传播尽可能地小。
现代密码学第3章:密码学的信息论基础
估计一个系统的实际保密性
理论上,当截获的密报量大于唯一解距 离时,原则上就可破译。 由于自然语言的复杂性,没有任何一种 分析方法能够假定分析者能利用明文语言的 全部统计知识,所以,一般破译所需的密文 量都远大于理论值。 没有涉及为了得到唯一解需完成多少 计算量。从实际破译来看,有时虽然截获的 密文量远大于唯一解距离,但由于所需的工 作量还太大而难以实现破译。
25
估计一个系统的实际保密性
理论保密性是假定密码分析者有无限的时间、 设备和资金的条件下,研究唯密文攻击时密码系 统的安全性。比如一次一密体制。 实际安全性又称为计算上的安全性,这个方法 关心的是破译一个具体的密码系统所需的计算量。 在实际中,人们说一个密码系统是“计算上 安全的”,意指利用已有的最好的方法破译该系 统所需要的努力超过了敌手的破译能力(诸如时 间、空间、和资金等资源)或破译该系统的难度 等价于解数学上的某个已知难题
21
理论安全性和实际安全性
图 密钥,消息和密钥显现含糊度作为S的函数
22
语言的多余度
定义4 假如L是一种自然语言,语言L的熵 为 语言的多余度定义为 其中A表示语言L的字母集,表示A中字 母的个数, 表示所有明文n-字母报构成 的全体。
23
密钥含糊度
定理6 密钥含糊度有下列下界 其中,S表示接受到的密文序列长度, 表示明文语言的冗余度, 表示密文空间中 符号或字母的数目。 定理7 当明文由一个离散独立信源产生,如 果 ,其中 是字母表的大小。 密钥的含糊度能变为零。
26
估计一个系统的实际保密性
密码分析者的计算能力; 他所采用的破译算法的有效性。
27
Shannon关于设计密码的一些基本观点 关于设计密码的一些基本观点 通过合并简单密码系统而形成它们的 “积”挫败统计分析的观点: 在加密之前将语言的一些多余度除去。 采用所谓的“扩散(Diffusion)”和 “混淆(Confusion)”这两种加密技术扩 散或混淆多余度。
现代密码学第3章 Shannon 理论
19/17
韩山师范学院计算机学院
密钥源用于产生密钥. 密钥源通常是离散的. 设密钥源字母表为
字母 的出现概率记为
密钥源通常是无记忆的, 并且满足均匀分布. 因此
点击此处返回
20/17
韩山师范学院计算机学院
如果只考虑长为s 的密钥, 则密钥空间为 加密器在密钥的控制下将明文计特性由明文空间和密钥空间的统计特 性所决定. 对任意的密钥, 令 由于明文空间与密钥空间是相互独立的, 所以对任意的
9/17
韩山师范学院计算机学院
3. 3 伪密钥和唯一解距离
10/17
韩山师范学院计算机学院
3. 3 伪密钥和唯一解距离
11/17
韩山师范学院计算机学院
3. 3 伪密钥和唯一解距离
12/17
韩山师范学院计算机学院
3. 4 密码体制的完善保密性
13/17
韩山师范学院计算机学院
3. 4 密码体制的完善保密性
14/17
韩山师范学院计算机学院
3. 5 乘积密码体制
15/17
韩山师范学院计算机学院
3. 5 乘积密码体制
16/17
韩山师范学院计算机学院
3. 5 乘积密码体制
17/17
韩山师范学院计算机学院
18/17
韩山师范学院计算机学院
设信源字母表为
点击此处返回
字母
的出现概率记为
如果我们只考虑长为r 的信源输出, 则明文空间为 如果信源是无记忆的, 则
韩山师范学院计算机学院
第3章 Shannon 理论
主要内容
密码体制的数学模型
熵及其性质 伪密钥和唯一解距离 密码体制的完善保密性 乘积密码体制
1/17
现代密码学
的密文c进行变换,得到的明文是明文空间中的某
个元素,即
m′=h(c)
一般m′≠m。如果m′=m,则分析成功。
图1.5 保密通信系统模型
为了保护信息的保密性,抗击密码分析,保密系统 应当满足下述要求:
① 系统即使达不到理论上是不可破的,即 pr{m′=m}=0,也应当为实际上不可破的。就是说, 从截获的密文或某些已知的明文密文对,要决定密 钥或任意明文在计算上是不可行的。
恶意软件指病毒、蠕虫等恶意程序,可分为两类, 如图1.2所示,一类需要主程序,另一类不需要。 前者是某个程序中的一段,不能独立于实际的应用 程序或系统程序;后者是能被操作系统调度和运行 的独立程序。
图1.2 恶意程序分类
对恶意软件也可根据其能否自我复制来进行分类。 不能自我复制的一般是程序段,这种程序段在主程 序被调用执行时就可激活。能够自我复制的或者是 程序段(病毒)或者是独立的程序(蠕虫、细菌 等),当这种程序段或独立的程序被执行时,可能 复制一个或多个自己的副本,以后这些副本可在这 一系统或其他系统中被激活。以上仅是大致分类, 因为逻辑炸弹或特洛伊木马可能是病毒或蠕虫的一 部分。
本节主要讨论人为威胁,也就是对信息的人为攻击。 这些攻击手段都是通过寻找系统的弱点,以便达到 破坏、欺骗、窃取数据等目的,造成经济上和政治 上不可估量的损失。人为攻击可分为被动攻击和主 动攻击,如图1.1所示。
图1.1 攻击类型分类
1.被动攻击
被动攻击即窃听,是对系统的保密性进行攻击,如 搭线窃听、对文件或程序的非法拷贝等,以获取他 人的信息。被动攻击又分为两类,一类是获取消息 的内容,很容易理解;第二类是进行业务流分析, 假如我们通过某种手段,比如加密,使得敌手从截 获的消息无法得到消息的真实内容,然而敌手却有 可能获得消息的格式、确定通信双方的位置和身份 以及通信的次数和消息的长度,这些信息可能对通 信双方来说是敏感的。
现代密码学杨波课后习题讲解
1
1
1
1
1
0
0
1
1
1
1
1
….
….
习题
6.已知流密码的密文串1010110110和相应的明文串 0100010001,而且还已知密钥流是使用3级线性反馈移位 寄存器产生的,试破译该密码系统。
解:由已知可得相应的密钥流序列为 1010110110⊕0100010001 =1110100111,又因为是3级线 性反馈移位寄存器,可得以下方程:
Li Ri1 Ri Li1 f (Ri1, Ki )
习题
习题
3. 在 DES 的 ECB 模式中,如果在密文分组中有一个错误,解密后 仅相应的明文分组受到影响。然而在 CBC 模式中,将有错误传播。 例如在图 3-11 中 C1 中的一个错误明显地将影响到 P1和 P2 的结 果。 (1) P2 后的分组是否受到影响? (2) 设加密前的明文分组 P1 中有 1 比特的错误,问这一错误将在 多少个密文分组中传播? 对接收者产生什么影响?
c3c2c1 0101
0
1
101
1 1 0
由此可得密钥流的递推关系为:
ai3 c3ai c1ai2 ai ai2
第三章 分组密码体 制
习题
2. 证明 DES 的解密变换是加密变换的逆。 明文分组、密钥
加密阶段:初始置换、16轮变换、逆初始置换
每轮迭代的结构和Feistel结构一样:
定义2.2 设p(x)是GF(2)上的多项式,使p(x)|(xp-1) 的最小p称为p(x)的周期或阶。 定理2.3 若序列{ai}的特征多项式p(x)定义在GF(2) 上,p是p(x)的周期,则{ai}的周期r | p。
习题
杨波《现代密码学第版》
3.5.2 加密过程
如图3.15所示,加密过程由连续的8轮迭代和一个输 出变换组成;
算法将64比特的明文分组分成4个16比特的子段,每 轮迭代以4个16比特的子段作为输入,输出也为4个 16比特的子段;
3. 解密过程
解密过程和加密过程基本相同,但子密钥的选取不 同。解密子密钥U1,U2,…,U52是由加密子密钥 按如下方式得到(将加密过程最后一步的输出变换 当作第9轮):
① 第i(i=1,…,9)轮解密的前4个子密钥由加密过程第 (10-i)轮的前4个子密钥得出:
其中第1和第4个解密子密钥取为相应的第1和第4 个加密子密钥的模216+1乘法逆元,第2和第3个子密钥 的取法为:当轮数i=2,…,8时,取为相应的第3个和第 2个加密子密钥的模216加法逆元。i=1和9时,取为相 应的第2个和第3个加密子密钥的模216加法逆元。
第3章 分组密码体制
• 分组密码概述 • 数据加密标准 • 差分密码分析与线性密码分析 • 分组密码的运行模式 • IDEA • AES算法——Rijndael
3.5 IDEA
• 来学嘉(X. J. Lai)和J. L. Massey提出的第1版 IDEA(International Data Encryption Algorithm, 国际数据加密算法)于1990年公布,当时称为PES (proposed encryption standard,建议加密标准)。
图3.16是IDEA第1轮的结构示意图,以后各轮也都 是这种结构,但所用的子密钥和轮输入不同。从结 构图可见,IDEA不是传统的Feistel密码结构。每轮 开始时有一个变换,该变换的输入是4个子段和4个 子密钥,变换中的运算是两个乘法和两个加法,输 出的4个子段经过异或运算形成了两个16比特的子 段作为MA结构的输入。MA结构也有两个输入的子 密钥,输出是两个16比特的子段。
现代密码学清华大学出版社课堂课件ppt课件
•单击此处编辑母版标题样式 无条件安全 • 如果算法产生的密文不能给出唯一决定相应明 文的足够信息,无论截获多少密文,花费多少时 间都不能解密密文。 • 单击此处编辑母版副标题样式 • Shannon指出,仅当密钥至少和明文一样长时 达到无条件安全(即一次一密) • 计算安全 – 破译密文的代价超过被加密信息的价值 – 破译密文所花时间超过信息的有效期
1.1 信息的安全威胁
因特网的开放性和共享性,给人们提供了方便 也带来了危险。
图1.1 攻击类型分类
单击此处编辑母版标题样式
• 单击此处编辑母版副标题样式
图1.2 恶意程序分类
安全业务
安全业务指安全防护措施,有以下5种。 1. 保密业务 2. 认证业务 3. 完整性业务 4. 不可否认业务 5. 访问控制
• 2.1 流密码的基本概念 单击此处编辑母版标题样式 • 流密码 关键密钥流产生器 • •同步流密码 单击此处编辑母版副标题样式 • 自同步流密码 • 有限状态自动机 • 密钥流序列具有如下性质: 极大的周期、良好的统计特性、抗线性分析、抗 统计分析。 • 密钥流产生器:驱动部分和非线性组合部分
应用中对于分组码的要求 单击此处编辑母版标题样式
• 安全性
• 运行速度 • 单击此处编辑母版副标题样式 • 存储量(程序的长度、数据分组长度、高速缓存大 小) • 实现平台(硬、软件、芯片)
• 运行模式
称明文分组到密文分组的可逆变换为代换 单击此处编辑母版标题样式
• 设计的算法应满足下述要求: • 分组长度n要足够大,使分组代换字母表中的元素 • 单击此处编辑母版副标题样式 个数2n足够大,防止明文穷举攻击法奏效。 • 密钥量要足够大(即置换子集中的元素足够多), 尽可能消除弱密钥并使所有密钥同等地好,以防 止密钥穷举攻击奏效。 • 由密钥确定置换的算法要足够复杂: 充分实现明文与密钥的扩散和混淆,没有简单的 关系可循,要能抗击各种已知的攻击。
第3章 数据加密技术
图3-4 随机函数
用随机函数来确认数据完整性的运作过程如图 3-5所示。发送端在进行传输之前,会事先计算其随 机值,将此随机值与信息一起送出,接收端收到信 息后,先运用相同的随机函数计算收到信息的随机 值,再与发送端送来的随机值进行比较,如有不同, 便表示信息在传送的过程中有变动,可能受到了干 扰、破坏或篡改。
3.2.2 对称密码体制的不足 (1)密钥使用一段时间后就要更换,加密方 每次启动新密码时,都要经过某种秘密渠道把密钥 传给解密方,而密钥在传递过程中容易泄漏。 (2)网络通信时,如果网内的所有用户都使 用同样的密钥,那就失去了保密的意义。但如果网 内任意两个用户通信时都使用互不相同的密钥,N 个人就要使用N(N-1)/2个密钥。因此,密钥量太大, 难以进行管理。 (3)无法满足互不相识的人进行私人谈话时 的保密性要求。在Internet中,有时素不相识的两 方需要传送加密信息。 (4)难以解决数字签名验证的问题。
假设甲要给乙发送信息,他们互相知道对方的 公钥。甲就用乙的公钥加密信息发出,乙收到后就 可以用自己的私钥解密出甲的原文。由于没别人知 道乙的私钥,从而解决了信息保密问题。 另一方面由于每个人都可以知道乙的公钥,他 们都能给乙发送信息。乙需要确认的却是甲发送的 信息,于是产生了认证的问题,这时候就要用到数 字签名。 RSA公钥体系的特点使它非常适合用来满足上 述两个要求:保密性和认证性。
第3章 数据加密技术
3.1 密码学概述
数据加密技术是为提高信息系统及数据的安全 性和保密性,防止秘密数据被外部破译所采用的主 要技术手段之一,也是网络安全的重要技术。 按作用不同,数据加密技术主要分为数据传输、 数据存储以及数据完整性的鉴别、密钥管理技术4种。
3.1.1 数据加密技术的种类 1. 数据传输加密技术 其目的是对传输中的数据流加密,常用的方法 有线路加密和端-端加密两种。
现代密码学(清华大学出版社)课堂课件
驱动子系统常用一个或多个线性反馈移位寄存 器来实现,
非线性组合子系统用非线性组合函数F来实现。
第3章 分组密码体制
3.1 分组密码概述 3.2 数据加密标准 3.3 差分密码分析与线性密码分析 3.4 分组密码的运行模式 3.5 IDEA 3.6 AES算法——Rijndael 习题
• •
2流单.1密击流码此密处码编的基辑本母概版念标题样式
关键密钥流产生器
• •同单步击流此密处码编辑母版副标题样式 • 自同步流密码
• 有限状态自动机
• 密钥流序列具有如下性质:
极大的周期、良好的统计特性、抗线性分析、抗 统计分析。
• 密钥流产生器:驱动部分和非线性组合部分
图2.7 常见的两种密钥流产生器
•单无击条此件处安编全辑母版标题样式
• 如果算法产生的密文不能给出唯一决定相应明 文的足够信息,无论截获多少密文,花费多少时
• 单间击都此不处能编解辑密母密版文副。标题样式 • Shannon指出,仅当密钥至少和明文一样长时
达到无条件安全(即一次一密)
• 计算安全
– 破译密文的代价超过被加密信息的价值
(data encryption standard, DES)
应单用击中此对处于编分辑组母码版的标要题求样式
• 安全性
•• 单运击行此速处度编辑母版副标题样式 • 存储量(程序的长度、数据分组长度、高速缓存大
小)
• 实现平台(硬、软件、芯片)
• 运行模式
称单明击文此分处组编到辑密母文版分标组题的样可式逆变换为代换
• 设计的算法应满足下述要求:
• 分组长度n要足够大,使分组代换字母表中的元素 • 单个击数此2n处足编够辑大母,版防副止标明题文样穷式举攻击法奏效。
杨波,_《现代密码学(第2版)》第三章 3.6节
构成的字节b看成系数在 看成系数在{0, 将b7b6b5b4b3b2b1b0构成的字节 看成系数在 1} 中的多项式 b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0 例如: 十六进制数‘57’对应的二进制为 例如: 十六进制数‘ 对应的二进制为01010111, , 对应的二进制为 看成一个字节,对应的多项式为x 看成一个字节,对应的多项式为 6+x4+x2+x+1。 。
第3章 分组密码体制 章
• • • • • • 分组密码概述 数据加密标准 差分密码分析与线性密码分析 分组密码的运行模式 IDEA AES算法 算法——Rijndael 算法
3.6 AES算法 算法——Rijndael 算法
• 1997年4月15日,美国 年 月 日 美国ANSI发起征集 发起征集AES 发起征集 (Advanced Encryption Standard)的活动,并为 )的活动, 此成立了AES工作小组。此次活动的目的是确定一 此成立了 工作小组。此次活动的目的是确定一 工作小组 个非保密的、可以公开技术细节的、 个非保密的、可以公开技术细节的、全球免费使用 的分组密码算法,以作为新的数据加密标准。 的分组密码算法,以作为新的数据加密标准。 • 1997年9月12日,美国联邦登记处公布了正式征集 年 月 日 AES候选算法的通告。对AES的基本要求是: 比 候选算法的通告。 的基本要求 候选算法的通告 的基本要求是 三重DES快、至少与三重 一样安全、 三重 快 至少与三重DES一样安全、数据分组 一样安全 长度为128比特、密钥长度为 比特、 比特。 长度为 比特 密钥长度为128/192/256比特。 比特
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/1/17
12
DES的S1-盒的输入和输出关系
x 5 x0 1 0 列号 行号 0 1 2 3 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 15 12 8 2 4 9 2 11 15 12 9 7 3 10 5 0 1 7 5 11 2 14 10 0 6 13 x5 x4 x3 x2 x 1 x0 1 0 1 1 0 0
2019/1/17
11
S盒的组合
问题: 如何将几个S盒组合起来构成一个 n值较 大的组。
将几个 S 盒的输入端并行,并通过坐标置换 (P- 盒 ) 将 各S盒输出比特次序打乱,再送到下一级各S盒的输入端, 起到了Shannon所谓的“扩散”作用。S盒提供非线性变换, 将来自上一级不同的 S 盒的输出进行“混淆”。经过 P- 盒 的扩散作用均匀地分散到整个输出矢量中,从而保证了输 出密文统计上的均匀性,这就是 Shannon 的乘积密码的作 用。
密文 y=(y0, y1,…, ym-1)
第3章 分组密码
分组密码算法应满足的要求
分组长度n要足够大:
防止明文穷举攻击法奏效。
密钥量要足够大:
尽可能消除弱密钥并使所有密钥同等地好,以防止密钥 穷举攻击奏效。
由密钥确定置换的算法要足够复杂:
充分实现明文与密钥的扩散和混淆,没有简单的关系可 循,要能抗击各种已知的攻击。
2019/1/17 15
3.1.3 Feistel密码结构
1、Feistel加密结构
Feistel网络(Feistel Network)的实现与以下参 数和特性有关: ①分组大小;②密钥大小;③轮数;④子密钥产生算法。 在设计Feistel网络时,还有以下两个方面的因素需 要考虑: ①快速的软件实现;②算法容易分析。
2019/1/17
9
代换盒(S盒)
在密码设计中,可选 n=rn0,其中 r 和 n0 都为正整数, 将设计 n 个变量的代换网络转化为设计 r 个较小的子代换 网络,而每个子代换网络只有 n0 个输入变量。称每个子 代换网络为代换盒(Substitution Box)
x5 x4 x3 x2 x1 x0
DES的S盒
S盒
y3
2019/1/17
y2
y1
y0
10
S盒的设计准则
迄今为止,有关方面未曾完全公开有关 DES 的 S 盒的设计准则。 Branstead等曾披露过下述准则: S盒的输出都不是其输入的线性或仿射函数。
改变S盒的一个输入比特,其输出至少有两比特产生变化,即近一 半产生变化。
当S盒的任一输入位保持不变,其它5位输入变化时 (共有25 =32种 情况),输出数字中的0和1的总数近于相等。 这三点使DES的S盒能够实现较好的混淆。
2019/1/17 5
第3章 分组密码
分组密码算法应满足的要求
加密和解密运算简单:
易于软件和硬件高速实现。
数据扩展尽可能地小
一般无数据扩展,在采用同态置换和随机化加密技术时可引 入数据扩展。
差错传播尽可能地小。
2019/1/17
6
3.1.1 代换
代换是输入集A到输出A’上的双射变换:
2019/1/17
3
第3章 分组密码
明文序列 x1, x2,…, xi,… 加密函数E: Vn×KVm 这种密码实质上是字长为n的数字序列的代换密码。
密钥k=(k0, k1,…, kt-1 ) 明文 x=(x0, x1,…, xn-1) 加密算法 图3-1 分组密码框图
2019/1/17 4
密钥k=(k0, k1,…, kt-1 ) 明文 x=(x0, x1,…, xn-1) 解密算法
2019/1/17
14
3.1.3 Feistel密码结构
1、Feistel加密结构
将n bit明文分成为左右各半、长为n/2 bit的段,以L和R 表示。然后进行多轮迭代,其第i轮迭代的输出为前轮输 出的函数 Li =Ri-1 Ri =Li-1 f(Ri-1, Ki) 式中,Ki是第i轮用的子密钥,f是任意密码轮函数。称这 种分组密码算法为Feistel网络(Feistel Network),它 保证加密和解密可采用同一算法实施.
(y3 , y2, y1 , y0)=(0,0,1,0)
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2019/1/17
13
3.1.2 扩散和混淆
扩散将明文的统计特性散布到密文中。实 现的方式是使明文的每一位影响密文中多 位的值。
扩散目的:使明文和密文之间的统计关系变得尽可能复杂, 使敌手无法得到密钥。 混淆目的:使密文和密钥之间的统计关系变得尽可能复杂使 敌手无法得到密钥。
f k :AA'
式中,k是控制输入变量,在密码学中则为密 钥。 实现代换fk的网络称作代换网络。双射条件 保证在给定k下可从密文惟一地恢复出原明文。
2019/1/17
7
3.1.1 代换
代换fk的集合:
S={ fkkK }
K 是密钥空间。如果网络可以实现所有可能 的2n!个代换,则称其为全代换网络。
消息认证码(MAC)和杂凑函数 消息认证技术、数据完整性机构、实体认证协议以及 单钥数字签字体制的核心组成部分。
2019/1/17
2
第3章 分组密码
应用中对于分组码的要求
安全性 运行速度
存储量(程序的长度、数据分组长度、高速缓存 大小)
实现平台(硬、软件、芯片)
运行模式
第3章 分组密码
3.1 3.2 3.3 3.4 3.5 3.6 分组密码概述 数据加密标准 差分密码分析与线性密码分析 分组密码运行模式 IDEA算法 AES算法-Rijndael
2019/1/17
1
第3章 分组密码
分组密码是许多系统安全的一个重要组成部分。 可用于构造
伪随机数生成器
流密码
全代换网络密钥个数必须满足条件:# {k}2n!
2019/1/17
8
3.1.1 代换
密码设计中需要先定义代换集 S,而后还需定 义解密变换集,即逆代换网络S-1,它以密文y 作为输入矢量,其输出为恢复的明文矢量x。 要实现全代换网络并不容易。因此实用中常 常利用一些简单的基本代换,通过组合实现 较复杂的、元素个数较多的代换集。实用密 码体制的集合S中的元素个数都远小于2n!。