填空题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、 DES 是一种明文分组为64 比特,有效密钥 56 比特,输出密文64 比特的,具有16 轮迭代的分组对称密码算法。
每轮的子密钥长度为48 比特。
18、 DES 中每轮使用 8 个 S 盒,每个 S 盒的输入为 6 比特,输出是 4 比特。
19、 DES 的密钥为 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’,使得( ) =h( ’ ) 在计算上不可行。
m h m m30、散列函数的主要应用有以下三个方面: 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、一个数字签名方案由两部分组成:和验证算法( Verification Algorithm 带有陷门的数字签名算法()。
Signature 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 ;CVi = f (CV -1 ,); 1≤≤;imi i th (M) = CVt7、请用图画出基于分组密码的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), k 13,明文为 hello ,则密文为: nmxxy 密文为 unwpc ,则明文为: china3、置换表一般不容易记忆,因此实际过程中人们用一个容易记忆的短语构造置换表。