1、第一章1.被动攻击获取消息的真实内容进行业务流分析2.主动攻击中断、篡改、伪造3.安全业务1、保密业务:保护数据以防被动攻击。2、认证业务:用于保证通信的真实性。3、完整性业务:防止对消息流的篡改和业务拒绝。4、不可否认业务:用于防止通信双方中的某一方对所传输消息的否认。5、访问控制:访问控制的目的是防止对网络资源的非授权访问,控制的实现方式是认证,即检查欲访问某一资源的用户是否具有访问权。4.安全通信需考虑加密算法用于加密的秘密信息秘密信息的分布与共享安全服务所需的协议5.信息安全可分为系统安全、数据安全、内容安全,密码技术是保障数据安全的关键技术。6.密码体制从原理上分为单钥体制和双钥体制
2、,单钥体制包括对明文消息按字符逐位加密的流密码和将明文消息分组加密的分组密码。双钥特点是将加密和解密能力分开。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
3、产生的函数。2.分组密码与流密码的区别: 有无记忆性3.密码设计者的最大愿望是设计出一个滚动密钥生成器,使得密钥经其扩展成的密钥流序列具有如下性质:极大的周期、良好的统计特性、抗线性分析、抗统计分析4.同步流密码的关键是密钥流产生器。5.如果移位寄存器的反馈函数 f(a1,a2,an)是 a1,a2,an 的线性函数,则称之为线性反馈移位寄存器 LFSR(linear feedback shift register) 。6.周期达到最大值 2n-1,周期达到最大值的序列称为 m 序列。7.若 n 次不可约多项式 p(x)的阶为 2n-1,则称 p(x)是 n 次本原多项式。8.只能要求截获比周
4、期短的一段时不会泄露更多信息,这样的序列称为伪随机序列。9.设计一个性能良好的序列密码是一项十分困难的任务。最基本的设计原则是“密钥流生成器的不可预测性” ,它可分解为下述基本原则: 长周期。 高线性复杂度。 统计性能良好。 足够的“混乱” 。 足够的“扩散” 。 抵抗不同形式的攻击。10.课后习题 1、3第三章1.分组密码设计的算法应满足下述要求(1)分组长度要足够大(2)密钥量要足够大(3)由密钥确定置换的算法要足够复杂(4)加密和解密运算简单(5)数据扩展尽可能地小(6)差错传播尽可能地小2.扩散和混淆是由香浓提出的设计密码系统的两个基本方法,成功地实现了分组密码的本质属性,因而成为设计
5、现代分组密码的基础。3.Feistel 加密结构第 i 轮迭代的输入为前轮输出的函数(详见课本 P33)Li=Ri-1Ri=Li-1F(Ri-1,Ki)4.DES:分组长度 64 比特,密钥长度 56 比特5.IDEA:分组长度 64,密钥长度 1286.AES:分组长度 128,密钥长度 128/192/2567.AES 的设计策略是宽轨迹策略,轮函数包括:字节代换、行移位、列混合、密钥加8.二重 DES 不能抵抗中途相遇攻击9.课后作业习题:1、3、4、6第四章1.费尔玛定理定理 4.2 (Fermat)若 p 是素数,a 是正整数且 gcd(a, p)=1,则 ap-11 mod p。2
6、. 欧拉函数设 n 是一正整数,小于 n 且与 n 互素的正整数的个数称为 n 的欧拉函数,记为 (n)。3. 欧拉定理定理 4.4(Euler) 若 a 和 n 互素,则 a(n)1 mod n。4.求最大公因子Euclid 算法是基于下面一个基本结论: 对任意非负整数 a 和正整数 b,有gcd(a, b)=gcd(b, a mod b)。5.中国剩余定理6.定理 4.6 设 a 的阶为 m,则 ak1 mod n 的充要条件是 k 为 m 的倍数。7.推论:a 的阶 m 整除 (n) 。如果 a 的阶 m 等于 (n) ,则称 a 为 n 的本原根。如果 a 是 n 的本原根,则a,a2
7、,a(n)在 mod n 下互不相同且都与 n 互素。特别地,如果 a 是素数 p 的本原根,则 a, a2 , , ap-1 在 mod p 下都不相同。8.公钥密码体制提出者:W.Diffie 和 M.Hellman9.勒让德符号定义 4.1 设 p 是素数,a 是一整数,符号 的定义如下:称符号 (a/p) 为 Legendre 符号。10.公钥密码算法应满足以下要求: 接收方 B 产生密钥对(公开钥 PKB 和秘密钥 SKB)在计算上是容易的。 发方 A 用收方的公开钥对消息 m 加密以产生密文 c,即c=EPKBm在计算上是容易的。 收方 B 用自己的秘密钥对 c 解密,即 m=DS
8、KBc在计算上是容易的。 敌手由 B 的公开钥 PKB 求秘密钥 SKB 在计算上是不可行的。 敌手由密文 c 和 B 的公开钥 PKB 恢复明文 m 在计算上是不可行的。 加、解密次序可换,即EPKBDSKB(m)=DSKBEPKB(m)其中最后一条虽然非常有用,但不是对所有的算法都作要求。11.陷门单向函数是一族可逆函数 fk,满足 Y=fk(X)易于计算(当 k 和 X 已知时) 。 X=f-1k(Y)易于计算(当 k 和 Y 已知时) 。 X=f-1k(Y)计算上是不可行的(当 Y 已知但 k 未知时) 。12.RSA 算法提出人 ;R.Rivest, A.Shamir 和 L.Adl
9、eman,安全性是基于分解大整数的困难性假定13.计算题:课后 3、4、5、6、7、8、10、14、15、17、18、19、20第五章1.假定两个用户 A、B 分别与密钥分配中心 KDC (key distribution center)有一个共享的主密钥 KA 和 KB,A 希望与 B 建立一个共享的一次性会话密钥,可通过以下几步来完成:2.无中心的密钥分配时,两个用户 A 和 B 建立会话密钥需经过以下 3 步:A( 1 ) R e q u e s t | | N1( 3 ) E f ( N2) ( 2 ) EM K m | | R e q u e s t | | I DB| | f (
10、N1) | | N2BKSKS3.公钥管理机构与公用目录表类似,这里假定有一个公钥管理机构来为各用户建立、维护动态的公钥目录,但同时对系统提出以下要求,即:每个用户都可靠地知道管理机构的公开钥,而只有管理机构自己知道相应的秘密钥。公开钥的分配步骤如下:4.简单分配5.Diffie-Hellman 密钥交换是 W. Diffie 和 M. Hellman 于 1976 年提出的第一个公钥密码算法算法的安全性基于求离散对数的困难性。缺点:易受中间人攻击(Oscar 图例)6.秘密分割门限方案定义: 设秘密 s 被分成 n 个部分信息,每一部分信息称为一个子密钥或影子,由一个参与者持有,使得:由 k
11、 个或多于 k 个参与者所持有的部分信息可重构 s。由少于 k 个参与者所持有的部分信息则无法重构 s。则称这种方案为(k,n)-秘密分割门限方案,k 称为方案的门限值。如果一个参与者或一组未经授权的参与者在猜测秘密 s 时,并不比局外人猜秘密时有优势,即由少于 k 个参与者所持有的部分信息得不到秘密 s 的任何信息。则称这个方案是完善的,即(k,n)-秘密分割门限方案是完善的。7.基于中国剩余定理的门限方案:课本 P1388.课后习题 1、2、3、4、6第六章1.消息认证用以验证接收消息的如下属性:真实性(的确是由它所声称的实体发来的:消息源认证)完整性(未被篡改、插入、删除)消息的顺序性和
12、时间性2.认证符的产生方法:消息认证函数 MAC、杂凑函数3.杂凑函数应满足以下条件: 函数的输入可以是任意长 函数的输出是固定长 已知 x,求 H(x)较为容易,可用硬件或软件实现前 3 个是杂凑函数能用于消息认证的基本要求 已知 h,求使得 H(x)=h 的 x 在计算上是不可行的,这一性质称为函数的单向性,称 H(x)为单向散列函数单向性对使用秘密值的认证技术(见图 3(e)极为重要。假如不具有单向性,则攻击者截获M 和 C=H(SM)后,求 C 的逆 SM,就可求出秘密值 S 已知 x,找出 y(yx)使得 H(y)=H(x)在计算上是不可行的 找出任意两个不同的输入 x、y,使得 H
13、(y)=H(x)在计算上是不可行的4.第 I 类生日攻击已知一散列函数 H 有 n 个可能输出, H(x)是一特定输出,若对 H 随机取 k 个输入,则至少有一个输入 y 使得 H(y)=H(x)的概率为 0.5 时,k 有多大?称对散列函数 H 寻找上述 y 的攻击为第 I 类生日攻击5.第类生日攻击:设散列函数 H 有 2m 个可能的输出(即输出长 m 比特) ,如果 H 的 k 个随机输入中至少有两个产生相同输出的概率大于 0.5,则 称寻找函数 H 的具有相同输出的两个任意输入的攻击方式为第类生日攻击6.大多数杂凑函数如 MD5、SHA,其结构都是迭代型的,算法的核心技术是设计无碰撞的
14、压缩函数 f7.MD5 杂凑算法 Ron Rivest 提出,算法的输入为小于 264 比特长的任意消息,分为 512比特长的分组输出为 160 或 128 比特长的消息摘要。8.2004 年山东大学王小云教授破译了 MD5,2005 年,王小云等提出了对 SHA-1 碰撞搜索攻击9.杂凑函数并不是为用于 MAC 而设计的,由于杂凑函数不使用密钥,因此不能直接用于MAC10.基于密码杂凑函数构造的 MAC 的安全性取决于镶嵌的杂凑函数的安全性第七章1.数字签字应满足以下要求:(1)签字的产生必须使用发方独有的一些信息以防伪造和否认。(2)签字的产生应较为容易。(3)签字的识别和验证应较为容易。
15、(4)对已知的数字签字构造一新的消息或对已知的消息构造一假冒的数字签字在计算上都是不可行的。2.由签字算法产生数字签字算法的安全性在于从 M 和 S 难以推出密钥 x 或伪造一个消息 M使 M和 S 可被验证为真。4.数字签字标准 DSS; RSA 算法既能用于加密和签字,又能用于密钥交换。 DSS 使用的算法只能提供数字签字功能。5.DSA 是在 ElGamal 和 Schnorr 两个签字方案的基础上设计的,其安全性基于求离散对数的困难性。6.Needham-Schroeder 协议KDC 的密钥分配过程,可用以下协议(称为 Needham-Schroeder 协议)来描述: AKDC:I
16、DAIDBN1 KDCA: EKAKSIDB N1 EKBKS IDA AB:EKBKSIDA -弱点 BA:EKSN2 AB:EKSf(N2)7.交互证明系统交互证明系统由两方参与,分别称为证明者(prover ,简记为 P)和验证者(verifier ,简记为 V) ,其中 P 知道某一秘密(如公钥密码体制的秘密钥或一平方剩余 x 的平方根) ,P 希望使 V 相信自己的确掌握这一秘密。8.交互证明和数学证明的区别是:数学证明的证明者可自己独立地完成证明,而交互证明是由 P 产生证明、V 验证证明的有效性来实现,因此双方之间通过某种信道的通信是必需的。9.交互证明系统须满足以下要求: 完备
17、性: 如果 P 知道某一秘密,V 将接受 P 的证明。 正确性: 如果 P 能以一定的概率使 V 相信 P 的证明,则 P 知道相应的秘密。10.零知识证明零知识证明起源于最小泄露证明。在交互证明系统中,设 P 知道某一秘密,并向 V 证明自己掌握这一秘密,但又不向 V 泄露这一秘密,这就是最小泄露证明。进一步,如果 V 除了知道 P 能证明某一事实外,不能得到其他任何信息,则称 P 实现了零知识证明,相应的协议称为零知识证明协议。11.不经意传输协议设 A 有一个秘密,想以 1/2 的概率传递给 B,即 B 有 50%的机会收到这个秘密,另外 50%的机会什么也没有收到,协议执行完后,B 知道自己是否收到了这个秘密,但 A 却不知 B是否收到了这个秘密。这种协议就称为不经意传输协议。