密码学考点整理

考试重点

1. 密码体制分类

对称密码体制和非对称密码体制;

2. DES和AES算法的特点

(结构、密钥长度,分组长度,DES弱密钥)及其过程(置换过程,S盒查表过程),AES的轮结构

DES

DES结构

  • 首先是一个初始置换IP,用于重排明文分组的64比特;

  • 相同功能的16轮变换,每轮都有置换和代换;

  • 第16轮的输出分为左右两半并被交换次序;

  • 最后经过一个逆初始置换产生64比特密文;

DES结构图如下:
在这里插入图片描述

密钥长度:56

分组长度:64

DES弱密钥:待续

了解即可

DES 分组长度64比特,使用一个 56 位的密钥以及附加的 8 位奇偶校验位,产生最大 64 位的分组大小。这是一个迭代的分组密码,使用称为 Feistel 的技术,其中将加密的文本块分成两半。

使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES 使用 16 个循环,使用异或,置换,代换,移位操作四种基本运算。

AES(也称Rijndael)

分组长度和密钥长度都可变;各自可独立地指定为128比特、192比特、256比特。

DES使用了Feistel结构,AES没有使用Feistel结构

轮函数由4个不同的计算部件组成:

  • 字节代换,非线性结构,因为有S盒;⭐
  • 行移位,扩散;
  • 列混合,列混淆在GF运算,引入不可约多项式;
  • 轮密钥加

DES 16轮,AES 10轮;

AES S盒和DES S盒区别

S盒使明文的统计信息消失在密文中;

DES的S盒压缩数据,不可逆

AES的S盒是代换,可逆的

AES的S盒,第一个字节对应行,第二个字节对应列;

⭐DES S盒(必背)

DES加密过程中S盒运算是不可逆的操作,那么DES的加密算法的逆过程——解密算法,该如何实现呢?

答:DES算法是基于Feistel密码结构的,其加密和解密过程是相同的,只是轮密钥的使用顺序相反而已,所以无需加密过程可逆。

3. 密码分析的类型及方法

该答案来源于网络,不确定是否正确

四种类型:

  • 唯密文攻击(Ciphertext—only attack);
  • 已知明文攻击( Known – plaintext attack);
  • 选择明文攻击( Chosen – plaintext attack);
  • 选择密文攻击( Chosen – ciphertext attack);

三种方法:

  • 穷举攻击法;
  • 统计分析法;例如 频率分析;
  • 数学分析法;例如,差分攻击;

参考资料:http://www.360doc.com/content/16/0723/13/32369957_577776454.shtml

4. 单表代换密码和多表代换密码

单表代换

凯撒密码;移位变换;仿射变换;

对所有的明文字母都用一个固定的代换进行加密 ,因而称为单表代换密码。

加密过程中是从明文字母表到密文字母表的一一映射。例:恺撒(Caesar)密码。
缺点:不能抗击字母频度分析,容易被破译
单表密码的弱点:明文和密文字母之间的一一代替关系。这使得明文中的一些固有特性和规律(比如语言的各种统计特性)必然反映到密文中去。
参考链接:https://blog.csdn.net/qq_21324665/article/details/79073320

多表代换

多表代替密码是古典密码中代替密码的一种。针对单表代替密码容易被频率分析法破解的缺点;

人们提出多表代换密码,用一系列(两个以上)代换表依次对明文消息的字母进行代换。

Vigenere密码是一种著名的多表代换密码。维吉尼亚密码是最简单的多表代换密码,由多个凯撒移位密码组成。

5. 国际安全标准和计算安全

American and international standards

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YsNovAuo-1648945731889)(exam.assets/image-20220330142132161.png)]

PKCS – Public Key Cryptography Standards

IEEE - Institute of Electrical and Electronics Engineers

ANSI - American National Standards Institute

ISO – International Organization for Standardization

NIST - National Institute of Standards and Technology

FIPS - Federal Information Processing Standards

计算安全:若破解密码的代价超出密文信息的价值,破译密码的时间超出密文信息的有效生命期,则认为加密体制是计算上安全的;

6. 公钥加密的种类和应用

种类:待续

RSA、ECC等;

Public-Key Applications can classify uses into 3 categories:
encryption/decryption (provide secrecy)
digital signatures (provide authentication)
key exchange (of session keys)

公钥加密应用:

  • 密钥分配;
  • 数字签名;

7. 哈希函数的特点及种类

  • 任意长度的数据为输入;

  • 输出固定长度

  • 哈希函数的单向性意味着,给定一个哈希值,无法(很难)逆向计算出其原像输入;

  • 抗碰撞性;

