Mcrypt для rijndael-128 :как мне задать вектор инициализации?
Вопрос
Я хотел бы зашифровать файл с помощью AES (rijndael 128) с помощью инструмента командной строки mcrypt.Я хотел бы установить вектору инициализации определенное значение.Как я могу это сделать?
Кстати, я довольно новичок в шифровании.
Спасибо!
Решение
По-видимому, нет способа указать IV с помощью инструмента командной строки, кроме как с помощью --noiv
флаг, который устанавливает IV в набор нулей.Из исходного кода mcrypt, файл src/classic.c, строка 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));
Таким образом, код дает понять, что вы получаете либо случайный IV, либо нули.
Однако вы могли бы залатать mcrypt.Исходный код предоставляется, это бесплатное программное обеспечение.Фрагмент кода, который я показываю выше, - это именно то место, где вы хотели бы внести исправления.