我在尝试使用 Open SSL 解密文件时遇到问题。我有一个名为的文件,fc382Crypto.bin
由我的导师提供,我需要使用 CBC 模式的 blowfish 算法对其进行解密。
这是我用来解密文件的命令:
openssl enc -aes-128-cbc -d -in fc382Crypto.bin -out decrypted_output.txt -K 112233445566778899 -iv 0000000000000000
但是,我不断收到以下错误:
hex string is too short, padding with zero bytes to length
hex string is too short, padding with zero bytes to length
bad decrypt
我尝试通过添加选项来调整命令-nopad
,但问题仍然存在。我还验证了文件的完整性,fc382Crypto.bin
以确保它没有被损坏。
我的导师提供的加密设置如下:
Algorithm: Blowfish
Mode: CBC
Key: 112233445566778899
IV: 0
我不确定为什么会遇到此错误或如何解决它。有人可以提供如何使用 OpenSSL 正确解密此文件的指导吗?
答案1
我不确定为什么会遇到这个错误或者如何解决它。
您使用的是 128 位加密算法。因此,您的加密密钥和初始化向量 (IV) 需要为 128 位长。
钥匙:0x00000000000000112233445566778899
四: 0x00000000000000000000000000000000
AES-128 加密方法表示媒体片段已使用高级加密标准 (AES) [AES_128] 和 128 位密钥、密码块链接 (CBC) 和公钥加密标准 #7 (PKCS7) 填充 [RFC5652] 完全加密。CBC 在每个片段边界上重新启动,使用初始化向量 (IV) 属性值或媒体序列号作为 IV;请参阅第 5.2 节。
四
该值是一个十六进制序列,指定与密钥一起使用的 128 位无符号整数初始化向量。使用 IV 属性要求兼容版本号为 2 或更高。有关何时使用 IV 属性,请参阅第 5.2 节。