分组密码的模式
2016-02-28 22:50
295 查看
分组密码和流密码
密码算法可以分为分组密码和流密码两种。
分组密码(block cipher)是每次只能处理特定长度的一块数据的一类密码算法,这里的“一块”就称为分组(block)。此外,一个分组的比特数就称为分组长度(block length)。
例如,DES和三重DES的分组长度都是64比特。这些密码算法一次只能加密64比特的明文,并生成64比特的密文。AES的分组长度可以从128比特、192比特和256比特中进行选择。当选择128比特的分组长度时,AES一次可加密128比特的明文,并生成128比特的密文。
流密码(stream cipher)是对数据流进行连续处理的一类密码算法。流密码中一般以1比特、8比特或32比特等为单位进行加密和解密。
分组密码处理完一个分组就结束了,因此不需要通过内部状态来记录加密的进度;相对地,流密码是对一串数据流进行连续处理,因此需要保存内部状态。
什么是模式
分组密码算法只能加密固定长度的分组,但是我们需要加密的明文长度可能会超过分组密码的分组长度,这时就需要对分组密码算法进行迭代,以便将一段很长的明文全部加密。而迭代的方法就称为分组密码的模式(mode)。
模式有很多种类,分组密码的主要模式有以下5种:
ECB模式:Electronic CodeBook mode(电子密码本模式)
CBC模式:Cipher Block Chaining mode(密码分组链接模式)
CFB模式:Cipher FeedBack mode(密文反馈模式)
OFB模式:Output FeedBack mode(输出反馈模式)
CTR模式:CounTeR mode(计数器模式)
密码算法可以分为分组密码和流密码两种。
分组密码(block cipher)是每次只能处理特定长度的一块数据的一类密码算法,这里的“一块”就称为分组(block)。此外,一个分组的比特数就称为分组长度(block length)。
例如,DES和三重DES的分组长度都是64比特。这些密码算法一次只能加密64比特的明文,并生成64比特的密文。AES的分组长度可以从128比特、192比特和256比特中进行选择。当选择128比特的分组长度时,AES一次可加密128比特的明文,并生成128比特的密文。
流密码(stream cipher)是对数据流进行连续处理的一类密码算法。流密码中一般以1比特、8比特或32比特等为单位进行加密和解密。
分组密码处理完一个分组就结束了,因此不需要通过内部状态来记录加密的进度;相对地,流密码是对一串数据流进行连续处理,因此需要保存内部状态。
什么是模式
分组密码算法只能加密固定长度的分组,但是我们需要加密的明文长度可能会超过分组密码的分组长度,这时就需要对分组密码算法进行迭代,以便将一段很长的明文全部加密。而迭代的方法就称为分组密码的模式(mode)。
模式有很多种类,分组密码的主要模式有以下5种:
ECB模式:Electronic CodeBook mode(电子密码本模式)
CBC模式:Cipher Block Chaining mode(密码分组链接模式)
CFB模式:Cipher FeedBack mode(密文反馈模式)
OFB模式:Output FeedBack mode(输出反馈模式)
CTR模式:CounTeR mode(计数器模式)
相关文章推荐
- java学习(一)——环境的搭建与“Hellow World!”
- storage disk
- 排序算法6之堆排序
- 编程语言的语法和语义
- html - get the id of onclick(this), onfocus(this) or whatever(this)
- USACO Palindromic Squares 解题日志
- 写在前面
- Java反射机制的几点用法
- uva10020 - Minimal coverage(区间覆盖)
- 数据库逆向框架代码生成工具:MyBatis Generator的使用
- Linux内核及分析 第一周 计算机是如何工作的?
- Linux下搭建coreseek(sphinx+mmseg3)全文检索
- 21. Merge Two Sorted Lists
- UIView属性clipsTobounds的应用
- OA学习笔记-008-岗位管理Action层实现
- 使用JS实现RTMP协议直播(三)
- Toolbar使用方法
- HOJ-2056 Bookshelf(线性动态规划)
- ACM_模板_并查集
- HOJ-2056 Bookshelf(线性动态规划)