1、I/JD RG LR QD HGHARPS bo ok st or ex I/JD DG PU GO GV I/JCODB EFGKL MNQTU VWXYZ6 用密钥词cat实现vigenere密码,加密明文vigenere coper,所得的密文是什么?XIZGNXTEVQPXTKey: catca t ca tcatcatcatPlaintext: vigenere coperChipertext: XIZGNXTE VQPXT7 假定有一个密钥2431的列置换密码,则明文can you understand的密文是多少?YNSDCODTNURNAUEA 2 4 3 1 c a n y
2、o u u n d e r s t a n d YNSDCODTNURNAUEA8 什么是乘积密码? 多步代换和置换,依次使用两个或两个以上的基本密码,所得结果的密码强度将强与所有单个密码的强度.9 混淆和扩散的区别是什么?扩散(Diffusion):明文的统计结构被扩散消失到密文的,使得明文和密文之间的统计关系尽量复杂.即让每个明文数字尽可能地影响多个密文数字混淆(confusion):使得密文的统计特性与密钥的取值之间的关系尽量复杂,阻止攻击者发现密钥10 Feistel密码中每轮发生了什么样的变化? 将输入分组分成左右两部分。以右半部数据和子密钥作为参数,对左半部数据实施代换操作。将两部
3、分进行互换,完成置换操作。11 S-Box的概念 S盒用在DES算法中,每个s盒都由6位输入产生4位输出,所有说,s盒定义了一个普通的可逆代换。相当程度上,DES的强度取决于s盒的设计,但是,s盒的构造方法是不公开的12 AES每轮变化中设计的基本操作有哪些? 每轮包括4个阶段:字节代换、行移位、列混淆、轮密钥加13 DES、AES和RC4之间的比较(建议比较分组大小、密钥长度、相对速度、安全强度、轮数、是否Feistel体制、基本操作等若干方面)*算法DESAESRC4分组长度(bit)64128流密码密钥长度56128/196/256不少于128相对速度较快慢很快安全强度255(穷举) 很
4、难轮数1610/12/14-是否Feistel体制是不是? 14 AES与DES相比有优点?3DES与DES相比的变化有哪些?什么是2DES中的中间相遇攻击? (1) AES更安全。(2) 3DES增加了1到2个密钥,进行多轮DES,安全性更高。(3) C = EK2(EK1(P) X = EK1(P) = DK2(C) 给定明文密文对(P,C)l 对所有256个密钥,加密P,对结果按X排序与T中l 对所有256个密钥,解密C,解密结果与T中的值比较l 找出K1,K2使得EK1(P) = DK2(C)l 用k1和k2对P加密,若结果为C,则认定这两个密钥为正确的密钥15 分组密码的工作模式有哪
5、些?及优缺点?A ECB,电码本模式,一次处理64位明文,每次使用相同的密钥加密。任何64位的明文组都有唯一的密文与之对应,有“结构化”的缺点。B CBC,密码分组连接模式,克服了ECB中“结构化”的缺点,同样的明文变成密文之后就不同了,而且加密必须从头到尾C CFB,密码反馈模式一次处理位,上一个分组的密文产生一个伪随机数输出的加密算法的输入,该输出与明文的异或,作为下一个分组的输入。D OFB,输出反馈模式,与基本相同,只是加密算法的输入是上一次DES的输出。E 计数器模式,计数器被初始化为某个值,并随着消息块的增加其值加1,在于明文组异或得到密文组。也可用于流密码。16 RSA算法中密钥
6、的生成和加密解密过程。 生成过程 RSA的加解密为: 给定消息M = 88 ( 88187) 加密: C = 887 mod 187 = 11 解密: M = 1123 mod 187 = 8817 RSA算法计算实例(给定p,q,e,m/c,计算n, ,d,c/m) 1. 选择素数: p=17 & q=112. 计算n = pq =1711=1873. 计算(n)=(p1)(q-1)=1610=1604. 选择e : gcd(e,160)=1; 选择e=75. 确定d: de=1 mod 160 and d 160, d=23因为237=161= 1160+16. 公钥KU=7,1877.
7、私钥KR=23,17,1118 描述Diffie-Hellman密钥交换机制。 算法:A 双方选择素数p以及p的一个原根aB 用户A选择一个随机数Xa p,计算Ya=aXa mod pC 用户B选择一个随机数Xb p,计算Yb=aXb mod pD 每一方保密X值,而将Y值交换给对方E 用户A计算出K=YbXa mod pF 用户B计算出K=YaXb mod pG 双方获得一个共享密钥(aXaXbmod p)素数p以及p的原根a可由一方选择后发给对方19 描述Diffie-Hellman算法(DH算法)中中间人攻击发生的过程。中间人攻击1 双方选择素数p以及p的一个原根a(假定O知道)2 A选
8、择Xap,计算Ya=aXa mod p, AB: Ya3 O截获Ya,选Xo,计算Yo=aXo mod p,冒充AB:Yo4 B选择Xbp,计算Yb=aXb mod p, BA: Yb5 O截获Yb,冒充BA:6 A计算: (Xo)Xa(aXo)XaaXoXa mod p7 B计算: (Xo)Xb(aXo)XbaXoXb mod p8 O计算: (Ya)XoaXaXo mod p, (Yb)XoaXbXo mod pO无法计算出aXaXb mod pO永远必须实时截获并冒充转发,否则会被发现20 如何使用公钥密码实现数据的保密性、完整性和数据源认证(签名)? 发送方用其私钥对消息“签名”。可以
9、通过对整条消息加密或者对消息的一个小的数据块(消息认证码/摘要)加密来产生。E(K,M|E(PRa,H(M) 其中K为PUb解密时,第一步解密使用B的私钥,然后使用A的公钥。21 对比对称算法和公钥算法?(建议从用途,速度和效率等方面) 对称算法:速度快,主要用于数据加密,只有一个密钥。公钥算法:速度较慢,主要用于数字签名和密钥交换,有两个密钥22 对称密钥分配有哪些方法?(注意和重放攻击相结合) 对于参与者A和B,密钥分配有以下几种:A 密钥由A选择,并亲自交给BB 第三方选择密钥后亲自交给A和BC 如果A和B以前或最近使用过某密钥,其中一方可以用它加密一个新密钥后在发送给另一方。D A和B
10、与第三方均有秘密渠道,则C可以将一密钥分别发送给A和B别人卷子上的分配方式:传统加密方法Needham/Schroeder Protocol 1978 1、A KDC:IDA|IDB|N1 2、KDC A:EKaKs|IDB|N1|EKbKs|IDA 3、A B: EKbKs|IDA 4、B A: EKsN2 5、A B: EKsf(N2)保密密钥Ka和Kb分别是A和KDC、B和KDC之间共享的密钥。本协议的目的就是要安全地分发一个会话密钥Ks给A和B。A在第2步安全地得到了一个新的会话密钥,第3步只能由B解密、并理解。第4步表明B已知道Ks了。第5步表明B相信A知道Ks并且消息不是伪造的。第
11、4,5步目的是为了防止某种类型的重放攻击。特别是,如果敌方能够在第3步捕获该消息,并重放之,这将在某种程度上干扰破坏B方的运行操作。上述方法尽管有第4,5步的握手,但仍然有漏洞假定攻击方C已经掌握A和B之间通信的一个老的会话密钥。C可以在第3步冒充A利用老的会话密钥欺骗B。除非B记住所有以前使用的与A通信的会话密钥,否则B无法判断这是一个重放攻击。如果C可以中途截获第4步的握手信息,则可以冒充A在第5步响应。从这一点起,C就可以向B发送伪造的消息而对B来说认为是用认证的会话密钥与A进行的正常通信。Denning Protocol 1982 改进(加入时间戳):1、A KDC:IDA|IDB2、
12、KDC A:EKaKs|IDB|T|EKbKs|IDA|T3、A B: EKbKs|IDA|T4、B A: EKsN15、A B: EKsf(N1)| Clock - T | t1 + t2 其中: t1 是KDC时钟与本地时钟(A或B)之间差异的估计值; t2 是预期的网络延迟时间。23 公钥算法中公钥的分配和管理有哪些方法?公钥的分配A 公开发布B 公开可访问目录C 公钥授权D 公钥证书24 消息认证码的概念和基本用途?(237页图)MAC(Message Authentication Code),消息认证码,也是一种认证技术,它利用密钥来产生一个固定长度的短数据块,并将数据块附加在消息之后,格式如:MAC(M)| M。消息和MAC一起发送到接受方。从而,接受方可以知道消息没有经过篡改,真正来自发送方(MAC的密钥)和消息的时效性(如果MAC中包含序列号)。从这个层面来说,hash是没有密钥的MAC25 什么是散列函数的基本用途有哪些?(239页图) 保密、认证和签名26 安全散列函数有哪些特性? 什么是碰撞?找到一个碰撞意味着什么?代价是多大?生日悖论和生日攻击。Hash算法的特点有 输入变长的分组,输出是一定长的分组; 任意x,计算H(x)容易,软件和硬件都可以实现 已知H(x)= h,求x是不可行的,只是在计算上不可行(单向性) 任意x,找到y,使H(x)=H(y)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1