密码学期末考试复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
填空题
1、密码学的主要任务是实现机密性、鉴别、数据完整性、抗抵赖性。
1、机密性是一种允许特定用户访问和阅读信息,而非授权用户对信息内容不可理解的安全属性。
在密码学中,信息的机密性通过加密技术实现。
2、完整性数据完整性即用以确保数据在存储和传输过程中不被非授权修改的的安全属性。
密码学可通过采用数据加密、报文鉴别或数字签名等技术来实现数据的完整性保护。
3、鉴别是一种与数据来源和身份鉴别有关的安全服务。
鉴别服务包括对身份的鉴别和对数据源的鉴别。
对于一次通信,必须确信通信的对端是预期的实体,这就涉及到身份的鉴别。
4、抗抵赖性
是一种用于阻止通信实体抵赖先前的通信行为及相关内容的安全特性。
密码学通过对称加密或非对称加密,以及数字签名等技术,并借助可信机构或证书机构的辅助来提供这种服务。
5、密码编码学的主要任务是寻求有效密码算法和协议,以保证信息的机密性或认证性的方法。
它主要研究密码算法的构造与设计,也就是密码体制的构造。
它是密码理论的基础,也是保密系统设计的基础。
6、密码分析学的主要任务是研究加密信息的破译或认证信息的伪造。
它主要是对密码信息的解析方法进行研究。
7、明文(Plaintext)是待伪装或加密的消息(Message)。
在通信系统中它可能是比特流,如文本、位图、数字化的语音流或数字化的视频图像等。
8、密文(Ciphertext)是对明文施加某种伪装或变换后的输出,也可认为是不可直接理的字符或比特集,密文常用c表示。
9、加密(Encrypt )是把原始的信息(明文)转换为密文的信息变换过程。
10、解密(Decrypt)是把己加密的信息(密文)恢复成原始信息明文的过程。
11、密码算法(Cryptography Algorithm)也简称密码(Cipher),通常是指加、解密过程所使用的信息变换规则,是用于信息加密和解密的数学函数。
对明文进行加密时所采用的规则称作加密算法,而对密文进行解密时所采用的规则称作解密算法。
加密算法和解密算法的操作通常都是在一组密钥的控制下进行的。
11、密钥(Secret Key )密码算法中的一个可变参数,通常是一组满足一定条件的随机序列
12、替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。
13、根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多
表替代密码。
14、单表替代密码的密码算法加解密时使用一个固定的替换表;
15、多表替代密码的密码算法加解密时使用多个替换表。
16、分组密码设计中可采用Feistel结构和SPN结构。
DES采用的是Feistel结构
17、D ES是一种明文分组为64比特,有效密钥56比特,输出密文64比特的,具有16轮迭
代的分组对称密码算法。
每轮的子密钥长度为48比特。
18、D ES中每轮使用8个S盒,每个S盒的输入为6比特,输出是4比特。
19、D ES的密钥为56比特,每轮使用的子密钥由子密钥生成器产生,子密钥的长度为48比
特。
20、高级加密标准AES是DES的替代者。
AES的分组长度为128比特的分组长度,可支持128、192和256比特的密钥长度。
AES采用的加密算法为Rijndael算法。
21、分组密码有5种工作模式,分别为:电子本模式(ECB)、密码分组链接模式(CBC)、密码反馈模式(CFB)、输出反馈模式(OFB)和计数器模式(CTR)。
22、RSA算法是非对称加密解密算法,由MIT的Rivest, Shamir和Adleman在I 978年提
出来的。
目前已成为公钥密码的国际标准。
该算法的安全性建立在大整数因子分解的困难性之上。
23、公钥密码也称为非对称密码。
每个用户都分别拥有两个密钥:公钥和私钥。
公钥也称为加密密钥,私钥也称为解密密钥,它们两者并不相同,并且由加密密钥得到解密密钥在计算上是不可行的。
公钥是公开的,私钥是保密的。
24、用于数字签名的公钥算法必须满足:用任一个密钥都可以加密,用另外一个密钥可以解密。
25、散列函数又称为哈希函数(Hash函数)、杂凑函数。
它是一种单向函数。
26、散列函数将任意长度的消息序列(输入)变换为一个固定长度的序列。
27、散列函数具有单向性。
也就是说给定消息的散列值h(m),要得到消息m在计算上不可行。
28、散列函数具有弱抗碰撞性(Weak collision resistance)。
也就是说对任何给定的消息m,寻找与m不同的消息m’,使得它们的散列值相同,即h(m’)=h (m),在计算上不可行。
29、散列函数具有强抗碰撞性(Strong collision resistance) 。
也就是说寻找任意两个不同的消息m和m’,使得h(m)=h (m’)在计算上不可行。
30、散列函数的主要应用有以下三个方面: 1)保证数据的完整性、 2)单向数据加密、 3)数字签名
31、常用的典型散列算法有:MD2、MD4、MD5、SHA-1等算法。
32、SHA-1是数字签名标准DSS(Digtial Signature Standard)中使用的散列算法。
它所处理的分组长度为512位,输出为160位的散列函数值。
33、SHA-256所处理的分组长度为512位,输出为256位的散列函数值。
33、SHA-384所处理的分组长度为1024位,输出为384位的散列函数值。
33、SHA-512所处理的分组长度为1024位,输出为512位的散列函数值。
34、MD5所处理的分组长度为512位,输出为128位的散列函数值。
35、消息鉴别码(MAC,Message Authentication Code)或报文鉴别码,是用于提供数据原发鉴别和数据完整性的密码校验值。
36、消息鉴别码(MAC )是使用一个特定的密钥将消息通过一种鉴别算法处理所得出的一串代码。
37、一个MAC算法是由一个秘密密钥k和参数化的一簇函数hk构成。
38、数字签名的目的是保证信息的完整性和真实性,即消息内容没有被篡改,而且签名也没有被篡改,消息只能始发于所声称的发方。
39、一个完善的签名方案应满足以下三个条件:①签名者事后不能否认或抵赖自己的签名。
②其他任何人均不能伪造签名,也不能对接收或发送的信息进行篡改、伪造和冒充。
③若当事双方对签名真伪发生争执时,能够在公正的仲裁者面前通过验证签名来确定其真伪。
40、一个数字签名方案由两部分组成:带有陷门的数字签名算法(Signature Algorithm)和验证算法(Verification Algorithm)。
41、RSA数字签名方案是基于公钥密码体制的典型数字签名方案
42、DSA数字签名算法是数字签名标准DSS 中采用的算法。
问答题
1、请画出采用对称密码系统的保密通信模型。
假定A和B需要完成安全通信,A和B各有一对密钥(私钥和公钥),通信过程需要用DES 加密算法对通信的数据进行加密。
在通信前,A和B应协商一个密钥,请给出一个解决方案。
请画出采用对称密码系统的保密通信模型。
并简要说明其工作过程。
2、一个密码系统实际上就是一个五元组{ M,C,K,E,D }。
请说出M,C,K,E,D各自的含义。
对于明文空间M中的每一个明文m,加密算法E在加密密钥ke的控制下将明文m加密成密文c;而解密算法D则在密钥kd的控制下将密文c解密成同一明文m。
3、什么是对称加密什么是非对称加密
如果一个提供保密服务的密码系统,它的加密密钥和解密密钥相同,或者虽然不相同,但由其中的任意—个可以很容易地导出另外一个,那么该系统所采用的就是对称密码体制。
如果一个提供保密服务的密码系统,其加密算法和解密算法分别用两个不同的密钥实现,并且由加密密钥不能推导出解密密钥,则该系统所采用的就是非对称密码体制。
4、请画出采用非对称密码系统的保密通信模型。
5、请简述分组密码安全性的一般设计原则。
明文分组长度和密钥长度望尽可能大
混乱原则:又称混淆原则,是指密钥和明文以及密文之间的依赖关系尽可能的复杂
扩散原则:密钥或明文的每一位影响密文的许多位以便隐蔽明文的统计特性
6、散列函数
(1)散列函数必须满足哪些要求
(2)请说明散列函数有哪些用途
(3) 请用画出迭代型散列函数的一般结构,并进行简要的说明。
( 4) 课堂上在VS2005下演示程序所用的散列函数什么散列函数
算法中重复使用一个函数f。
函数f的输入有两项,一项是上一轮(第i-1轮)的输出CV i-1,称为链接变量,另一项是算法在本轮(第i轮)b位的输入分组mi。
整个散列函数的逻辑关系可表示为:
CV0 =IV;
CV i = f(CV i-1,mi);1≤i≤t;
h(M)= CVt
7、请用图画出基于分组密码的CBC工作模式的散列函数的结构。
8、请用图画出基于分组密码的CFB工作模式的散列函数的结构。
9、数字签名
(1)数字签名必须具备哪些特性(数字签名方案应满足那些要求:)
(2)请给出一个利用RSA进行数字签名的方案。
⑴签名是不可伪造的。
⑵签名是不可抵赖的。
⑶签名是可信的。
⑷签名是不可复制的。
⑸签名的消息是不可篡改的。
密码算法
1、设置换π的对应关系如下:
a b c d e f g h i j k l m n o p q r s t u v w x y z
q w e r t y u i o p a s d f g h j k l z x c v b n m
明文为hello,则加密后的密文为itssg ,如果密文为dtllqut ,则明文为message .
2、把26个英文字母与整数0,1,2,…,25一一对应,如表下所示
仿射密码的加密解密过程如下: 密钥空间为 K ={(k 1,k 2)| k 1,k 2∈Z 26,gcd(k 1,26)=1} 对任意m ∈M ,c ∈C ,k = (k 1,k 2)∈K ,
加密变换为: c = E k (m ) = k 1 m +k 2 (mod 26)
解密变换为: m = Dk (c ) = k 1-1 (c -k 2) (mod 26)
设密钥k = (k 1,k 2)=(9,2),31=-k
,
明文为hello ,则密文为:nmxxy
密文为unwpc ,则明文为:china
3、置换表一般不容易记忆,因此实际过程中人们用一个容易记忆的短语构造置换表。
将此称为密钥短语密码。
密钥短语密码的原理如下:
选用一个英文短语或单词串作为密钥,去掉其中重复的字母得到一个无重复字母的字符
串,然后再将字母表中的其它字母依次写于此字母串后,就可构造出一个字母替代表。
如果密钥短语为hello ,请根据其原理给出对应的置换表。
abcdefghijklmnopqrstuvwxyz
heloabcdfgijkmnpqrstuvwxyz
4、把26个英文字母与整数0,1,2,…,25一一对应,如表下所示
维吉尼亚密码的有一个参数n。
在加解密时,按n个字母一组进行变换。
明文空间、密文空间及密钥空间都是长度为n的英文字母串的集合,因此极密解密过程可表示如下:设密钥k=(k1,k2,…,k n),明文m=(m1,m2,…,m n),加密变换定义如下:
加密变换为:E k(m)=(c1,c2,…,c n),
其中ci=(mi + ki)(mod26),i=1,2,…,n
对密文c=(c1,c2,…,c n),解密变换为:D k(c)=(m1,m2,…,m n),
其中mi=(ci -ki)(mod26),i=1,2,…,n
已知密钥为hello,
如果明文为signalandsystem,则密文为zmryoseyogfwepa。
如果密文为zcdest,则明文为system
5、请用图画出DES的总体结构。
6、为了增强DES 算法的安全性,人们提出了许多DES 的改进方案。
其中三重DES 就是DES 的一个重要的改进算法。
请用图画出三重DES 加密解密的过程。
7、请用图画出采用密码分组链接模式(CBC )的加密过程。
并简述其特点。
DES 解密 DES 加密 DES 加密
DES 加密 DES 解密 DES 解密
明文M 密文C
K 1 K 2 K 3
特点:(1)它能够隐蔽明文的数据模式,相同的明文对应的密文一般是不同的。
(2)当信道噪音等干扰带来密文传输错误时,密文中一个位的错误将影响当前分组以及下一分组的解密8、请用图画出采用输出反馈模式(OFB)的加密过程。
并简述其特点。
特点:OFB模式具有普通序列密码的优缺点,如可加密任意长度的数据(即不需要进行分组填充),没有错误传播,适于加密冗余度较大的数据、语音和图像数据,但对密文的篡改难以检测。
9、请用图画出采用计数器模式(CTR)的加密过程。
并简述其特点。
特点:(1)随机访问特性:可以随机的对任意一个密文分组进行解密,对该密文分组的处理与其它密文无关。
(2)高效率:能并行处理,即能对多个分组的加解密同时进行处理,而不必等到前面分组处理完才开始;而且,可以提前进行预处理,这也可以极大的提高处理效率。
(3)可以处理任意长度的数据,而且加解密过程仅涉及加密运算,不涉及解密运算,因此不用实现解密算法
10、请简述基于公钥密码体制和散列函数的消息鉴别的基本原理
SK1为发送方的私钥,PK1为发送方的公钥。
11、叙述RSA数字签名的工作过程。
(1) 系统初始化过程
①产生两个大素数 p,q;计算n=p×q;
②随机选取一个与Φ(n)互素的整数e作为公钥,私钥d满足ed=1 mod Φ(n);
用户A将公开公钥e与n,而私钥d,以及p,q则严格保密。
(2) 签名产生过程
用户A对消息M∈Zn进行签名,计算
SA=Sig (M)=Md mod n ;其中d为签名方A的私钥。
并将SA附在消息M后作为对用户对消息M的签名。
(3) 签名验证过程
假设用户B要验证用户A 对消息M的签名,用户计算
M’=SAe mod n ;其中e为签名方A的公钥。
并判断M’与M是否相等。
如果相等则相信签名确实为A所产生,否则拒绝确认该签名消息。