《深入浅出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标准。

相关推荐
hetao17338371 分钟前
2026-08-27~29 hetao1733837 的刷题记录
c++·算法
一直C17 分钟前
Linux系统编程|进程间通信IPC全套详解(1)(管道、信号)
linux·c语言·开发语言·网络·青少年编程·visual studio code
Experience-摆渡17 分钟前
自建 IP 轮换方案实战:健康探测 + 熔断剔除 + 粘性会话
网络·网络协议·tcp/ip
云淡风轻~窗明几净19 分钟前
宇宙管理学猜想
算法·图论
春风解人意25 分钟前
从零开始学习嵌入式P28----线程
c语言·学习·算法
luj_176828 分钟前
合法避税与投资评估实战指南
c语言·开发语言·网络·经验分享·算法
库玛西34 分钟前
Linux网络编程:HTTP/HTTPS协议核心技术全解析
linux·运维·服务器·网络·c++·http·https
暴力求解1 小时前
Linux网络---NAT代理服务、内网穿透
linux·网络·智能路由器
2601_967659891 小时前
大学实训室网络仿真环境搭建:Ranplan 3D射线跟踪双版本技术解析
网络·3d
Bruce_Liuxiaowei1 小时前
驴滑块拼图游戏:从19世纪的纸片谜题到数学博弈论
人工智能·算法