分组加密模式
分组加密模式
常见模式
ECB模式

CBC模式

CFB模式

OFB模式

CTR模式

XTS模式
α与结果模乘

分组加密填充方式
共有pkcs5/pkcs7/ISO10126填充/ANSIX923填充/Zeros填充
pkcs5 是pkcs7的子集,专门用于填充8字节的或者8的倍数,pkcs7可以填充字节为多个字节
pkcs7
比如字节长度为10:
例子1、如果当前的数据为8,那么需要填充2个字节,填充字节为0x02,0x02,
例子2、如果当前数据为3,那么需要填充7个字节,填充的字节为0x07,0x07,0x07,0x07,0x07,0x07,0x07
例子3、如果当前数据为10,那么再填充10个字节,填充字节为
0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A
解析的时候,就是判断后续是否有连续一样的值,并且值和长度相等。
pkcs5
只是限制了长度,如果为8或者16,和pkcs7一样。
ISO10126
最后一位标识补位位数n,之前补位n-1个随机值
比如说字节长度为10:
例子1:当前长度为7,那么需要填充3个字节,最后一个字节为0x03,前面两个是随机数,如下填充:0x01,0xff, 0x03
ANSIX923
填充最后一个字节为长度,其余的为0
比如说字节长度为10:
例子1:当前数据为4,需要填充6个字节,那么最后一个字节为0x06,其余5个字节为0,填充如下:
0x00,0x00,0x00,0x00,0x00,0x06
zeros填充
不够用0填充
比如说字节长度为10:
例子1:当前长度为6,那么需要填充4个字节,填充字节为0x00:
0x00,0x00,0x00,0x00

浙公网安备 33010602011771号