密码习题及部分参考答案.docx
- 文档编号:8490073
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:17
- 大小:33.69KB
密码习题及部分参考答案.docx
《密码习题及部分参考答案.docx》由会员分享,可在线阅读,更多相关《密码习题及部分参考答案.docx(17页珍藏版)》请在冰豆网上搜索。
密码习题及部分参考答案
一、密码学概述部分:
1、什么是密码体制的五元组。
五元组(M,C,K,E,D)构成密码体制模型,M代表明文空间;C代表密文空间;K代表密钥空间;E代表加密算法;D代表解密算法
2、简述口令和密码的区别。
密码:
按特定法则编成,用以对通信双方的信息进行明、密变换的符号。
换而言之,密码是隐蔽了真实内容的符号序列。
就是把用公开的、标准的信息编码表示的信息通过一种变换手段,将其变为除通信双方以外其他人所不能读懂的信息编码,这种独特的信息编码就是密码。
口令:
是与用户名对应的,用来验证是否拥有该用户名对应的权限。
密码是指为了保护某种文本或口令,采用特定的加密算法,产生新的文本或字符串。
区别:
从它们的定义上容易看出;
当前,无论是计算机用户,还是一个银行的户头,都是用口令保护的,通过口令来验证 用户的身份。
在网络上,使用户口令来验证用户的身份成了一种基本的手段。
3、密码学的分类标准:
⏹按操作方式可分为:
替代、置换、复合操作
⏹按使用密钥的数量可分为:
对称密钥(单密钥)、公开密钥(双秘钥)
⏹按对明文的处理方法可分为:
流密码、分组密码
4、简述柯克霍夫斯原则(及其特点和意义。
?
)
即使密码系统中的算法为密码分析者所知,也难以从截获的密文推导出明文或密钥。
也就是说,密码体制的安全性仅应依赖于对密钥的保密,而不应依赖于对算法的保密。
只有在假设攻击者对密码算法有充分的研究,并且拥有足够的计算资源的情况下仍然安全的密码才是安全的密码系统。
一句话:
“一切秘密寓于密钥之中”
Kerckhoffs原则的意义:
⏹知道算法的人可能不再可靠
⏹设计者有个人爱好
⏹频繁更换密钥是可能的,但无法频繁更换密码算法(设计安全的密码算法困难)
5、密码攻击者攻击密码体制的方法有三种分别是:
⏹穷举:
尝试所有密钥进行破译。
(增大密钥的数量)
⏹统计分析:
分析密文和明文的统计规律进行破译。
(使明文和密文的统计规律不一样)
⏹解密变换:
针对加密变换的数学基础,通过数学求解找到解密变换。
(选用具有坚实数学基础和足够复杂的加密算法)
6、密码分析的分类及其特点:
(1)惟密文攻击(Ciphertextonly)
对于这种形式的密码分析,破译者已知的东西只有两样:
加密算法、待破译的密文。
(2)已知明文攻击(Knownplaintext)
在已知明文攻击中,破译者已知的东西包括:
加密算法和经密钥加密形成的一个或多个明文—密文对,即知道一定数量的密文和对应的明文。
(3)选择明文攻击(Chosenplaintext)
选择明文攻击的破译者除了知道加密算法外,他还可以选定明文消息,并可以知道对应的加密得到的密文,即知道选择的明文和对应的密文。
例如,公钥密码体制中,攻击者可以利用公钥加密他任意选定的明文,这种攻击就是选择明文攻击。
(4) 选择密文攻击(Chosenciphertext)
与选择明文攻击相对应,破译者除了知道加密算法外,还包括他自己选定的密文和对应的、已解密的原文,即知道选择的密文和对应的明文。
(5)选择文本攻击(Chosentext)
选择文本攻击是选择明文攻击与选择密文攻击的结合。
破译者已知的东西包括:
加密算法、由密码破译者选择的明文消息和它对应的密文,以及由密码破译者选择的猜测性密文和它对应的已破译的明文。
7、密码体制的安全性可分为:
理论安全和实际安全。
在实际安全中,单密钥体制实现的是__计算上安全_;双密钥体制实现的是_可证明安全_。
8、给出一段密文和凯撒密码的密钥,写出明文。
“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。
它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。
据说恺撒是率先使用加密函的古代将领之一,因此这种加密方法被称为恺撒密码。
ABCDEFGHIJKLMNOPQRSTUVWXYZ
假如有这样一条指令:
RETURNTOROME
用恺撒密码加密后就成为:
UHWXUAWRURPH
9、给出一段明文和维吉尼亚密码的密钥,写出密文。
它是由16世纪法国亨利三世王朝的布莱瑟·维吉尼亚发明的,其特点是将26个恺撒密表合成一个,见下表:
原:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
B:
BCDEFGHIJKLMNOPQRSTUVWXYZA
C:
CDEFGHIJKLMNOPQRSTUVWXYZAB
D:
DEFGHIJKLMNOPQRSTUVWXYZABC
以下如此类推。
维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。
假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TOBEORNOTTOBETHATISTHEQUESTION
当选定RELATIONS作为密钥时,加密过程是:
明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:
RELATIONSRELATIONSRELATIONSREL
明文:
TOBEORNOTTOBETHATISTHEQUESTION
密文:
KSMEHZBBLKSMEMPOGAJXSEJCSFLZSY
二、网络安全概述部分:
1、什么是网络安全
网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。
2、网络安全要素有哪些:
请分别说明这些要素的目的并且举例
3、OSI安全框架包含哪三方面的内容
1)安全性攻击:
任何危及企业信息系统安全的活动。
2)安全机制:
用来检测、阻止攻击或者从攻击状态恢复到正常状态的过程,或实现该过程的设备。
3)安全服务:
加强数据处理系统和信息传输的安全性的一种处理过程或通信服务。
其目的在于利用一种或多种安全机制进行反攻击。
4、请说明安全服务和安全机制的关系
安全机制分为实现安全服务和对安全系统的管理两种类型。
安全服务是指开放某一层所提供的服务,用以保证系统或数据传输有足够的安全性。
5、什么是安全攻击,安全攻击分几类,分别说明这些攻击的特点
(1)主动攻击:
包含攻击者访问所需要信息的故意行为。
(2)被动攻击。
主要是收集信息而不是进行访问,数据的合法用户对这种活动一点也不会觉察到。
被动攻击包括:
1、窃听。
包括键击记录、网络监听、非法访问数据、获取密码文件。
2、欺骗。
包括获取口令、恶意代码、网络欺骗。
3、拒绝服务。
包括导致异常型、资源耗尽型、欺骗型。
4、数据驱动攻击:
包括缓冲区溢出、格式化字符串攻击、输入验证攻击、同步漏洞攻击、信任漏洞攻击。
6、四类主动攻击(伪装、重放、修改和拒绝服务,判断题)
伪装:
伪装是一个实体假装成另外一个实体。
伪装攻击往往连同另一类主动攻击一起进行。
假如,身份鉴别的序列被捕获,并在有效地身份鉴别发生时做出回答,有可能使具有很少特权的实体得到额外的特权,这样不具有这些特权的人获得了这些特权。
回答(重放):
回答攻击包含数据单元的被动捕获,随之再重传这些数据,从而产生一个非授权的效果。
修改报文:
修改报文攻击意味着合法报文的某些部分已被修改,或者报文的延迟和重新排序,从而产生非授权的效果。
拒绝服务(DosDenial of Service):
拒绝服务攻击是阻止或禁止通信设施的正常使用和管理。
这种攻击可能针对专门的目标(如安全审计服务),抑制所有报文直接送到目的站;也可能破坏整个网络,使网络不可用或网络超负荷,从而降低网络性能。
主动攻击和被动攻击具有相反的特性。
被动攻击难以检测出来,然而有阻止其成功的方法。
而主动攻击难以绝对地阻止,因为要做到这些,就要对所有通信设施、通路在任何时间进行完全的保护。
因此,对主动攻击采取的方法,并从破坏中恢复。
因此制止的效应也可能对防止破坏做出贡献。
7、我们生活中存在哪些安全威胁,请举例说明
自然灾害、意外事故;计算机犯罪;人为行为,比如使用不当,安全意识差等;黑客”行为:
由于黑客的入侵或侵扰,比如非法访问、拒绝服务计算机病毒、非法连接等;内部泄密;外部泄密;信息丢失;电子谍报,比如信息流量分析、信息窃取等;信息战;网络协议中的缺陷,例如TCP/IP协议的安全问题等等。
二、数论和有限域的基本概念:
1、整除性和除法
2、用欧几里德算法求两个整数的最大公因子
欧几里得算法辗转相除法
gcd(a,b) = gcd(b,a mod b) (a>b 且a mod b 不为0) r = a mod b d|a, d|b,而r = a - kb,因此d|r
#include
using namespace std;
int main() {
int m,n,r;
cout << "请输入两个正整数:
" << endl;
cin >> m >> n;
do {
r=m%n; m=n; n=r;
} while (r!
=0);
cout << "两个数字的最大公因子为:
" << m << endl;
return 0; }
3、模运算和同余
4、模运算的性质
5、剩余类集合
6、修改的欧几里德算法
7、扩展的欧几里德算法
扩展欧几里得算法是欧几里得算法(又叫辗转相除法)的扩展。
已知整数a、b,扩展欧几里得算法可以在求得a、b的最大公约数的同时,能找到整数x、y(其中一个很可能是负数),使它们满足贝祖等式
。
∙47=30*1+17
∙30=17*1+13
∙17=13*1+4
∙13=4*3+1
8、群、环和域的概念和性质
群、环、域都是满足一定条件的集合,可大可小,可可数也可不可数,一个元素可以是群,『0』,三个也可以『0,1,-1』,可数的:
以整数为系数的多项式(可以验证也是环),当然R也是;环不过是在群的基础上加上了交换律和另外一种运算,域的条件更强(除0元可逆),常见的一般是数域,也就是:
整数,有理数,实数,复数。
其实环和域上所谓的乘法不一定就是通常说的乘法,例子相信你的书上应该有,我们只是叫它乘法而已。
只能说到这儿了,你应该是想知道一些具体的例子,定义应该是蛮清楚的。
群,环,域都是集合,在这个集合上定义有特定元素和一些运算,这些运算具有一些性质。
群上定义一个运算,满足结合律,有单位元(元素和单位元进行运算不变),每个元素有逆元(元素和逆元运算得单位元)例整数集,加法及结合律,单位元0,逆元是相反数,正数集,乘法及结合律,单位元1,逆元是倒数环是一种群,定义的群运算(记为+)还要满足交换律。
另外环上还有一个运算(记为×),满足结合律,同时有分配律a(b+c)=ab+ac,(a+b)c=ac+bc,由于×不一定有交换律,所以分开写。
例整数集上加法和乘法。
域是一种环,上面的×要满足交换律,除了有+的单位元还要有×的单位元(二者不等),除了+的单位元外其他元素都有×的逆元。
例整数集上加法和乘法,单位元0,1。
循环群+群生成元:
如果存在一个元素a属于G,对任一属于G的元素b,都存在一个整数i>=0,使得b=a^i,则群G就称为循环群,元素a称为G的一个生成元,G也称为由a生成的群。
当一个群由a生成的时候,记做G=。
有限群G中元素个数称为G的阶,记为#G。
阿贝尔群是交换群,即有群中元素a*b=b*a,*是群操作。
9、阶为p的有限域中的运算
10、求GF(p)中的乘法逆元
a关于m的乘法逆元就是使等式:
a·b=1(modm),成立的b。
11、系数在GF(p)中的多项式运算(加、减、乘、除)
12、系数在GF(p)中,且多项式模一个n次多项式m(x)的多项式运算(加、减、乘、除)
13、既约多项式
14、求多项式的最大公因式
15、有限域GF(2n)中多项式的模运算,求乘法逆元,两个多项式的乘法计算,多项式和二进制数的对应
三、分组密码原理和DES:
1、混淆和扩散的使用目的
在克劳德·夏农的定义之中,混淆主要是用来使密文和对称式加密方法中密钥的关系变得尽可能的复杂;而扩散则主要是用来使用明文和密文关的关系变得尽可能的复杂,明文中任何一点小更动都会使得密文有很大的差异。
2、什么是轮迭代结构
3、什么是乘积密码
乘积密码就是以某种方式连续执行两个或多个密码,以使得所得到的最后结果或乘积从密码编码的角度比其任意一个组成密码都更强。
多个指数运算的乘积是公钥密码学中的一种重要运算。
针对求逆元素的运算量较大的情形,提出了两种有效实现该运算的算法:
在基固定和基不固定两种情况下,分别将多个指数表示成联合稀疏形和串代换形式,然后利用快速Shamir算法进行计算。
分析表明,算法有效降低了快速Shamir算法的运算次数。
4、Feistel结构特点
一种分组密码,一般分为64位一组,一组分左右部分,进行一般为16轮的迭代运算,每次迭代完后交换左右位置,可以自己进行设计的有:
分组大小、密钥长度、轮次数、子密钥生成、轮函数
5、实现Feistel结构的参数和特征(分组和密钥长度、迭代轮数、子密钥产生算法、轮函数F)
(1)块的大小:
大的块会提高加密的安全性,但是会降低加密、解密的速度。
截止至2013年,比较流行的这种方案是64bit。
而128bit的使用也比较广泛。
(2)密钥的大小:
同上。
现在流行的是64bit,而128bit正逐渐成为主流。
(3)循环次数(轮次数):
每多进行一轮循环,安全性就会有所提高。
现阶段比较流行的是16轮。
(4)子密钥的生成算法:
生成算法越复杂,则会使得密码被破译的难度增强,即,信息会越安全。
(5)轮函数的复杂度:
轮函数越复杂,则安全性越高。
6、为何说Feistel密码的解密过程和加密过程一致
构造过程
另F为轮函数;另K1,K2,……,Kn分别为第1,2,……,n轮的子密钥。
那么基本构造过程如下:
(1)将明文信息均分为两块:
(L0,R0);
(2)在每一轮中,进行如下运算(i为当前轮数):
Li+1=Ri;
Ri+1=Li⊕F(Ri,Ki)。
(其中⊕为异或操作)
所得的结果即为:
(Rn+1,Ln+1)。
解密过程
对于密文(Rn+1,Ln+1),我们将i由n向0进行,即,i=n,n-1,……,0。
然后对密文进行加密的逆向操作,如下:
(1)Ri=Li+1;
(2)Li=Ri+1⊕F(Li+1,Ki)。
(其中⊕为异或操作)
所得结果为(L0,R0),即原来的明文信息。
7、DES加密的明文和密钥长度
DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。
与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。
DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,但幸运的是当时大多数黑客并没有足够的设备制造出这种硬件设备。
在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果
8、DES有哪几个明文处理阶段
明文的处理过程有3个阶段:
初始置换IP用于重排明文分组的64比特数据。
轮变换。
是具有相同功能的16轮变换每论中都有置换和代换运算第16轮变换的输出分为左右两半并被交换次序。
逆初始置换IP-1为IP的逆从而产生64比特的密文。
9、DES轮变换的详细过程(扩展置换,密钥加,S盒,置换)
10、S盒的输入和输出
11、轮密钥的产生
12、什么是雪崩效应
雪崩效应就是一种不稳定的平衡状态也是加密算法的一种特征,它指明文或密钥的少量变化会引起密文的很大变化,就像雪崩前,山上看上去很平静,但是只要有一点问题,就会造成一片大崩溃。
可以用在很多场合对于Hash码,雪崩效应是指少量消息位的变化会引起信息摘要的许多位变化。
13、双重DES的中间相遇攻击
一起从双方的各自起点出发,一端加密,另一端解密,然后中间相遇,然后就破解了。
14、三重DES
传统上使用的单重des加密技术,由于其密钥长度为56位,无法确保信息安全性。
也正是由于des的脆弱性,绝大部分银行和金融服务公司开始寻求新的加密技术。
对已使用des算法软件和硬件的公司,
三重des加密技术是des的新版本,在des基础上进行了很大的改进,用两种不同的密钥,三次使用des加密算法,使得新的des密钥更加安全可靠。
密钥的第一个56位数据位组首先加密,然后用密钥的第二个56位数据位组加密,使密钥的复杂度和长度增加一倍,最后再对第一个56位数据块加密,再一次增加了密钥的复杂性,但没有增加密钥长度。
这样形成的密钥利用穷举搜索法很难破解,因为它只允许2112次的一次性尝试,而不是标准des的2256次。
三重des加密技术基本克服了des密钥长度不足的最大缺陷,成功地使des密钥长度加倍,达到了112位的军用级标准,没有任何攻击方式能破解三重des加密技术,这样它提供了足够的安全性
四、高级加密标准AES和分组密码工作方式:
1、明文和密钥长度,根据密钥长度不同迭代次数不同
2、AES的结构,是否是Feistel结构
DES算法使用的是56位密钥,3DES使用的是168位密钥,AES使用的最小密钥长度是128位。
3、轮函数中的四个不同阶段(字节代替、行移位、列混淆、轮密钥加)
4、字节代替变换,S盒的构造方式,逆S盒的构造
5、行移位变换
6、正向和逆向列混淆
7、轮密钥加
8、AES的密钥扩展算法
9、为何可以将解密算法中的逆向行移位和逆向字节代替顺序交换
10、为何可以将解密算法中的轮密钥加和逆向列混淆顺序交换
11、电码本模式的特点,缺点,如何进行明文恢复
12、密文分组链接模式的IV,如何进行明文恢复
13、密文反馈模式和流密码,s位,移位寄存器,如何进行明文恢复
14、输出反馈模式的特点,同密文反馈模式的区别,如何进行明文恢复
15、计数器模式特点,优势,如何进行明文恢复
11-15看书。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
五、数论入门:
任意整数的分解方式
费马定理
欧拉函数
欧拉定理
中国剩余定理
六、公钥密码学与RSA及其它公钥密码体制:
1、为何要提出公钥密码学(产生原因)
1976年提出的公开密钥密码体制思想不同于传统的对称密钥密码体制,它要求密钥成对出现,一个为加密密钥(e),另一个为解密密钥(d),且不可能从其中一个推导出另一个。
自1976年以来,已经提出了多种公开密钥密码算法,其中许多是不安全的,一些认为是安全的算法又有许多是不实用的,它们要么是密钥太大,要么密文扩展十分严重。
多数密码算法的安全基础是基于一些数学难题,这些难题专家们认为在短期内不可能得到解决。
因为一些问题(如因子分解问题)至今已有数千年的历史了。
2、什么是公钥和私钥
公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。
私钥,就是自己的,必须非常小心保存,最好加上密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。
公钥与私钥的作用是:
用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密。
比如说,我要给你发送一个加密的邮件。
首先,我必须拥有你的公钥,你也必须拥有我的公钥。
首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。
你收到邮件后,用你的私钥就可以解密,就能看到内容。
其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。
因为私钥只有我手里有,这样就保证了这个邮件是我发送的。
当A->B资料时,A会使用B的公钥加密,这样才能确保只有B能解开,否则普罗大众都能解开加密的讯息,就是去了资料的保密性。
验证方面则是使用签验章的机制,A传资料给大家时,会以自己的私钥做签章,如此所有收到讯息的人都可以用A的公钥进行验章,便可确认讯息是由A发出来的了。
3、公钥和私钥使用顺序的不同会对密文造成什么影响(对同一明文先用私钥再用公钥,和先用公钥再用私钥)
4、使用公钥密码可以实现什么功能
公钥加密算法也称非对称密钥算法,用两对密钥:
一个公共密钥和一个专用密钥。
用户要保障专用密钥的安全;公共密钥则可以发布出去。
公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。
由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。
除加密功能外,公钥系统还可以提供数字签名。
5、公钥密码的要求
6、RSA算法
RSA公开密钥密码体制。
所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。
在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。
加密算法E和解密算法D也都是公开的。
虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。
七、密钥管理、密码协议和安全多方计算:
1、什么是密钥管理
密钥,即密匙,一般范指生产、生活所应用到的各种加密技术,能够对各人资料、企业机密进行有效的监管,密钥管理就是指对密钥进行管理的行为,如加密、解密、破解等等。
2、密钥的分类和作用
对称密钥加密,又称私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据。
它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
非对称密钥加密系统,又称公钥密钥加密。
它需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。
信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。
公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
3、什么是密钥分配协议
4、Shamir门限方案
5、什么是密码协议,密码协议的特征
安全协议,有时也称作密码协议,是以密码学为基础的消息交换协议,其目的是在网络环境中提供各种安全服务。
密码学是网络安全的基础,但网络安全不能单纯依靠安全的密码算法。
安全协议是网络安全的一个重要组成部分,我们需要通过安全协议进行实体之间的认证、在实体之间安全地分配密钥或其它各种秘密、确认发送和接收的消息的非否认性等。
特征:
机密性、完整性、认证性、非否认性、正确性、可验证性、公平性、匿名性、隐私属性、强健性、高效性
6、健忘协议
7、使用对称密码学的位承诺
8、使用公钥密码的抛硬币协议
9、两方智力扑克协议
数据完整性算法:
为何要使用哈希函数
密码学hash函数的安全性需求
弱哈希函数、强哈希函数、原像、碰撞
生日攻击
SHA-512
什么是消息认证码MAC
HMAC
为何要使用数字签名
数字签名能够实现的依据
八、网络安全:
1、SSL是一个两层协议,包含SSL握手协议、SSL修改密码规范协议、SSL警报协议、SSL记
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码 习题 部分 参考答案