分组加密模式:ECB/CBC/OFB/CTR/CFB/

【分组密码的工作模式】|分组密码 | 密码学 | 信息安全 | ECB | CBC | CFB| OF B| CTR|_哔哩哔哩_bilibili

ECB

c_i = E(K, m_i)
\ \ \ \ \ \ --- K 密钥
\ \ \ \ \ \ --- c_i 密文分组
\ \ \ \ \ \ --- m_i 明文分组

  • 优点:可并行加密。
  • 缺点:不具备完整保护性,而且相同明文具有相同密文。

CBC


上一个密文的输出,会异或上当前的明文分组再做加密
c_i = E(K, m_i \oplus c_{i-1})
\ \ \ \ \ \ --- K 密钥
\ \ \ \ \ \ --- c_i 密文分组 (c_0 即 IV)
\ \ \ \ \ \ --- m_i 明文分组

  • 优点:具备数据完整性保护。混淆具有扩散效果。提高了安全性。
  • 缺点: 错误会传播,(加密)不适合并行处理。

IV值的注意事项

固定IV

不要使用固定IV。 对于CBC加密数据的第一个块,会引入 ECB的问题。实际传输中,很多消息会有相似或相同的首个分组。

计数器IV

有问题。 两个计数值只有少量,比如1个比特不同时(计数值汉明距离较小),那么不同的两个消息有概率碰巧产生相同的首个密文分组。例:不同的两个消息的第一个块的差异较小,且刚好差异处 和 计数值的差异比特位置一样,异或以后刚好抵消差异,那么将会生成相同的首个密文分组
虽然可能性比较小,但是 我们不能让攻击者察觉到这个,利用这个来推导出明文直接的差异

随机IV

随机IV方案 可以采用。但是 采用的随机IV 必须让 接收者知道。 标准的做法:将随机IV作为第一个块,附加到 CBC密文消息的前头。

这也是随机值IV的缺点: 当消息长度很短的时候,却要花费一个分组长度的代价来传递IV值。

瞬时IV

瞬时值 nonce : number used once
对于同一密钥,瞬时值不能使用第二次。瞬时值 通常是 消息的某种编号,可能还结合上其他信息构造而成。

  • 瞬时IV的方案 分两步骤:①获得瞬时IV ②加密瞬时IV,得到IV值。之所以加密,是考虑到 攻击者可能完全掌握瞬时值的生成。
  • IV值同样 也必须让 接收者能取得,那可能需要给密文添加额外信息,让接收者至少能恢复瞬时值。 不需要把整个IV值给过去,比如在密文开头也给出消息编号,或者利用一些别的隐含信息,使得接收者可以恢复Nonce,以至加密瞬时值得到同样的IV值
  • 大多数系统而言,一般32~48bit的消息编号长度足够大了。开销远小于一个块长度。甚至如果系统本身就有消息计数器,或者传输利用的是隐含计数器的可靠信道,可以做到没有任何额外开销

OFB


c_i = m_i \oplus K_{i}
\ \ \ \ \ \ >>> K_0 = IV
\ \ \ \ \ \ >>> K_i = E(K_{i-1},K_i)
\ \ \ \ \ \ --- m_i 明文分组
\ \ \ \ \ \ --- c_i 密文分组

CTR


c_i = m_i \oplus K_{i}
\ \ \ \ \ \ >>> K_i = E(K, nounce || i )
\ \ \ \ \ \ --- m_i 明文分组
\ \ \ \ \ \ --- c_i 密文分组

CFB


加密算法的输入是 前一个密文块(首个是IV)。明文本身不被加密而是与加密器的输出做异或。

若 s = 128,(对于AES就是 blocksize)那就是分组模式。
c_i = m_i \oplus E(K, c_{i-1}) --- c_0 即 IV

若 s 小于 blocksize,比如s = 8,那么 每次异或的是 s比特
CS_{i} = MS_{i} \oplus [ E(K, SHIFT_{i} ) 加密输出截取最前头的s比特 ]
\ \ \ \ \ \ >>> SHIFT_{i} = ( SHIFT_{i-1} << s ) \oplus CS_{i-1}
\ \ \ \ \ \ >>> SHIFT_{1} = IV
\ \ \ \ \ \ --- CS_{i} 密文分片 , s比特大小
\ \ \ \ \ \ --- MS_i 明文分片, s比特大小

加密算法的输入位数是 b (block size),数据是 移位寄存器 SHIFT
异或的 位数 就是 分片单位 s 比特。
SHIFT_{i} = ( SHIFT_{i-1} << s ) \oplus CS_{i-1}表示移位寄存器的高s比特被顶出丢弃,尾部拼接入异或器的输出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容