当前位置:网站首页>《现代密码学》学习笔记——第三章 分组密码 [三]分组密码的运行模式
《现代密码学》学习笔记——第三章 分组密码 [三]分组密码的运行模式
2022-08-11 05:19:00 【Unicorn_snow】
1.分组密码的运行模式
分组密码在加密时,明文的分组长度是固定的,而实际应用中待加密消息的数据量是不定的,数据格式多种多样。
(1)为了能在各种应用场合使用DES,美国在FIPS PUS 74和81中定义了DES的4种运行模式:
ECB,CBC,CFB,OFB;(长消息加密的推荐模式)
(2)FIPS PUB 140-2 推荐了AES的另外一种运行模式:CTR(短消息加密的推荐模式)。
2.ECB模式的特点
(1)将长消息分块,若最后一个分块不足分组长度,则需要填充;
(2)加密过程和解密过程分别调用加密算法和解密算法;
(3)存在密文扩展(明文填充带来的扩展);
(4)密文块分别独立解密,无顺序要求;(很好的优点)
(5)不存在错误传播;
(6)适合一个分组长度的短数据加密。(缺点)
3.CBC模式的特点
(1)将长消息分块,若最后一个分块不足分组长度,则需要填充;
(2)加密和解密过程分别调用加密算法和解密算法;
(3)存在密文扩展(明文填充带来的扩展和IV传输的扩展);(IV长度一般与分组长度相同)
(4)密文块需按顺序逐一解密;
(5)存在错误传播(只传播下一块密文);
(6)适合大于一个分组长度的长数据加密。

4.CFB模式的特点
(1)消息作为比特流进行加密,无须分组填充;标准允许反馈任意比特 (1,8 or 64 or whatever,前几种分别记作 CFB-1, CFB-8, CFB-64);
(2)加密和解密过程只调用加密算法;
(3)存在密文扩展(IV传输的扩展);
(4)密文块需按顺序逐一解密;
(5)存在错误传播(只传播后面的几块);
(6)适合大于一个分组长度的长数据加密。

5.计数器模式
(1)消息作为比特流进行加密,无须分组填充;
(2)加密和解密过程只调用加密算法;(与CFB同理)
(3)存在密文扩展(IV传输的扩展);
(4)密文块分别独立解密,无顺序要求(可以进行并行计算);
(5)不存在错误传播;
(6)适合大于一个分组长度的长数据加密。

边栏推荐
猜你喜欢
随机推荐
C language learning record--variable basic type and memory size
第9章 内存模型和名称空间
leetcode21. Merge two ordered linked lists
php反序列化pop链
Dos命令
数组:一个存取数字的魔盒
Win下安装不同版本的MinGW(g++/gcc)以及对应clion编辑器的配置
Install different versions of MinGW (g++/gcc) and the configuration of the corresponding clion editor under Win
C语言动态内存分配(1)三种函数讲解
怎么用管理员方式打开压缩包
C语言版通讯录——动态存储(进阶版)
扩展运算符和剩余参数rest
BoredApeYachtClub 无聊猿-NFT 源码解析第一节
05-JS中的BOM和DOM
QT QLabel控件(使用详解)
动态表单配置select
c 指针学习(1)
海内外媒体宣发,关键词优化
Chapter 13 Class Inheritance-1
代币标准--ERC20协议源码解析