本期介绍随机数在密码学中生成初始向量IV的用法。
对称加密算法在密码学中占有重要地位,很多嵌入式设备传输加密和网络数据加密都采用对称加密算法。3DES/AES作为应用广泛的对称加密算法,已经被大家所熟知,但很多人并不知道这些算法还分有多种加密模式。以AES为例,AES算法有五种加密模式(本文暂不展开说明这五种模式原理),其中CBC/CFB/OFB三种模式都需要初始向量IV的参与。以CBC为例,该模式的优点是很好的隐藏了明文信息结构,且分组数据各级之间有嵌套关联。该模式的第一个明文数据块需要与初始向量IV进行异或操作,此处的IV可以是固定值,也可以是随机值,但大多数开发者或协议规范都选择使用随机IV,因为在明文固定的前提下,随机IV会让第一个明文数据块变为随机变量,进而使得后续运算产生的各个密文快都是随机变化的。每次加密前产生随机IV,则对于同一数据,每次加密的密文都是随机变化的。这样就使得**难度和**成本大大增加,很好的增加了数据安全强度。 |