SymmetricAlgorithm.IV Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Inicializační vektor.
Výjimky
Byl proveden pokus o nastavení inicializačního vektoru na null
hodnotu .
Byl proveden pokus o nastavení inicializačního vektoru na neplatnou velikost.
Poznámky
Vlastnost IV se automaticky nastaví na novou náhodnou hodnotu při každém vytvoření nové instance některé z SymmetricAlgorithm tříd nebo při ručním GenerateIV volání metody. Velikost IV vlastnosti musí být stejná jako BlockSize vlastnost dělená 8.
Třídy odvozené z SymmetricAlgorithm třídy používají režim řetězení 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, která byla zašifrována pomocí jedné z SymmetricAlgorithm tříd, je nutné nastavit Key vlastnost a IV vlastnost na stejné hodnoty, které byly použity pro šifrování.
Pro daný tajný klíč k jednoduchá bloková šifra, která nepoužívá vektor inicializace, 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 duplicitní bloky v datovém proudu šifrového textu. Pokud neautorizovaní 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 šifrového textu a k případnému obnovení klíče. Pro boj s tímto problémem 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 k zašifrování prvního bloku dat nutný inicializační vektor.