密码学复习

1 背景

明天就要进行密码学课程的考试了,所以就简单总结一下知识点,供自己复习之用,大神勿喷嘻嘻(#^.^#)

2 古典密码

2.2 置换密码

类似于 DES 的 E 盒扩展置换和 P 盒置换。

2.3 代换密码

密码类别 密钥空间
移位密码 25
乘法密码 11(gcd(n, k)=1)
仿射密码 311(12×26-1=311)
Playfair 25!
Vigenere 26**m(k=k1k2k3…km)
Hill 具体看矩阵

2.4 安全性分析

统计分析法 明文-密文对分析法
单表代换(爆破) Hill密码的矩阵
多表代换(卡西斯基和重合指数确定密钥长度,拟重合指数确定密钥内容)

3 分组密码

3.1 DES

基本步骤

  • 初始置换和初始逆置换
  • F 函数包含 E 盒扩展置换、密钥加、S 盒代换和 P 盒置换
  • 子密钥生成

安全性分析

对 DES 的 S 盒、迭代次数、密钥长度等设计准则的争议
DES 存在一些弱密钥和半弱密钥
DES 的 56 位密钥无法抵抗穷举攻击
代数结构存在互补对称性

3.2 AES

基本步骤

字节代换、行移位、列混合、轮密钥加

AES加解密

安全性分析

  • 差分攻击
  • 线性攻击

3.3 IDEA

128 位密钥加密 64 位明文

3.4 工作模式

  • 电子密码本模式(ECB)
  • 密码分组链接模式(CBC)
  • 密码反馈模式(CFB)
  • 输出反馈模式(OFB)
  • 计数器模式(CTR)

3.5 具体分析

电子密码本模式(ECB)具有良好的差错控制。实际上,每一个分组可被看成是用同一个密钥加密的单独消息。密文中数据出了错,解密时,会使得相对应的整个明文分组解密错误,但它不会影响其他密文块解密。然而,如果密文中偶尔丢失或添加一些数据位,那么整个密文序列将不能正确解密,除非有某种帧结构能够重新排列分组的边界。

电子密码本模式(ECB)

使用 CBC 时,虽然明文分组中发生错误将影响对应的密文分组以及其后的所有密文分组。但是由于解密将反转这种影响,最后得到的明文也仍然只有那一个分组有错误。因而,CBC 没有明文错误扩散。
密文错误相对复杂一点。由于信道噪声或存储介质损坏的存在,接收方得到的密文常常会有一些错误。在 CBC 中,密文中一个分组发生错误将影响对应解密明文分组和其后的一个解密明文分组。随后的那个分组在解密后在同样的比特位上有错误,但是,再之后的分组将不受影响。因而,CBC 的密文错误扩散是很小的。

密码分组链接模式(CBC)

同 CBC 一样在 CFB 中,明文的一个错误就好影响所有后面的密文但解密的明文只有一个分组错误。密文出现错误更有意思。首先,密文里单独 1 位的错误会引起解密后对应明文的一位错误;其次,错误进入移位寄存器,将导致加密输出错误,直到该错误从寄存器的另一端移出。在 8 比特 CFB 中,如果使用 DES 算法,密文中 1 比特的错误会使解密后明文产生 9 字节的错误,之后,系统恢复正常,后面的密文被重新正确解密。

密码反馈模式(CFB)

OFB 的一个优点是传输过程中密文在某位上发生的错误不会影响解密后明文其他位。比如,C1中有 1 位发生了错误,只会影响到 P1 的恢复,后续的明文单元不受影响。
但是 OFB 中,失去同步将是致命的。如果加密端和解密端移位寄存器不同步,那么恢复的明文将是一些无用的杂乱数据,任何 OFB 的系统必须有检测失步的机制,并用新的(或同一个)IV填充双方移位寄存器重新获得同步。

输出反馈模式(OFB)

CTR 只要求实现加密而不要求实现解密

计数器模式(CTR)

4 序列密码

LFSR、周期、游程、本原多项式、m序列

5 哈希函数

5.1 MD5

基本步骤

附加填充位、初始化链接变量、分组处理、步函数

注:在明文(二进制序列)的后面填充一个1和若干个0使得消息的长度模512与448同余。若原来的明文长度大于模512大于448,则填充的下一个512分组。例如原来的消息长度为500,则填充之后的长度为512+448。最后的64位存放消息的长度,不够的在后面补0直到64位为止。

5.2 SHA1

安全性分析

Hash函数攻击

6 公钥密码

6.1 RSA

基本步骤

RSA算法

安全性分析

  • 二次筛法
  • 数域筛法
  • 共模攻击
  • 低指数攻击
  • 重复加密攻击

6.2 ElGamal

基本步骤

ElGamal加解密

7 数字签名

  • RSA
  • ElGamal

7.1 RSA

RSA签名使用Hash函数

RSA实现数字签名

7.2 ElGamal

ElGamal签名使用Hash函数

ElGamal实现数字签名


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以邮件至 xingshuaikun@163.com。

×

喜欢就点赞,疼爱就打赏