《密码编码学与网络安全》复习题朱铁英416.docx
- 文档编号:27148109
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:18
- 大小:152.49KB
《密码编码学与网络安全》复习题朱铁英416.docx
《《密码编码学与网络安全》复习题朱铁英416.docx》由会员分享,可在线阅读,更多相关《《密码编码学与网络安全》复习题朱铁英416.docx(18页珍藏版)》请在冰豆网上搜索。
《密码编码学与网络安全》复习题朱铁英416
《密码编码学与网络安全》复习题-朱铁英2006-4-16
《计算机安全与密码学》复习题
1(信息安全(计算机安全)目标是什么,
答:
机密性(confidentiality):
防止XX的信息泄漏
完整性(integrity):
防止XX的信息篡改
可用性(avialbility):
防止XX的信息和资源截留
抗抵赖性、不可否认性、问责性、可说明性、可审查性(accountability):
真实性(authenticity):
验证用户身份
2(理解计算安全性(即one-timepad的理论安全性)
使用与消息一样长且无重复的随机密钥来加密信息,即对每个明文每次采用不同的代换表不可攻破,因为任何明文和任何密文间的映射都是随机的,密钥只使用一次
3(列出并简要定义基于攻击者所知道信息的密码分析攻击类型。
(1)、唯密文分析(攻击),密码分析者取得一个或多个用同一密钥加密的密文;
(2)、已知明文分析(攻击),除要破译的密文外,密码分析者还取得一些用同一密钥加
密的密文对;
(3)、选择明文分析(攻击),密码分析者可取得他所选择的任何明文所对应的密文(不
包括他要恢复的明文),这些密文对和要破译的密文是用同一密钥加密的;
(4)、选择密文分析(攻击),密码分析者可取得他所选择的任何密文所对应的明文(要
破译的密文除外),这些密文和明文和要破译的密文是用同一解密密钥解密的,它主要
应用于公钥密码体制。
。
4(传统密码算法的两种基本运算是什么,
代换和置换
前者是将明文中的每个元素映射成另外一个元素;后者是将明文中的元素重新排列。
5(流密码和分组密码区别是什么,各有什么优缺点,
分组密码每次处理一个输入分组,对应输出一个分组;流密码是连续地处理输入元素,
每次输出一个元素
流密码Stream:
每次加密数据流的一位或者一个字节。
连续处理输入分组,一次输出一
个元素,速度较快
6(已知密文ILPQPUN使用的是移位密码,试解密(提示:
明文为有意义的英文)。
答:
原文:
ILPQPUN
移动1位:
HKOPOTM移动2位:
GJNONSL移动3位:
FIMNMRK移动4位:
EHLMLQJ移动5位:
DGKLKPI移动6位:
CFJKJOH移动7位:
BEIJING明文为BEIJING。
7(利用playfair密码加密明文bookstore,密钥词是(HARPSICOD),所得的密文是什么,
I/JDRGLRQDHG
解答:
生成playfair矩阵:
HARPS
I/JCODB
EFGKLMNQTUVWXYZ
根据矩阵加密为:
bookstorex
I/JDDGPUGOGV
8(用密钥largest构造一个playfair矩阵,并加密以下消息:
MustseeyouoverCadoganWest.Comingatonce.
注:
该消息摘自SherlockHolmes的故事TheAdventureoftheBruce-PartingtonPlans.
解答:
矩阵为:
LARGE
STBCD
FHI/JKM
NOPQU
VWXYZ
加密为:
UZTBDLGZPNNWLGTGTUEROVLDBDUHFPERHWQSRZ9(当海军上尉JohnF.Kennedy管理的美国巡逻船PT-109被日本毁灭者击沉时,位于澳大
利亚的一个无线站截获了一条用Playfair密码加密的消息:
KXJEYUREBEZWEHEWRYTUHEYFS
KREHEGOYFIWTTTUOLKSYCAJPO
BOTEIZONTXBYBWTGONEYCUZWR
GDSONSXBOUYWRHEBAAHYUSEDQ
密钥为royalnewZealandnavy.请解密这条消息,将TT换为tt.
解答:
PTBOATONEOWENINELOSTINACTIONINBLACKETTSTRAITTWO
MILESSWMERESUCOVEXCREWOFTWELVEXREQUESTANYINFORMATION
10(用密钥词cat实现vigenere密码,加密明文vigenerecoper,所得的密文是什么,
解答:
Key:
catcatcatcatcatcat
Plaintext:
vigenerecoper
Chipertext:
XIZGNXTEVQPXT
11(用vigenere密码加密单词explanation.密钥为leg.
解答:
key:
legleglegle
plaintext:
explanation
ciphertext:
PBVWETLXOZR
12(假定有一个密钥2431的列置换密码,则明文canyouunderstand的密文是多少,
YNSDCODTNURNAUEA
Key:
2431
Plaintext:
cany
ouun
ders
tand
Chipertext:
YNSDCODTNURNAUEA13(什么是乘积密码,
多步代换和置换,依次使用两个或两个以上的基本密码,所得结果的密码强度将强与所有单个密码的强度.
14(混淆和扩散的区别是什么,
扩散(Diffusion):
明文的统计结构被扩散消失到密文的,使得明文和密文之间的统计关系
尽量复杂.即让每个明文数字尽可能地影响多个密文数字
混淆(confusion):
使得密文的统计特性与密钥的取值之间的关系尽量复杂,阻止攻击者
发现密钥
15(S-Box的概念
S盒用在DES算法中,每个s盒都由6位输入产生4位输出,所有说,s盒定义了一个
普通的可逆代换。
相当程度上,DES的强度取决于s盒的设计,但是,s盒的构造方法
是不公开的
16(下表是DES算法中S4盒的选择矩阵,如果其输入为101011,则输出为
012345678910111213141507131430691012851112415113811561503472121101492106901211713151314528433150610113894511127214
解、取输入首尾两位作为行号:
11
取中间4位作为列号:
0101
即第3行第5列:
1
所以输出为四位二进制:
0001
17(这个问题给出了用一轮DES加密的具体数值的例子。
我们假设明文和密钥K有相
同的位模式,即
用十六进制表示为:
0123456789ABCDEF
用二进制表示为:
00000001001000110100010101100111
10001001101010111100110111101111
(a)推导第一轮的子密钥K1
(b)推导L,R。
00
(c)扩展R得到E[R],其中E[.]是表3.2的扩展函数。
00
(d)计算A=E[R]?
K01
(e)把(d)的48位结果分成6位(数据)一组的集合并求对应S盒代替的值。
(f)将(e)的结果连接起来获得一个32位的结果B。
(g)应用置换获得P(B)。
(h)计算R=P(B)?
L10
(i)写出密文。
置换选择1PC-1置换选择2PC-1子密钥生成
解答:
a.(根据上面3张图进行子密钥生成)First,passthe64-bitinputthroughPC-1to
producea56-bitresult.Thenperformaleftcircularshiftseparatelyonthetwo28-bithalves.
Finally,passthe56-bitresultthroughPC-2toproducethe48-bitK1.(首先根据PC-1将64
位初始密钥转换为56位,然后将左右28位分别左循环移一位,最后,根据PC-2将56
位置换选择为48位,即K1):
inbinarynotation:
000010110000001001100111
100110110100100110100101
inhexadecimalnotation:
0B02679B49A5
b.L0,R0arederivedbypassingthe64-plaintextthroughIP(初始置换):
L0=11001100000000001100110011111111
R0=11110000101010101111000010101010
初始置换选择扩展
c.TheEtable(选择扩展)expandsR0to48bits:
E(R0)=01110100001010101010101011110100001010101010101
d.A=E[R]?
K=01110001000101110011001011100001010111001111000001
000SS11e.(1110)=(14)=0(base10)=0000(base2)
101SS22(1000)=(8)=12(base10)=1100(base2)
000SS33(1110)=(14)=2(base10)=0010(base2)
210SS44(1001)=(9)=1(base10)=0001(base2)
210SS55(1100)=(12)=6(base10)=0110(base2)
101SS66(1010)=(10)=13(base10)=1101(base2)
311SS77(1001)=(9)=5(base10)=0101(base2)
210SS88(1000)=(8)=0(base10)=0000(base2)
S盒
f.B=00001100001000010110110101010000
g.按照下图对f的32位结果进行变换,P(B)=10010010000111000010000010011100
h.R1=P(B)?
L=010111100001110011101100011000110
i.L1=R0.TheciphertextistheconcatenationofL1andR1.
18(AES与DES相比有优点,3DES与DES相比的变化有哪些,什么是2DES中的中
间相遇攻击?
(1)AES更安全。
(2)3DES增加了1到2个密钥,进行多轮DES,安全性更高。
(3)C=EK2(EK1(P))?
X=EK1(P)=DK2(C)
给定明文密文对(P,C)
对所有256个密钥,加密P,对结果按X排序与T中
对所有256个密钥,解密C,解密结果与T中的值比较
找出K1,K2使得EK1(P)=DK2(C)
用k1和k2对P加密,若结果为C,则认定这两个密钥为正确的密钥
19(分组密码的工作模式有哪些,及优缺点,
A(ECB,电码本模式,一次处理64位明文,每次使用相同的密钥加密。
任何64位的
明文组都有唯一的密文与之对应,有“结构化”的缺点。
B(CBC,密码分组连接模式,克服了ECB中“结构化”的缺点,同样的明文变成密
文之后就不同了,而且加密必须从头到尾
C(CFB,密码反馈模式(一次处理,位,上一个分组的密文产生一个伪随机数输出的
加密算法的输入,该输出与明文的异或,作为下一个分组的输入。
D(OFB,输出反馈模式,与,,,基本相同,只是加密算法的输入是上一次DES的
输出。
E(计数器模式,计数器被初始化为某个值,并随着消息块的增加其值加1,在于明文
组异或得到密文组。
也可用于流密码。
20(下图为S-DES密钥生成图:
其中:
按照上述条件,若K选为(1010000010),
产生的两个子密钥分别为:
K1=(10100100)
K2=(01000011)
21(公钥和私钥的作用是什么,
用户的私钥是保密的,只知道给用户。
用户的公共密钥提供给他人使用。
可以用
私钥加密,可以由任何人与公共密钥验证签名。
或公共密钥可以用于加密信息,只能由
拥有私钥解密。
22(求GCD(560,1547)结果为7
23(求GCD(645,1807)结果为1,此时可求出645在模1807下的乘法逆元。
接下图
由可知478和654在模1807下互为乘法逆元。
24(求GCD(123,277)结果为1。
此时可求出123在模277下的乘法逆元
由上述结果可知:
9和123在模277下互为乘法逆元。
25(求GCD(24140,16762)
gcd(24140,16762)=gcd(16762,7378)=gcd(7378,2006)=gcd(2006,1360)=gcd(1360,
646)=gcd(646,68)=gcd(68,34)=gcd(34,0)=34
26(求GCD(4655,12075)结果为35
27(欧拉函数φ(n)表示所有小于正整数n且与n互素的正整数的个数。
在表中给出了当n=2-13时欧拉函数的值:
n2345678910111213
φ(n)12242646410412
b28(下面是amodn的快速指数算法。
请注意,这里的变量c不是必需的,引入它只是为了便于解释算法,c的终值既是指数。
f的终值即为算法的结果。
c=0;f=1;
fori=kdownto0
doc=c*2
f=(f*f)modn
=1ifbi
thenc=c+1
f=(f*a)modn
returnf
注:
整数b表示为二进制
bbb….bkk-1k-20
b表计算amodn的快速模幂算法,其中,a=7,b=560=1000110000,n=561
i9876543210b1000110000i
c1248173570140280560f749157526160241298166671596运用上述算法,计算5mod1234.给出计算中的步骤。
解答:
i9876543210b1001010100i
c124511234693186372f525625937595569453591591013
29(RSA算法中密钥的生成和加密解密过程。
(1)密钥生成过程:
?
选两个保密的大素数p和q。
?
计算n=p×q,φ(n)=(p-1)(q-1),其中φ(n)是n的欧拉函数值。
?
选一整数e,满足1 ? 计算d,满足d? e? 1modφ(n),即d是e在模φ(n)下的乘法逆元,因e与φ(n)互素,由模运算可知,它的乘法逆元一定存在。 ? 以{e,n}为公开钥,{d,n}为秘密钥。 (2)加密 加密时首先将明文比特串分组,使得每个分组对应的十进制数小于n,即分组长度小于 elogn。 然后对每个明文分组m,作加密运算: c? mmodn2 (3)解密 对密文分组的解密运算为: dm? cmodn 30(RSA算法计算实例(给定p,q,e,m/c,计算n,,d,c/m),(n) 1.选择素数: p=17&q=11 2.计算n=pq=17×11=187 3.计算ø(n)=(p–1)(q-1)=16×10=160 4.选择e: gcd(e,160)=1;选择e=7 5.确定d: de=1mod160andd<160,d=23 因为23×7=161=1×160+1 6.公钥PK={7,187} 7.私钥SK={23,187} 8.RSA的加解密为: 给定消息M=88(88<187) 加密: 7C=88mod187=11 解密: 23M=11mod187=88 31(用RSA算法对下列数据实现加密和解密: (a)p=3;q=11;e=7;M=5 (b)p=5;q=11;e=3;M=9 (c)p=7;q=11;e=17;M=8 (d)p=11;q=13;e=11;M=7 (e)p=17;q=31;e=7;M=2 解答: a.n=33;,(n)=20;d=3;C=26. b.n=55;,(n)=40;d=27;C=14. c.n=77;,(n)=60;d=53;C=57. d.n=143;,(n)=120;d=11;C=106. e.n=527;,(n)=480;d=343;C=128.Fordecryption,wehave 3432566416421128mod527=128,128,128,128,128,128mod527 =35,256,35,101,47,128=2mod527 =2mod257 32(在使用RSA的公钥密码体制中,已截获发给某用户的密文C=10,该用户的公钥 e=5,n=35,那么明文M是多少, 结果: 5 33(在RSA体制中,某给定用户的公钥e=31,n=3599,那么该用户的私钥等于多少,提 示: 首先用试探法决定p和q,然后用扩展Euclid算法寻找31mod,(n)的乘法逆元。 解答: Bytrailanderror,wedeterminethatp=59andq=61.Hence,(n)=58x60= 3480.Then,usingtheextendedEuclideanalgorithm,wefindthatthemultiplicative inverseof31modulu,(n)is3031. 34(对比对称算法和公钥算法,(建议从用途,速度和效率等方面) 对称算法: 速度快,主要用于数据加密,只有一个密钥。 公钥算法: 速度较慢,主要用于数字签名和密钥交换,有两个密钥35(消息认证码的概念和基本用途, MAC(MessageAuthenticationCode),消息认证码,也是一种认证技术,它利用密钥来产生一个固定长度的短数据块,并将数据块附加在消息之后,格式如: MAC(M)||M。 消息和MAC一起发送到接受方。 从而,接受方可以知道消息没有经过篡改,真正来自发送方(MAC的密钥)和消息的时效性(如果MAC中包含序列号)。 从这个层面来说,hash是没有密钥的MAC 36(散列函数的基本用途有哪些, 保密、认证和签名 37(消息认证码和散列函数有哪些区别, 散列函数(Hash): 将任意长度的消息变换为定长的消息摘要,并加以认证。 消息认证码(MAC): 依赖公开的函数(密钥控制下)对消息进行处理,生成定长的 认证标识,并加以认证。 38(什么是数字签名,如何理解RSA私钥运算结果做为数字签名? 【提示: 最简单的数字签名是: E(M)即用a的私钥(SKa)加密消息M,接受SK(a) 方b用a的公钥解密,得到M,b就可以认为M来自a,因为其他人不可能有a的私钥;而且消息没有经过修改,因为修改后的秘文不能用a的公钥解开,从而实现了数字签名。 】39(如何实现用签名进行身份和消息认证,【提示: 上面算法的改进算法就可以实现用 签名进行身份和报文鉴别: E(H(M))||M。 先将消息M用hash算法(MD5orSHA1)SKa 算出mac(消息认证码),然后,用a的私钥加密此认证码,最后和原始的消息并在一 起,发送到接受方b。 b首先用a的公钥PKa解密前面部分,然后用同样的hash算法对 M进行hash操作,比较两个结果是否相等。 从而实现身份和消息认证。 40(数字签名的作用是什么 当通信双方发生了下列情况时,数字签名技术必须能够解决引发的争端: (1)否认,发送方不承认自己发送过某一报文。 (2)伪造,接收方自己伪造一份报文,并声称它来自发送方。 (3)冒充,网络上的某个用户冒充另一个用户接收或发送报文。 (4)篡改,接收方对收到的信息进行篡改。 41(请用公开密钥密码体制描述具有保密性的数字签名。 (可以用图示说明表示) 42(实体认证(身份认证)和消息认证的区别是什么, 身份认证是验证主体的真实身份与其所声称的身份是否符合的过程。 消息认证是是一个证实收到的消息来自可信的源点且未被篡改的过程。 即验证收到的消息确实是来自真正的发送方且未被修改的消息,也验证消息的顺序和及时性。 是为了确认被认证的实体与一些特定数据项有着静态的联系,而身份认证主要是在连接建立或者在数据传送阶段的某些时刻使用的。 43(什么是消息重放,有哪些方法可以抵御消息的重放攻击,各有什么特点, 消息重放: 攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的。 对付重放攻击的一种方法是在认证交换中使用一个序列号来给每一个消息报文编 号。 仅当收到的消息序数顺序合法时才接受之。 但这种方法的困难是要求双方必须保持 上次消息的序号。 两种更为一般的方法是: 时间戳: A接受一个新消息仅当该消息包含一个时间戳,该时间戳在A看来,是 足够接近A所知道的当前时间;这种方法要求不同参与者之间的时钟需要同步。 挑战/应答方式。 (Challenge/Response)A期望从B获得一个新消息,首先发给B 一个临时值(challenge),并要求后续从B收到的消息(response)包含正确的这个临时 值。 挑战问/应答方法不适应非连接性的应用,因为它要求在传输开始之前先有握
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码编码学与网络安全 密码 编码 网络安全 复习题 朱铁英 416