《深入浅出HTTPS》读书笔记(13):块密码算法之迭代模式(续)

CTR模式

每次迭代运算的时候要生成一个密钥流(keystream)。

各个密钥流之间是有关系的,最简单的方式就是密钥流不断递增,所以才叫作计数器模式。

◎在处理迭代之前,先生成每个密钥流,有n个数据块,就有n个密钥流。根据第n个密钥流可以得到第n+1个密钥流,最简单的方式就是密钥流每次递增加一。

◎第一个密钥流的获取方式也很简单,就是生成一个随机值(Nonce),Nonce和IV可以等同理解,一个不容易推导出来的随机值。

填充标准

PKCS#7和PKCS#5标准,更确切地说是这两个标准中的填充机制标准。

zero字符填充模式最大的问题就是如果明文末尾本身就存在zero字符,解密后得到的明文就不是原始明文了。

PKCS#7填充标准

根据填充的字节数量进行对应的填充,如果填充的字节长度n是3,填充的值就是030303;如果n是5,那么填充的值就是0505050505,填充值最后一个字节代表的就是实际填充的长度。

PKCS#5和PKCS#7处理填充机制的方式其实是一样的,只是PKCS#5处理的分组长度只能是8字节,而PKCS#7处理的分组长度可以是1到255任意字节。

AES算法中分组长度没有8字节,所以AES算法使用PKCS#7标准。

相关推荐
半梦半醒*2 小时前
H3CNE综合实验之机器人
java·开发语言·网络
地平线开发者2 小时前
理想汽车智驾方案介绍专题 1 端到端+VLM 方案介绍
算法·自动驾驶
地平线开发者2 小时前
征程 6 | UCP 任务优先级/抢占简介与实操
算法·自动驾驶
杰克尼2 小时前
912. 排序数组
算法
FCM663 小时前
HCIA第三次综合实验:VLAN
网络·计算机网络
jndingxin3 小时前
OpenCV直线段检测算法类cv::line_descriptor::LSDDetector
人工智能·opencv·算法
逆羽飘扬3 小时前
【云原生网络】Istio基础篇
网络·云原生·istio
武汉唯众智创3 小时前
职业院校网络安全攻防对抗实训室解决方案
网络·安全·web安全·网络安全·攻防对抗·网络安全攻防对抗实训室·网络安全攻防对抗
小徐不徐说3 小时前
超详细讲解:TCP / UDP / HTTP / HTTPS 四种常见协议
c++·网络协议·tcp/ip·http·https·udp·网络编程
秋说3 小时前
【PTA数据结构 | C语言版】阶乘的递归实现
c语言·数据结构·算法