文件AES加解密

时间:2021-05-10 18:32:04
问题: 使用 aes-128-cfb 加密文件后后,解密失败
过程 发现加密和解密时,读文件时,读取的数据量不一样,加密时加密的数据是1024个字节,解密时则是10240个字节,原本以为相同的明文块(128位)加密后,会生成相同的密文块,就做了如下实验: 明文 111111111111111122222222222222221111111111111111 密文 95 168 189 74 63 60 187 59 29 81 211 247 106 36 38 181 169 229 154 3 71 104 200 29 166 46 51 86 9 108 154 239217 49 110 132 135 55 177 207 10 107 182 215 115 255 243 57 通过观察发现: 前16个1加密后的密文为 95 168 189 74 63 60 187 59 29 81 211 247 106 36 38 181 后16个1加密后的密文为 217 49 110 132 135 55 177 207 10 107 182 215 115 255 243 57
结论:相同明文块(128位)经过加密后,生成了不同的密文。

CFB 加密模式

文件AES加解密

如上图所示,在CFB加密模式,密文块0作为加密第二个明文块1过程中的IV,所以第一个明文块1和第二个明文块1加密后产生了不同的密文快。 所以解密文件的时候读取的字符数量和加密时候读取的字符数量不一致会导致解密失败。 AES中的CFB加密模式加密的密文和明文等长。