4.1 Message Integrity

文章目录

    • 序:
    • 4.1.1 Secrecy VS. Integrity
    • 4.1.2 Encryption vs. Message Authentication
      • Encryption using stream ciphers
      • Encryption using block ciphers
    • 补充:分组密码和流密码

序:

 Chapter 3 讲的是如何在open communication channel上安全通信,本章讲的是如何使用MAC检测message是否被篡改。

4.1.1 Secrecy VS. Integrity

 重点理解:Secrecy != Integrity

4.1.2 Encryption vs. Message Authentication

 大多数人存在一个普遍的误区:加密算法能够解决消息完整性问题。这就是把EncryptionMessage Authentication混为一谈,实际上加密并不能够保证消息的完整性,也不能实现消息验证,除非是有特定的需要(4.5节会有介绍)。

Encryption using stream ciphers

 考虑一种简单的加密方案,加密算法 E n c k ( m ) Enc_k(m) Enck(m)计算密文 c : = G ( k ) ⊕ m c:=G(k)\oplus m c:=G(k)m,这种情况下,敌手翻转密文中的第 i i i位,明文中的第 i i i也会相应的得到翻转。

Encryption using block ciphers

 对于上面提到篡改密文的方法也可用在上章 O F B − OFB- OFB C T R − CTR- CTR操作模式中,这两种操作模式的密文也是通过异或操作得到。
 而 E C B − ECB- ECB C B C − CBC- CBC操作模式的密文 F k ( ) F_k() Fk()计算,其中 F k ( ) F_k() Fk()Pseudorandom Permutation 或者 Strong Pseudorandom Permutation,显而易见求解明文需要计算 F k − 1 ( c ) F_k^{-1}(c) Fk1(c)。设 c ′ c^{'} c c c c仅有1 bit的不同,但 F k − 1 ( c ) F_k^{-1}(c) Fk1(c) F k − 1 ( c ′ ) F_k^{-1}(c^{'}) Fk1(c)可能完全不同。
 例如,对于 E C B − ECB- ECB操作模式来说,篡改第 i i i个blcok的密文仅会对第 i i i个block的明文;另外对于 E C B − ECB- ECB操作模式,敌手还可以通过改变block的顺序来达到篡改message的目的。对于 C B C − CBC- CBC操作模式,修改初始化向量 I V IV IV的第 j j j位仅会影响 m 1 m_1 m1的第 j j j位。

补充:分组密码和流密码

分组密码 流密码
区别 处理的单元是确定大小的分组 以一个元素作为处理单元

你可能感兴趣的:(密码学)