AesCryptoServiceProvider.IV Egenskap

Definition

Hämtar eller anger initieringsvektorn (IV) för den symmetriska algoritmen.

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

Egenskapsvärde

Byte[]

Initieringsvektorn.

Undantag

Ett försök gjordes att ange initieringsvektorn till null.

Ett försök gjordes att ange initieringsvektorn till en ogiltig storlek.

Kommentarer

Egenskapen IV anges automatiskt till ett nytt slumpmässigt värde när du skapar en ny instans av en av klasserna SymmetricAlgorithm eller när du anropar GenerateIV metoden manuellt. Egenskapens IV storlek måste vara samma som egenskapen BlockSize dividerad med 8.

Klasserna som härleds från SymmetricAlgorithm klassen använder ett länkningsläge som kallas chifferblocklänkning (CBC), som kräver en nyckel och en initieringsvektor för att utföra kryptografiska omvandlingar på data. Om du vill dekryptera data som krypterats med någon av klasserna SymmetricAlgorithm måste du ange Key egenskapen och IV egenskapen till samma värden som användes för kryptering.

För en viss hemlig nyckel k krypterar ett enkelt blockkryptering som inte använder en initieringsvektor samma indatablock med oformaterad text till samma utdatablock med chiffertext. Om du har duplicerade block i din oformaterade textström har du duplicerade block i chiffertextströmmen. Om obehöriga användare vet något om strukturen för ett block i oformaterad text kan de använda den informationen för att dechiffrera det kända chiffertextblocket och eventuellt återställa nyckeln. För att bekämpa det här problemet blandas information från föregående block i processen för att kryptera nästa block. Därför skiljer sig utdata från två identiska oformaterade textblock. Eftersom den här tekniken använder föregående block för att kryptera nästa block krävs en initieringsvektor för att kryptera det första datablocket.

Gäller för