SymmetricAlgorithm.IV Proprietà

Definizione

Ottiene o imposta il vettore di inizializzazione (IV) per l'algoritmo simmetrico.

public:
 virtual property cli::array <System::Byte> ^ IV { cli::array <System::Byte> ^ get(); void set(cli::array <System::Byte> ^ value); };
public virtual byte[] IV { get; set; }
member this.IV : byte[] with get, set
Public Overridable Property IV As Byte()

Valore della proprietà

Byte[]

Vettore di inizializzazione.

Eccezioni

È stato effettuato un tentativo di impostare il vettore di inizializzazione su null.

È stato effettuato un tentativo di impostare il vettore di inizializzazione su una dimensione non valida.

Commenti

La proprietà viene impostata automaticamente su un nuovo valore casuale ogni volta che si crea una nuova istanza di una delle classi o IV quando si chiama manualmente il metodo SymmetricAlgorithm GenerateIV . Le dimensioni della IV proprietà devono essere le stesse della proprietà divisa per BlockSize 8.

Le classi che derivano dalla classe usano una modalità di concatenamento denominata SymmetricAlgorithm CBC (Cipher Block Chaining), che richiede una chiave e un vettore di inizializzazione per eseguire trasformazioni crittografiche sui dati. Per decrittografare i dati crittografati usando una delle classi , è necessario impostare la proprietà e la proprietà sui valori usati SymmetricAlgorithm Key per la IV crittografia.

Per una determinata chiave privata k, una semplice crittografia a blocchi che non usa un vettore di inizializzazione crittograferà lo stesso blocco di input di testo normale nello stesso blocco di output di testo crittografato. Se si dispone di blocchi duplicati all'interno del flusso di testo normale, si avranno blocchi duplicati all'interno del flusso di testo crittografato. Se gli utenti non autorizzati conoscono la struttura di un blocco di testo normale, possono usare tali informazioni per decifrare il blocco di testo crittografato noto ed eventualmente recuperare la chiave. Per risolvere questo problema, le informazioni del blocco precedente vengono miste al processo di crittografia del blocco successivo. Di conseguenza, l'output di due blocchi di testo normale identici è diverso. Poiché questa tecnica usa il blocco precedente per crittografare il blocco successivo, è necessario un vettore di inizializzazione per crittografare il primo blocco di dati.

Si applica a

Vedi anche