我试图用控制台上的openssl进行加密以匹配另一个AES实现生成的输出。所有细节都是已知的。我在128位CBC模式下使用AES。奇怪的是,无论文件大小如何,输出都会增大16个字节。我认为openssl正在追加某种填充。openssl AES加密将字节块大小添加到输出
在其他实现的方向上,它不是什么大问题,因为我可以放弃最后的16个字节,但另一方面是因为我无法发明openssl可能检查有效性的字节。
我该如何告诉openssl不要这样做?
命令行:
openssl enc -aes-128-cbc -K <pre-shared key in hex> -in rawfile.bin -out encfile.enc -iv <pre-shared IV in hex>
是否可以包含IV? (在这种情况下,它们可能会在开始时插入,而不是结束) – sehe 2011-05-25 15:43:19
不太可能。 05 15是1d 9a fb 4c 54 a2 03 90 97 3f 58 28 d8是被加密的0字节文件的十六进制转储,与用同一个IV加密的32字节文件的第一行或最后一行不匹配。我希望它匹配。不排除它最后对IV进行加密,但那是行不通的。我认为它正在加密可能包含文件长度的各种填充。难以比较,因为它是cbc。 – dascandy 2011-05-25 15:44:40