我正在测试C中的一些 AES 实现,从here获取它,编译并测试它,加密和解密工作正常。
在site,它说:
此实现加密128位块。
还
这些程序仅用于演示目的,因为使用密码作为密钥的有效密钥长度比传递给Rijndael加密软件包的256位密钥短得多。
所以,我正在尝试测试它们并与 openssl 进行交互,所以如果我用我编译的代码加密任何东西,它可以用open-ssl解密,反之亦然。
我尝试使用openssl aes-128-cbc -in attack-plan.txt -out message.enc
进行加密,openssl aes-128-cbc -d -in message.enc -out plain-text.txt
进行解密,这些方法实际上来自here。还尝试使用 128-ecb
但未获得结果。
当我尝试使用openssl解密使用已编译代码加密的文件时,我输入了密码,它会给出 bad magic number 错误。当我尝试使用我编译的代码解密openssl加密文件时,我没有得到正确的解密输出。
我真的需要在C中使用任何的AES实现,并将其与openssl进行比较并使其在一起运行良好。