《密码学》复习资料.docx
《《密码学》复习资料.docx》由会员分享,可在线阅读,更多相关《《密码学》复习资料.docx(17页珍藏版)》请在冰点文库上搜索。
《密码学》复习资料
《密码学》课程第一版
期末复习资料
课程名称
密码学
教
材
信
息
名称
现代密码学(第二版)
出版社
清华大学出版社
作者
许春香等
版次
2015年1月第二版
注:
如学员使用其他版本教材,请参考相关知识点
《密码学》课程第一版(PPT)讲稿章节目录:
第1章引论
1.1密码学的发展历史;
1.2密码学的基本概念;
第3章古典密码
3.1置换密码;
3.2代替密码;
3.3单表代换密码;
3.4多表代换密码;
第4章流密码
4.1流密码的基本概念;
4.2序列的随机性;
4.3密钥流生成器;
4.4线性反馈移位寄存器;
4.5两个流密码算法RC4和A5;
第5章分组密码
5.1分组密码的基本原理;
5.2分组密码的工作模式;
5.3数据加密标准DES;
5.4高级数据加密标准AES;
5.5SMS4;
5.6IDEA。
第6章Hash函数
6.1Hash函数的概念;
6.2Hash函数MD5;
6.3Hash函数SHA;
6.4基于分组密码的Hash函数;
6.5Hash函数的分析方法。
第7章公钥密码
7.1公钥密码的基本概念;
7.2RSA公钥密码;
7.3ElGamal公钥密码;
7.4Rabin公钥密码;
7.5椭圆曲线公钥密码。
第8章数字签名
8.1数字签名的基本概念;
8.2RSA数字签名;
8.3ElGamal数字签名;
8.4数字签名标准DSS;
8.5其他数字签名。
(PPT讲稿文件共有8个。
)
一、客观部分:
(单项选择、多项选择、不定项选择、判断)
(一)、单选题:
★考核知识点:
机密性
参见讲稿章节1.2(考核知识点解释):
网络机密性是指网上资源不泄露给非授权的用户、实体或程序,能够防止网上用户非授权获取网上资源。
例如网络系统上传递的信息有些属于重要安全信息,若一旦攻击者通过监听手段获取到,就有可能危及网络系统整体安全。
1.会计小王误把公司业务合同资料发布在网站上,则该公司的信息()受到损害。
A.可用性B.机密性C.可控性D.抗抵赖性
★考核知识点:
公钥密码的应用
参见讲稿章节7.1(考核知识点解释)
本题考察的是对加密技术的理解,在保密通信过程中,利用公钥密码算法,可以有效的进行密钥交换和协商,因此利用公钥密码算法能够简化密钥管理。
2.小王和小明需要利用互联网进行业务信息交换,但彼此之间都想简化密钥管
理,则可选用的密码算法是()。
A.RSAB.MD5C.IDEAD.AES
★考核知识点:
Hash函数SHA
参见讲稿章节6.3(考核知识点解释)
本题考察的是对网络攻击常见方法的理解,这里是利用Hash函数来检测在网络上传输的信息是否被人篡改。
在四个选项中,只有SHA算法是Hash算法。
3.网站信息管理员需要把提供给用户下载的文件生成一个特殊字符串,用户通过它可以检查该文件是否被非法篡改。
则管理员可以使用算法()来实现这个安全服务。
A.DESB.RC4C.SHAD.VPN
★考核知识点:
密码攻击
参见讲稿章节1.2.3(考核知识点解释)
本题是考察密码技术基本内容的知识,稍微有点难度。
其难点在于除了要熟悉各种常见的攻击方法,还需要对攻击的方法能够进行分类。
在常见的各种攻击方法中,主要分为两种基本的攻击类型,一种是被动攻击,这种攻击类型的主要方法是对通信的内容进行监听,比如搭线窃听。
其主要特点是只是单纯的对通信进行侦听,而不改变通信的内容。
被动攻击的另外一个攻击方法为数据流分析,这种攻击方法同样也不改变通信的内容,它甚至也不必去了解通信的具体内容,而仅仅依靠通信双方的通信频度,方向等内容来获取一些重要的消息。
而主动攻击则和被动攻击相反,它一般会想办法对通信双方的通信内容进行改变来达到其攻击的目的,比如数据删除,增加,身份假冒,重放等等,都属于主动攻击的方法。
4.在以下人为的恶意攻击行为中,属于主动攻击的是()
A.身份假冒B.数据监听C.数据流分析D.非法访问
★考核知识点:
数据保密性,
参见讲稿章节1.2(考核知识点解释)
数据保密性,实质上就是指数据的机密性,就是指网上的数据不泄露给非授权的用户、试题或程序,保护这些数据被网上的非法用户获取。
而提供实体的身份鉴别是指身份认证;防止非法实体对用户的主动攻击,保证数据接收方收到的数据与发送方发送的数据一致则指消息认证;确保数据是由合法实体发送的也指消息的接收方需要对发送方进行身份认证。
5.数据保密性指的是()。
A.保护网络中各系统之间交换的数据,防止因数据被截获而造成的泄密
B.提供连接实体的身份鉴别
C.防止非法实体对用户的主动攻击,保证数据接收方收到的数据与发送方发送的数据一致
D.确保数据是由合法实体发送的
★考核知识点:
公钥密码体制的原理
参见讲稿章节7.1.1(考核知识点解释)
在保密通信过程中,为了简化保密通信的密钥管理,通常采用混合加密的方式,其中,采用非对称加密算法来进行密钥的协商和管理,但由于非对称加密的效率较低,因此,非对称算法通常不用来进行通信的内容的加密,而用来加密会话密钥(即对称密码的密钥)。
与之相对应,由于对称密码的加密效率很高,因此对通常较长的通信数据则利用对称算法进行加密。
故在混合加密方式下,真正用来加解密通信过程中所传输数据(明文)的密钥是B
6.在混合加密方式下,真正用来加解密通信过程中所传输数据(明文)的密钥是()。
A.非对称算法的公钥B.对称算法的密钥C.非对称算法的私钥D.CA中心的公钥
★考核知识点:
公钥密码的基本概念
参见讲稿章节7.1(考核知识点解释)
主要考察对公钥密码算法概念的理解
7.以下关于非对称密钥加密说法正确的是()。
A.加密方和解密方使用的是不同的算法
B.加密密钥和解密密钥是不同的
C.加密密钥和解密密钥是相同的
D.加密密钥和解密密钥没有任何关系
★考核知识点:
密码学基本概念
参见讲稿章节1.2(考核知识点解释)
主要考察对密码算法功能的理解
8.加密技术不能实现()。
A.数据信息的完整性B.基于密码技术的身份认证C.机密文件加密
D.基于IP头信息的包过滤
★考核知识点:
密码攻击
参见讲稿章节1.2.3(考核知识点解释)
主要考察对穷举密钥攻击中的字典攻击的理解
9.一次字典攻击能否成功,很大因素决定于()。
A.字典文件B.计算机速度C.完了速度D.黑客学历
★考核知识点:
RSA公钥密码
参见讲稿章节7.2(考核知识点解释)
主要考察对RSA公钥密码的基本原理
10.RSA算法是一种基于()公钥体系
A.素数不能分解B.大数没有质因数的假设
C.大数不可能质因数分解假设D.公钥可以公开的假设
★考核知识点:
密码攻击
参见讲稿章节1.2.3(考核知识点解释)
主要考察对密码攻击的分类,按攻击者掌握的信息的多少,可以把所有攻击分为4种类型,即唯密文攻击、已知明文攻击、选择明文攻击和选择密文攻击。
11.对手在进行密码攻击时,除了能够截获密文外,还能截获一个或多个明文及其对应的密文,此时攻击者最可能采用的攻击方法是()。
A.唯密文攻击
B.已知明文攻击
C.选择明文攻击
D.选择密文攻击
★考核知识点:
密码分类
参见讲稿章节1.2.2(考核知识点解释)
主要考察对密码体制的分类,本题涉及的密码体制主要是古典密码,古典密码按照加密的原理,主要可以分为单表代换和多表代换两种类型。
12.在下列密码算法中,不属于单表加密的算法是()。
A.凯撒密码
B.移位密码
C.仿射密码
D.希尔密码
★考核知识点:
Rabin公钥密码
参见讲稿章节7.4(考核知识点解释)
主要考察对Rabin公钥密码的基本原理
13.Rabin算法是一种基于()的公钥体系。
A.素数不能分解
B.离散对数困难性问题
C.大数分解困难性假设
D.背包问题
★考核知识点:
DES加密算法的密钥
参见讲稿章节5.3(考核知识点解释)
这里主要考察数据加密标准算法DES的密钥的使用,在DES的密钥中,我们强调的是其有效密钥是56位,但在加密的时候,输入的则是64比特的密钥,共8个字节,其中每一个字节的第八个位是奇偶校验位,其本身并没有用于加解密。
14.DES算法的入口参数有三个:
Key,Data和Mode。
其中Key为()位,是DES的工作密钥。
A.64
B.56
C.7
D.8
★考核知识点:
密码攻击
参见讲稿章节1.2.3(考核知识点解释)
主要考察对重放攻击的理解,本题对同学们来说有一定的难度,其主要原因是在我们的密码攻击中并没有单独讲到重放攻击,只是在介绍分组密码的基本工作模式时才提到重放攻击,另外一点是我们在提到重放攻击时,也没有明确说明抵抗重放攻击的有效方法,本题需要同学对重放攻击和一次一密密钥两个不同的知识点进行综合分析才能得出正确的结论。
15.防止重放攻击最有效的方法是()。
A.对用户账户和密码进行加密
B.使用“一次一密”加密方式
C.经常修改用户账户名称和密码
D.使用复杂的账户名称和密码
★考核知识点:
RSA公钥密码
参见讲稿章节7.2(考核知识点解释)
主要考察对RSA解密密钥的求解,同时需要对模乘法逆元的求解方法需要熟练掌握。
16.在RSA密码算法中,选加密密钥e=5,若欧拉函数φ(n)的值为96,则解密密钥d为()。
A.7
B.17
C.23
D.77
★考核知识点:
高级加密标准AES
参见讲稿章节5.4(考核知识点解释)
这里主要考察高级加密标准算法AES的历史,熟悉AES标准算法的确立过程,自然就可以得出本题的答案。
17.高级数字加密标准算法AES是在下面那个加密算法的基础上改进而来的()。
A.RC4
B.Rijndael
C.Luciffer
D.IDEA
★考核知识点:
数字签名标准
参见讲稿章节8.4(考核知识点解释)
这里主要考察数字签名标准算法。
18.数字签名标准DSS所采用的是下面哪种Hash算法()。
A.MD4
B.MD5
C.SHA-1
D.都可以
★考核知识点:
RSA公钥密码
参见讲稿章节7.2(考核知识点解释)
主要考察对RSA解密算法。
19.在RSA公钥密码算法中,设p=11,q=23,n=pq=253,则有RSA密码体制RSA-253,选已知解密密钥d=23,设接收到的密文c=35,则解密的明文m为()。
A.11
B.23
C.220
D.173
★考核知识点:
SMS4算法
参见讲稿章节5.5(考核知识点解释)
本题主要考察对SMS4算法中S-盒的理解。
20.SMS4加密算法中只用到了一个S-盒,其输入是()比特位。
A.4
B.6
C.8
D.16
(二)、多选题:
★考核知识点:
密码学基本概念
参见讲稿章节1.2(考核知识点解释)
本题主要考察对密钥管理方面的理解,在传统的密码算法中,最难解决的问题就是密钥管理问题,所以对于传统的对称密钥加密算法来说,密钥传递是一个很难解决的问题。
1.以下对于对称密钥加密说法正确的是()。
A.对称加密算法的密钥易于管理B.加解密双方使用同样的密钥
C.DES算法属于对称加密算法D.相对于非对称加密算法,加解密处理速度比较快
★考核知识点:
数字签名的基本概念
参见讲稿章节8.1(考核知识点解释)
本题考察的是数字签名实现的功能,密码学的基本性能要求中,单纯采用数字签名,无法保障信息的机密性,但可以保证信息的完整性、抗抵赖性和在传输过程中信息没有遭到篹改。
只有和加密算法结合起来使用,才能保证信息的机密性。
2.在通信过程中,只采用数字签名可以解决()等问题。
A.数据完整性B.数据的抗抵赖性C.数据的篹改D.数据的保密性
★考核知识点:
密码攻击
参见讲稿章节1.2.3(考核知识点解释)
本题是考察密码攻击基本内容的知识,稍微有点难度。
其难点在于除了要熟悉各种常见的攻击方法,还需要对攻击的方法能够进行分类。
在常见的各种攻击方法中,主要分为两种基本的攻击类型,一种是被动攻击,这种攻击类型的主要方法是对通信的内容进行监听,比如搭线窃听。
其主要特点是只是单纯的对通信进行侦听,而不改变通信的内容。
被动攻击的另外一个攻击方法为数据流分析,这种攻击方法同样也不改变通信的内容,它甚至也不必去了解通信的具体内容,而仅仅依靠通信双方的通信频度,方向等内容来获取一些重要的消息。
而主动攻击则和被动攻击相反,它一般会想办法对通信双方的通信内容进行改变来达到其攻击的目的,比如数据删除,增加,身份假冒,重放等等,都属于主动攻击的方法。
3.人为的恶意攻击分为主动攻击和被动攻击,在以下的攻击类型中属于主动攻击的是()。
A.数据监听B.数据篹改及破坏C.身份假冒D.数据流分析
★考核知识点:
密码学基本概念
参见讲稿章节1.2(考核知识点解释)
本题是考察密码技术基本内容的知识,具有相当的难度。
其难度主要体现在要把密码的加密技术、数字签名技术结合起来考虑才能获得正确的答案。
在密码学中,单纯使用密码技术,可以获得信息的机密性,单纯使用数字签名,可以保证信息的完整性、抗抵赖性和在传输过程中信息没有遭到篹改。
因此,只有把二者结合起来,才能保证选项中的4个特性。
4.利用密码技术,可以实现网络安全所要求的()。
A.数据保密性B.数据完整性C.数据可用性D.身份认证
★考核知识点:
公钥密码的基本概念
参见讲稿章节7.1(考核知识点解释)
本题主要考察公钥密码算法的特性,公钥密码的特点是加密和解密使用不同的密钥,方便密钥管理和密钥分配,其缺点是加密速度慢。
因此,在实际使用中,公钥密码主要用于加密较短的信息比如密钥,而真正要传送的明文则一般使用对称加密算法加密。
5.相对于对称加密算法,非对称密钥加密算法(ACD)。
A.加密数据的速率较低
B.更适合于现有网络中对所传输数据(明文)的加解密处理
C.安全性更好
D.加密和解密的密钥不同
(三)、判断题:
★考核知识点:
一次一密与流密码
参见讲稿章节4.1.1(考核知识点解释)
“一次一密”是香浓证明过唯一可以达到理论上安全的密码系统,它属于序列密码的一种。
1.“一次一密”属于序列密码中的一种。
()
★考核知识点:
密码攻击
参见讲稿章节1.2.3(考核知识点解释)
暴力破解和字典攻击都是常用的破解密码的方法。
暴力破解是在获取密文后,利用所有可能的密钥去解密密文,直到得到有意义的明文为止;而字典攻击则是对用户使用密码的习惯进行统计分析,分析用户最常用的那些密钥,并把这些密钥存在在一个字典文件中,当截获密文后,则首先利用字典文件中的密钥去进行破解。
所以暴力破解中所采用的字典要比字典攻击中使用的字典范围要大。
2.暴力破解与字典攻击属于同类网络攻击方式,其中暴力破解中所采用的字典要比字典攻击中使用的字典范围要大。
★考核知识点:
密钥短语密码
参见讲稿章节3.2.1(考核知识点解释)
这里主要考察对密钥短语密码定义的理解。
3.密钥短语密码是一种单字母代换密码。
★考核知识点:
密码攻击
参见讲稿章节1.2.3(考核知识点解释)
这里主要考察的内容是如何对一种密码的安全性进行定义。
在密码学上,说一种加密算法是安全的,通常指的是计算上安全的。
计算上安全的密码算法,只要满足下面两个条件之一即可:
(1)破译密文的代价超过被加密信息的价值。
(2)破译密文所花费的时间超过信息本身的生命期。
4.一种加密方案是安全的,当且仅当解密信息的代价大于被加密信息本身的价值。
★考核知识点:
DES算法
参见讲稿章节5.3.2(考核知识点解释)
这里主要考察的内容对DES算法加密流程的理解,DES算法中对明文的处理过程分3个阶段:
首先是一个初始置换IP,用于重排明文分组的64比特数据。
然后是具有相同功能的16轮变换,每轮中都有置换和代换运算。
最后是一个逆初始置换从而产生64比特的密文。
5.DES算法中对明文的处理过程分3个阶段:
首先是一个初始置换IP,用于重排明文分组的64比特数据。
然后是具有相同功能的64轮变换,每轮中都有置换和代换运算。
最后是一个逆初始置换从而产生64比特的密文。
二、主观部分:
(一)、名词解释:
★考核知识点:
密码学基本概念
参见讲稿章节1.2(考核知识点解释)
机密性是密码学中的一个重要概念,也是保密通讯要达到的一个主要目的之一。
机密性是指网上资源不泄露给非授权的用户、实体出现,能够防止网上用户非授权获取网上资源。
1、机密性
★考核知识点:
暴力攻击
参见讲稿章节1.2(考核知识点解释)
暴力破解攻击是指攻击者通过系统地组合所有可能性(例如登录时用到的账户名、密码),尝试所有的可能性破解用户的账户名、密码等敏感信息。
攻击者会经常使用自动化脚本组合出正确的用户名和密码。
2、暴力攻击
★考核知识点:
对称密码算法
参见讲稿章节1.2.2(考核知识点解释)
对称密码算法:
对称密码算法有时又称为传统密码算法,是指加密和解密都使用一个密钥的密码算法,或者解密密钥可以从加密密钥中推算出来,反过来也成立。
对称密码算法是相对于非对称密码算法来给的定义。
3、对称密码算法
★考核知识点:
密码攻击的分类
参见讲稿章节1.2.3(考核知识点解释)
对保密通信系统的攻击主要分为主动攻击和被动攻击两大类。
其中,被动攻击是指对系统的保密性进行攻击,分为获取消息内容和进行业务流分析两类,不对消息做任何修改,难以检测。
4、被动攻击。
★考核知识点:
线性反馈移位寄存器
参见讲稿章节4.4(考核知识点解释)
LSFR是线性反馈移位寄存器的英文名称缩写,它是序列密码生产器中最常用和主要的一个器件,其主要作用是为密钥序列生成器产生随机性好,统治特性优良的驱动序列,其主要特征是反馈函数为线性函数的移位寄存器。
5、LSFR。
(二)、计算题
★考核知识点:
单表代替密码
参见讲稿章节3.2.1(考核知识点解释)
答题要点:
凯撒密码是单表代替密码中的一种特殊形式。
凯撒(Caesar)密码的加密方式如下,对明文中的每一个字母,都把它替换为字母表中的后面第三个字母,比如,若明文中依次出现了“ABC”三个字母,则它们后面的第三个字母分别为“DEF”,因此,加密后的密文则为“DEF”。
1、凯撒(Caesar)密码是一种基于字符替换的对称式加密方法,它是通过对所有的26个英文字母进行循环移位和替换来编码的。
设待加密的信息为“SECURITY”,密钥k为3,试给出加密后的密文。
★考核知识点:
AES的基本运算单元
参见讲稿章节5.4.1(考核知识点解释)
答题要点:
在AES加密算法中,对基本数据单元字节引进了一种多项式表示方式,即将每一字节看作是有限域GF(28)上的一个元素,分别对应于一个次数不超过7的多项式。
如b7b6b5b4b3b2b1b0可表示为多项式
b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x1+b0
还可以将每个字节表示为一个十六进制数,即每4比特表示为一个十六进制数,代表较高位的4比特的符号仍在左边。
例如,01101011可表示为6B。
为此定义了有限域GF(28)的加法运算和乘法运算。
加法运算比较简单,即为各对应系数的逐比特异或运算;乘法运算则为一个定义的新运算。
要计算GF(28)上的乘法,必须先确定一个GF
(2)上的8次不可约多项式;GF(28)上两个元素的乘积就是这两个多项式的模乘(以这个8次不可约多项式为模),模乘的结果仍然还是一个次数不超过7的多项式。
在AES密码中,这个8次不可约多项式确定为
m(x)=x8+x4+x3+x+1
它的十六进制表示为‘11B’。
具体的乘法运算分为两个步骤:
(1)对两个次数不超过7的多项式,进行普通的多项式乘法运算,并合并同类项,
例如,计算B7*3F=73,可以首先把两个字节表示为以下的多项式
,
然后计算这两个多项式的普通乘法运算,并合并同类项,这里需要注意的是,由于多项式系数为0,1比特,因此,在合并同类项时,也对同次的系数进行异或运算。
下面是计算结果:
(2)对上一步计算的结果进行取模运算,具体方法是利用上式的结果,去除AES定义的模多项式m(x),计算得到的余式是一个次数不超过7的多项式,这个余式就是计算结果对应的多项式。
除以模多项式的结果如下:
式中的余式为x6+x5+x4+x+1,其对应的16进制数为73
2.在AES加密算法中,最基本的运算是8比特字节的乘法运算,即有限域GP(28)=Z2[x]/(m(x))中的两个多项式的模乘运算,其中
,计算下列元素的乘积:
(1)B7*3F;
(2)11*FF;