0

I am trying to encrypt a text file with opensslusing aes-128-cbc encryption and I was wondering if there was a way I could encrypt it only using the key and not the iv?

Everytime I try to run:

openssl enc -aes-128-cbc -e -in dummy_file.txt -out dummy.aes-128-cbc.bin -K 00112233445566778889aabbccddeeff

I get the error saying iv undefined and the encrypted file it generates is empty and it is not even a binary file.

4

1 回答 1

6

不,这是不可能的,CBC需要静脉注射。但是,您可以将 IV 设置为全零。由于 IV 在加密之前与第一个明文块进行了异或运算,因此这归结为根本没有 IV:您将直接使用分组密码对第一个明文块进行加密。

请注意,使用相同的密钥和 IV 创建多个密文不会产生安全密码。对于 CBC,它需要有一个随机的(或至少不可预测的)IV。否则,攻击者至少可以看到哪个明文以相同的数据块开头。

对于 AES,IV 始终由 16 个字节组成,归结为 32 个十六进制零,当然-iv对于openssl.

于 2017-10-13T14:09:43.250 回答