I would like to encrypt a file using AES (rijndael 128) with the mcrypt command line tool. I would like to set the initialization vector to a specific value. How can I do this?
I am pretty new to encryption, btw.
Thanks!
I would like to encrypt a file using AES (rijndael 128) with the mcrypt command line tool. I would like to set the initialization vector to a specific value. How can I do this?
I am pretty new to encryption, btw.
Thanks!
Apparently there is no way to specify the IV with the command-line tool, except by using the --noiv
flag which sets the IV to a bunch of zeros. From the source code of mcrypt, file src/classic.c, line 142:
IV = _secure_mcrypt_malloc(mcrypt_enc_get_iv_size(td));
if (noiv==FALSE)
mcrypt_randomize( IV, mcrypt_enc_get_iv_size(td), real_random_flag);
else
memset( IV, 0, mcrypt_enc_get_iv_size(td));
So the code makes it clear that you either get a random IV or the zeros.
You could patch mcrypt, though. Source code is provided, this is free software. The code snippet I show above is precisely the place where you would like to patch.