密码块链接( Cipher Block Chaining) 口若每个明文块被独立加 密,相同的明文块生成+1m=HTP/bcke0)=k3290M02 cipher 相同的密文块,容易被 重放攻击利用。 +17(=+TP1Tbck1c1=%3202 cipher 密码块链接(CBC) m 口发送方生成一个随机的初始向量 c(O),用明文发送给接收者 c(-1) 口每一个明文块加密前,先与前 密文块进行异或,然后再加密 block 口第一个明文块与c(O)异或 cipher 口相同的明文块几乎不可能得到相同 的密文块 C 8: Network Security 8-22
8: Network Security 8-22 密码块链接(Cipher Block Chaining) 若每个明文块被独立加 密,相同的明文块生成 相同的密文块,容易被 重放攻击利用。 t=1 m(1) = “HTTP/1.1” block cipher c(1) = “k329aM02” … 密码块链接(CBC): 发送方生成一个随机的初始向量 c(0),用明文发送给接收者 每一个明文块加密前,先与前一个 密文块进行异或,然后再加密: 第一个明文块与c(0)异或 相同的明文块几乎不可能得到相同 的密文块 + m(i) c(i) t=17 m(17) = “HTTP/1.1” block cipher c(17) = “k329aM02” block cipher c(i-1)
现代密码学:非对称加密 对称加密算法: 非对称加密算法: 口要求发送者和接收者口发送者和接收者不共 使用同一个密钥 密钥 存在密钥传递问题 口发送者使用加密密钥 接收者使用解密密钥 发送方选择了一个密钥 后,如何将密钥安全地不存在密钥传递问题: 传递给接收方? T加密密钥是公开的 口解密密钥是私有的 8: Network Security 8-23
8: Network Security 8-23 现代密码学:非对称加密 对称加密算法: 要求发送者和接收者 使用同一个密钥 存在密钥传递问题: 发送方选择了一个密钥 后,如何将密钥安全地 传递给接收方? 非对称加密算法: 发送者和接收者不共享 密钥 发送者使用加密密钥 接收者使用解密密钥 不存在密钥传递问题: 加密密钥是公开的 解密密钥是私有的
公开密钥算法的使用 口每个用户生成一对加密密钥和解密密钥: o加密密钥放在一个公开的文件中,解密密钥妥善保管 T当 Alice希望向Bob发送一个加密信息时: o Alice从公开的文件中查到Bob的加密密钥,用Bob的加 密密钥加密信息,发送给Bob Bob用自己的解密密钥解密信息、 公开密钥和私有密钥: o公开密钥:加密密钥,由发送者使用 o私有密钥:解密密钥,由接收者使用
公开密钥算法的使用 每个用户生成一对加密密钥和解密密钥: 加密密钥放在一个公开的文件中,解密密钥妥善保管 当Alice希望向Bob发送一个加密信息时: Alice从公开的文件中查到Bob的加密密钥,用Bob的加 密密钥加密信息,发送给Bob Bob用自己的解密密钥解密信息 公开密钥和私有密钥: 公开密钥:加密密钥,由发送者使用 私有密钥:解密密钥,由接收者使用
公开密钥算法的使用示例 ⊙≥KBob的公钥 ⊙K。B0b的私钥 明文m 加密算法 密文 解密算法 明文 K,(m) m=k k(m) 要求 KB(B m))=m 2)给定公钥K,不可能计算出私钥K B 8: Network Security 8-25
8: Network Security 8-25 公开密钥算法的使用示例 明文 m 密文 加密算法 解密算法 Bob的公钥 明文 K (m) B + K B + K Bob的私钥 B - m = K (K (m)) B + B - 给定公钥K , 不可能计算出私钥K B B 要求: 1 2 K (K (m)) = m B B - + + -
公开密钥算法应满足的条件 口从计算上说, o生成一对加密密钥和解密密钥是容易的 o已知加密密钥,从明文计算出密文是容易的 o已知解密密钥,从密文计算出明文是容易的 o从加密密钥推出解密密钥是不可能的 o从加密密钥和密文计算出原始明文是不可能的
公开密钥算法应满足的条件 从计算上说, 生成一对加密密钥和解密密钥是容易的 已知加密密钥,从明文计算出密文是容易的 已知解密密钥,从密文计算出明文是容易的 从加密密钥推出解密密钥是不可能的 从加密密钥和密文计算出原始明文是不可能的