当前位置:网站首页>《现代密码学》学习笔记——第三章 分组密码 [三]分组密码的运行模式
《现代密码学》学习笔记——第三章 分组密码 [三]分组密码的运行模式
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)适合大于一个分组长度的长数据加密。
边栏推荐
猜你喜欢
深入理解线程、进程、多线程、线程池
05-Nodejs中的模块加载机制
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
Laravel5.7反序列化
海外媒体发稿,要考虑到不同的民族文化特点
Error in render: “TypeError: Cannot read properties of undefined (reading ‘kingKongList‘)“
uniapp中设置tabBar及其窗口标题
C - file operations fseek () function, ftell, rewind, rounding
Koa的使用,搭建本地服务器(必会技能)
电脑推荐软件
随机推荐
Markdown 常用到的一些编写技巧
LeetCode43.字符串相乘 (大数相乘可用此方法)
C language - program compilation and execution, detailed macro definition
第5章 循环和关系表达式
C language version - advanced address book (file version)
函数怎么用
事件绑定触发
BoredApeYachtClub 无聊猿-NFT 源码解析第一节
C语言学习记录--变量基本类型和内存大小
05-JS中的BOM和DOM
山西省公安厅交管局发布雨天安全出行提示
CSDN 社区内容创作规范
Install different versions of MinGW (g++/gcc) and the configuration of the corresponding clion editor under Win
C language file operation - detailed explanation of data file type, file judgment, and file buffer
分布式日志存储架构设计方案
Some writing skills commonly used in Markdown
How to open archives in administrator mode
Visual Studio上一些Error的解决方案
第9章 内存模型和名称空间
引用变量赋值