网络信息安全:分组交换密码
BLOCK CIPHER
分组密码
工作方式
重点
diffusion(扩散):目的是让明文中的单个数字影响密文中的多个数组,从而使明文的统计特征在密文中消失,相当于明文的统计结构被扩散。
confusion(混淆): 目的是让**与密文的统计信息之间的关系变得复杂,从而通过增加统计方法进行攻击的难度
CBC 密文分组链接模式
加密输入时当前明文分组和前一密文分组的异或,形成一条链,使用相同的**,这样每个明文分组的加密函数输入与明文分组之间没有固定的关系(先异或再加密)
计算初始值Initial Value(IV)的方法
CBC的优点和局限:
加密:
解密:
加密时,明文中的微小改变会导致其后的全部密文块发生改变,而在解密时,从两个邻接的密文块中即可得到一个明文块,因此在解密过程中可以被并行化,而解密时,密文中一位的改变只会导致其对应的明文块完全改变和下一个明文块中对应为发生改变,不会影响其他明文的内容
CFB 密码反馈模式
加密函数的输入是一个64位的寄存器,产生初始向量IV。加密函数高端j位与明文P1的第一单元异或,产生j位密文C1进入移位寄存器低端,继续加密,与P2输入异或,如此重复知道所有明文单元都完成加密(先加密再异或)
优缺点
优点
缺点
与CBC相似,明文的改变会影响接下来所有的密文,因此加密过程不能并行化;而同样的,与CBC类似,解密过程时可以并行化的,在解密时,密文中一位数据的改变仅会影响两个明文块,对应明文块中的数据与下一块中全部的数据,而之后的数据将恢复正常
OFB
与CFB类似,但是OFB中加密函数输出被反馈回移位寄存器,CFB中是密文单元被反馈回移位寄存器
优点
传输中的比特差错不会传播
缺点
比CFB更容易受报文流篡改攻击
IV
IV通常不需要保密,但是在大多数情况中,不应当在使用同一**的情乱下两次使用同一个IV。对于CBC和OFB,重用IV会导致泄露明文某个块的某些信息,亦包括两个不同消息中相同的前缀。对于OFB和CTR而言,重用IV会导致完全失去安全性。