分组密码
一、分组密码的模式
分组密码:是每次只能处理特定长度的一块数据的一类算法,这里的"一块"就称为分组。此外,一个分组的比特数就称为比特长度;DES和3DES分组长度都是64比特,AES的分组长度是128比特。
流密码:对数据流进行连续处理的一类密码算法。流密码中一般以1比特,8比特或32比特等为单位进行加密与解密。
模式:分组密码算法只能加密固定长度的分组,但是我们需要加密的明文长度可能会超过分组密码的分组长度,这时就需要对分组密码算法进行迭代,以便将一段很长的明文全部加密。而迭代的方法就称为模式。
模式有很多种,分组密码的主要模式有以下5种
ECB模式:Electronic CodeBook mode(电子密码本模式)
CBC模式:Cipher Block Chaining Mode(密码分组链接模式)
CFB模式:Cipher FeeBack Mode(密文反馈模式)
OFB模式:Output FeeBack Mode(输出反馈模式)
CTR模式:CounTeR mode(计数器模式)
在详细介绍模式之前,我们先学习几个术语
明文分组:是指分组密码算法中做为加密对象的明文。明文分组的长度与分组密码的分组长度是相等的。
密文分组:是指使用分组密码算法将明文分组加密之后所生成的密文。