网络空间安全
CTF之Crypto——AES
CTF之Crypto——AES

CTF之Crypto——AES

对称加密算法

图解:

明文——>AES加密函数(密钥k)——>密文c——>AES加密函数(密钥k)——>明文

参考(AES):《现代密码学教程》

基本结构:

分组密码(以AES-128为标准)

将明文分成若干组,每组长度相等,依次加密,直至全部加密完成

AES标准规范:长度128位(比特),16字节(1字节8比特)


AES的16个字节形成状态矩阵,状态矩阵在一轮加密中按某种规则变化,经过一定轮数的加密,输出为密文


前16个字节为密钥

10轮内:

1~9轮:字节代换、行位移、列混合、轮密钥加

10轮:不进行列混合

在1轮前,先将明文和原始密钥进行一次异或加密操作


加解密为逆顺序

填充:

192bit 但以128bit为分组单位

128+64 第二块不足128bit 这时进行填充

填充三种模式:

1.Nopadding:不填充,但必须为16字节倍数

2.默认:明文少于128bit,在明文末尾补充相应数量的字符,且每一个字节等于缺少的字符数

如:{1,2,3,4,5,a,b,c,d,e}少6个字符

补全为:{1,2,3,4,5,a,b,c,d,e,6,6,6,6,6,6}

3.ISO10126Padding:少于16个字节,补充时,最后1个字节为缺少字符数,其他为随机字符

如:{1,2,3,4,5,a,b,c,d,e}

补全:{1,2,3,4,5,a,b,c,d,e,5,c,3,G,$,6}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注