分组密码的模式
——分组密码是如何迭代的
简介
前面介绍的DES和AES都属于分组密码,它们只能加密固定长度的明文,如果需要加密任意长度的明文,就需要对分组密码进行迭代,而分组密码进行迭代,而分组密码的迭代方法就被称为分组密码的“模式”。
分组密码有很多种模式,如果模式的选择不恰当,就无法充分保证机密性。
主要介绍分组密码与流密码,然后逐一介绍主要的分组密码的模式,最后再来考察一下到底应该使用哪种模式。
分组密码与流密码
密码算法可以分为分组密码与流密码。
分组密码 是每次只能处理特定长度的一块数据的一类密码算法,这里的“一块”就称为分组 。此外,一个分组的比特数就称为分组长度 。
例如
DES和三重DES的分组长度都是64比特。这些密码算法一次只能加密64比特的明文,并生成64比特的密文。
AES的分组长度为128比特,因此AES一次可加密128比特的明文,并生成128比特的密文。
流密码 是对数据流进行连续处理的一类密码算法。流密码汇总各一般以1比特、8比特或32比特等为单位进行加密和解密。
分组密码处理完一个分组就结束了,因此不需要通过内部状态来记录加密的进度;相对地,流密码是对一串数据流进行连续处理,因此需要保持内部状态,例如,一次性密码本就属于流密码。
模式
分组密码主要分组模式主要有以下5种。
- ECB 模式:Electronic CodeBook mode(电子密码本模式)
- CBC 模式:Cipher Block Chaining mode(密码分组链接模式)
- CFB 模式: Cipher FeedBack mode(密文反馈模式)
- OFB 模式: Output FeedBack mode (输出反馈模式)
- CTR 模式: CounTeR mode(计算器模式)
术语
明文分组是指分组密码算法中作为加密对象的明文。明文分组的长度与分组密码算法的分组长度是相等的。
密文分组是指使用分组密码算法将明文分组加密之后生成的密文。
主动攻击者Mallory
新增一个主动攻击者mallory(恶意的)。
该系列的主要内容来自《图解密码技术第三版》
我只是知识的搬运工
文章中的插图来源于原著
网友评论