密码其目的为,通过加密数据为Alice发给Bob的消息提供了保密性。
电子密码本模式(ECB)
一种最直接的消息加密方式。若分组密码加密分组大小为b位,则如果长度超过b位时,消息将被分割为欸大小为b位的分组。如果消息长度不是b位的整数倍,则在加密前必须将其填充为b位的整数倍。
由于传输问题导致接收方没有收到所有的加密分组时,接收方还是可能解密已收到的分组。但ECB模式最大的问题在于它的加密是高度确定的(只要密钥不变,相同的明文分组总是产生相同的密文分组),即ECB模式可以看作是巨大的密码本,每个输入都映射到特定的输出。
ECB容易遭受流量攻击、容易遭受代换攻击、容易遭受统计分析攻击。
因此,人们期望每次加密相同的明文会得到不同的密文,这种行为叫做“概率加密”。人们可以引入一些随机化初始向量来实现概率加密。下面所有模式都使用初始向量来实现概率加密。
密码分组链接模式(CBC)
该操作模式主要思想有两种:
- 所有分组加密都链接在一起,使得密文yi不仅依赖于分组xi,而且还依赖于前面所有的明文分组。
加密过程使用初始向量进行了随机化。
- 加密(第一个分组) y1 = ek(x1 xor IV)
- 加密(一般分组) yi = ek(xi xor y{i-1}) i >= 2
- 解密(第一个分组) x1 = ek^-1(y1) xor IV
- 解密(一般分组) xi = ek^-1(ti) xor y{i-1} i >= 2