TripleDESCryptoServiceProvider.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 override byte[] IV { get; set; }
member this.IV : byte[] with get, set
Public Overrides Property IV As Byte()

Hodnota vlastnosti

Byte[]

Inicializační vektor.

Výjimky

Byl proveden pokus o nastavení inicializačního vektoru na nullhodnotu .

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 rámci šifrového textového streamu. 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.

Platí pro