Mcrypt per Rijndael-128: come faccio a impostare il vettore di inizializzazione?
Domanda
Vorrei crittografare un file utilizzando AES (Rijndael 128) con lo strumento da riga di comando mcrypt. Vorrei impostare il vettore di inizializzazione a un valore specifico. Come posso fare questo?
Sono abbastanza nuovo per la crittografia, btw.
Grazie!
Soluzione
Apparentemente non c'è modo per specificare l'IV con lo strumento di riga di comando, se non utilizzando il flag --noiv
che imposta la IV ad una serie di zeri. Dal codice sorgente di mcrypt, file src / classic.c, la linea 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));
Quindi, il codice rende chiaro che si sia ottenere una IV casuale o gli zeri.
Si potrebbe rattoppare mcrypt, però. codice sorgente è disponibile, questo è un software libero. Il frammento di codice vi mostro qui sopra è proprio il luogo in cui si desidera applicare la patch.