读书笔记3:对称密码(信息安全原理与实践)

对称密码主要有两种技术:流密码加密和分组密码加密
(一)流密码加密
利用密钥产生一个密钥流Z=Z1Z2Z3…,然后利用此密钥流依次对明文X=X0X1X2…进行加密,这样产生的密码就是序列密码,也称流密码。序列密码方案的发展是模仿“一次一密”系统的尝试。
1.A5/1算法
基于硬件实现的流密码加密方案(基于3个线性反馈移位寄存器)
2.RC4算法
基于软件实现
(二)分组密码加密
分组密码(block cipher)的数学模型是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列
1.Feistel密码
2.DES算法
密钥长度为64位,但是实际长度为56位,攻击成本大约为2^55个密钥的尝试。脆弱之处仅仅在于密钥太短,没有其他捷径攻击方式。
3.双重DES算法
使用DES算法加密两次,密钥长度为112位
即C=E(E(P,K1),K2)
但是存在中间人攻击,在选择明文攻击的情况下,攻击者可以猜测K1,K2,分别用K1加密原文,用K2解密密文,再进行碰撞攻击,总体攻击成本大约为2*(2^55)个密钥的尝试,若攻击次数较多,在均摊的情况下,攻击成本大约为2 ^55个密钥的尝试,也就是说双重DES的脆弱性几乎和DES一样
4.三重DES算法
密钥长度和2DES一样为112位,即两个DES算法的密钥,加密模式为:加密-解密-加密
即C=E(D(E(P,K1),K2),K1)
5.AES
分组大小为128位,密钥长度可选129,192,256
6.IDEA
7.Blowfish
8.RC6
9.TEA
(三)分组密码加密模式
指的是使用分组密码算法时的加密方式
1.ECB,电子密码本模式(electronic codebook mode)
Ci=E(Pi,K),其中i=0,1,2,3…
ECB有明显的缺陷,每一个分组的加密都是独立的,如果两个分组的明文内容相同,则加密后的密文内容也相同,图片加密案例
2.CBC,链加密模式(cipher block chaining)
Ci=E(Pi⊕C(i-1),K)其中i=0,1,2,3…
需要加入初始化向量IV
P0=E(C0,K)⊕IV
3.CTR,计数器模式(counter mode)
Ci=Pi⊕E(IV+i,k)
(四)完整性保护
1.消息认证码MAC(message authentication code)
可以使用CBC加密模式的最后一个加密分组作为消息认证码

你可能感兴趣的:(读书笔记)