Sdílet prostřednictvím


SymmetricAlgorithm.IV Vlastnost

Definice

Získá nebo nastaví inicializační vektor (IV) pro symetrický algoritmus.

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()

Hodnota vlastnosti

Byte[]

Inicializační vektor.

Výjimky

Došlo k pokusu o nastavení inicializačního vektoru na nullhodnotu .

Došlo k pokusu o nastavení inicializačního vektoru na neplatnou velikost.

Poznámky

Vlastnost IV je automaticky nastavena na novou náhodnou hodnotu pokaždé, když vytvoříte novou instanci jedné z SymmetricAlgorithm tříd nebo při ručním volání GenerateIV metody. Velikost IV vlastnosti musí být stejná jako BlockSize vlastnost dělená 8.

Třídy, které jsou odvozeny od SymmetricAlgorithm třídy, používají zřetězený režim označovaný jako řetězení bloků šifer (CBC), který vyžaduje klíč a inicializační vektor k provádění kryptografických transformací dat. Chcete-li dešifrovat data zašifrovaná pomocí jedné z SymmetricAlgorithm tříd, musíte vlastnost a IV vlastnost nastavit Key na stejné hodnoty, které byly použity k šifrování.

U daného tajného klíče k bude jednoduchá bloková šifra, která nepoužívá inicializační vektor, zašifruje stejný vstupní blok prostého textu do stejného výstupního bloku šifrového textu. Pokud máte ve streamu prostého textu duplicitní bloky, budete mít ve streamu šifrového textu duplicitní bloky. Pokud neoprávnění uživatelé vědí něco o struktuře bloku vašeho prostého textu, můžou tyto informace použít k dešifrování známého bloku šifrovaného textu a případně obnovení klíče. V boji proti tomuto problému se informace z předchozího bloku směšují do procesu šifrování dalšího bloku. Výstup dvou identických bloků prostého textu se tedy liší. Vzhledem k tomu, že tato technika používá předchozí blok k šifrování dalšího bloku, je potřeba inicializační vektor k šifrování prvního bloku dat.

Platí pro

Viz také