种类:

国际:MD4、MD5、SHA-1、SHA-256、SHA-3

国内:国产自主研发的商用密码哈希算法,即 SM3

8. 加密模式及特点

AES的模式

  • https://blog.csdn.net/whatday/article/details/97266912/
加密模式及其特点
模式名称填充错误扩散缺点优点备注
ECBElectronic Co电子密码本模式需要明文中的重复排列会反映在密文中通过删除、替换密文分组可以对明文进行操作对包含某些比特错误的密文进行解密时,对应的分组会出错不能抵御重放攻击简单快速支持并行计算(加密、解密)必应使用
CBCCipher Block Charning密文分组链接模式需要一个密文块错误,会将错误蔓延到下一个块;对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错加密不支持并行计算明文的重复排列不会反映在密文中支持并行计算(仅解密)能够解密任意密文分组推荐使用
CFBCipher-FeedBack密文反馈模式不需要若某密文块错误,错误还会蔓延到后续的8个byte(一共9个byte出错)加密不支持并行计算对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错不能抵御重放攻击支持并行计算(仅解密)能够解密任意密文分组现在已不使用推荐用CTR模式代替
OFBOutput-FeedBack输出反馈模式不需要不支持并行运算主动攻击这反转密文分组中的某些比特时,明文分组中相对应的比特也会被反转可事先进行加密、解密的准备加密、解密使用相同结构对包含某些错误比特的密文进行解密时,只有铭文中相应的比特会出错推荐使用CTR模式代替
CTRCounTeR计数器模式不需要主动攻击者反转密文分组中的某些比特时,明文分组中对应的比特也会被反转填充(padding)可事先进行加密、解密的准备加密、解密使用相同的结构对包含某些错误比特的密文进行解密时,只有明文中相对应的比特会出错支持并行计算(加密、解密)推荐使用

参考:https://blog.51cto.com/professor/1794740

来自习题3

适合文件加密,而且有少量错误时不会造成同步失败,是软件加密的最好选择,这种分组密码的操作模式是指( )

答:OFB/输出反馈模式,CTR/计数器模式。

区别:

问哪个模式不会出错:

9. 身份识别的定义

又称实体鉴别,实体认证。即其中一方确信参与协议的第二方的身份的过程。目的在于识别用户的合法性。

对用户的身份认证基本方法分为:

基于信息秘密的身份认证
你所知道的信息来证明你的身份,比如用户密码。(你知道什么)

基于信任物体的身份认证
根据你所拥有的东西来证明你的身份(你有什么),比如短信验证码。

基于生物特征的身份认证
根据独一无二的身份特征来证明身份(你是谁),比如指纹、面貌。

10. 素数和合数的定义和特点,同余式

性质,欧拉函数的计算

素数: 指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。

合数: 指除了1和此整数自身外,还能被其他自然数整除的数。

同余式:

a mod n = b mod n => a = b mod n
在这里插入图片描述

欧拉函数:
在这里插入图片描述

11. 零知识证明的定义

它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。

证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。

12. 生日悖论的定义

生日悖论是指在不少于 23 个人中至少有两人生日相同的概率大于 50%。生日悖论的数学理论被应用于设计密码学攻击方法——生日攻击。生日悖论普遍的应用于检测哈希函数:N 位长度的哈希表可能发生碰撞测试次数不是 2N 次而是只有 2N/2

13. 雪崩效应的概念

雪崩效应,当输入发生微小改变,也会导致输出剧变。在高品质的分组密码中,无论密钥或明文的任何微变化都应当引起密文的剧烈变化。

14. 有限域上多项式加法和乘法

在这里插入图片描述
在这里插入图片描述

15. 迪菲赫尔曼密钥分配过程

在这里插入图片描述
在这里插入图片描述

16. RSA钥匙生成和加解密

既然重点有钥匙生成,关于公钥e和私钥d的生成,需要会算

在这里插入图片描述
在这里插入图片描述

tips: 如果题目没有给出公钥e和私钥d,首先你需要考虑e的选择,之后通过扩展欧几里得算法求出d。

【注意】:在选取e的时候,e与n的欧拉函数值是互素的;

17. 公钥加密体制的安全通信系统图

在这里插入图片描述

其他

  • 分组密码和流密码的差别是什么?

 答:分组密码将明文首先进行分组,然后每次对一个分组进行加密,其中分组长度取决于分组加密算法。流密码一次加密1bit或1Byte的明文

参考资料

[1]. 现代密码学(第4版).杨波.清华大学出版社