Vettore di inizializzazione (IV)

Cos'è un vettore di inizializzazione?

Un vettore di inizializzazione (IV) è un numero arbitrario che può essere utilizzato insieme a una chiave segreta per la crittografia dei dati. Questo numero, chiamato anche nonce, viene utilizzato una sola volta in una sessione. 

L'uso di un IV impedisce la ripetizione nella crittografia dei dati, rendendo più difficile per un hacker che utilizza un attacco con dizionario trovare schemi e rompere un codice. Ad esempio, una sequenza potrebbe apparire due o più volte nel corpo di un messaggio. Se sono presenti sequenze ripetute nei dati crittografati, un utente malintenzionato potrebbe presumere che anche le sequenze corrispondenti nel messaggio fossero identiche. L'IV impedisce la comparsa di sequenze di caratteri duplicati corrispondenti nel testo cifrato. 

L'IV ideale è un numero casuale che viene reso noto al computer di destinazione per facilitare la decrittazione dei dati quando vengono ricevuti. L'IV può essere concordato in anticipo, trasmesso in modo indipendente o incluso come parte della configurazione della sessione prima dello scambio dei dati del messaggio. La lunghezza dell'IV (il numero di bit o byte che contiene) dipende dal metodo di crittografia. La lunghezza IV è generalmente paragonabile alla lunghezza della chiave di crittografia o del blocco della crittografia in uso.

Ulteriori informazioni sull'IT:
> Spiritus-Temporis.com descrive come funzionano gli IV e fornisce collegamenti ad argomenti correlati.
> Example-code.com spiega "AES Encrypt with Initialization Vector".
> Wikipedia ha una voce sui vettori di inizializzazione.