MCRYPT PARA RIJNDAEL-128: Como faço para definir o vetor de inicialização?
Pergunta
Gostaria de criptografar um arquivo usando AES (Rijndael 128) com a ferramenta McRypt Command Line. Eu gostaria de definir o vetor de inicialização como um valor específico. Como posso fazer isso?
Eu sou muito novo em criptografia, btw.
Obrigado!
Solução
Aparentemente não há como especificar o IV com a ferramenta de linha de comando, exceto usando o --noiv
Bandeira que define o IV para um monte de zeros. Do código -fonte de McRypt, FILE SRC/CLASSIC.C, Linha 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));
Portanto, o código deixa claro que você obtém um IV aleatório ou os zeros.
Você pode remendar McRypt, no entanto. O código -fonte é fornecido, este é um software livre. O snippet de código que mostro acima é precisamente o local onde você gostaria de corrigir.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow