SymmetricAlgorithm.IV Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Haalt de initialisatievector (IV) op of stelt deze in voor het symmetrische algoritme.
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()
Waarde van eigenschap
De initialisatievector.
Uitzonderingen
Er is geprobeerd de initialisatievector in te stellen op null.
Er is geprobeerd de initialisatievector in te stellen op een ongeldige grootte.
Opmerkingen
De IV eigenschap wordt automatisch ingesteld op een nieuwe willekeurige waarde wanneer u een nieuw exemplaar van een van de SymmetricAlgorithm klassen maakt of wanneer u de GenerateIV methode handmatig aanroept. De grootte van de IV eigenschap moet gelijk zijn aan de BlockSize eigenschap gedeeld door 8.
De klassen die zijn afgeleid van de SymmetricAlgorithm klasse gebruiken een ketenmodus met de naam CBC (Cipher Block Chaining), waarvoor een sleutel en een initialisatievector nodig zijn om cryptografische transformaties uit te voeren op gegevens. Als u gegevens wilt ontsleutelen die zijn versleuteld met een van de SymmetricAlgorithm klassen, moet u de Key eigenschap en IV eigenschap instellen op dezelfde waarden die zijn gebruikt voor versleuteling.
Voor een bepaalde geheime sleutel k versleutelt een eenvoudige blokcodering die geen initialisatievector gebruikt hetzelfde invoerblok met tekst zonder opmaak in hetzelfde uitvoerblok van coderingstekst. Als u dubbele blokken in de stroom tekst zonder opmaak hebt, hebt u dubbele blokken in de tekststroom voor codering. Als onbevoegde gebruikers iets weten over de structuur van een blok met tekst zonder opmaak, kunnen ze die informatie gebruiken om het bekende coderingstekstblok te ontcijferen en mogelijk uw sleutel te herstellen. Om dit probleem te bestrijden, wordt informatie uit het vorige blok gemengd in het proces van het versleutelen van het volgende blok. De uitvoer van twee identieke tekstblokken zonder opmaak verschilt dus. Omdat deze techniek het vorige blok gebruikt om het volgende blok te versleutelen, is er een initialisatievector nodig om het eerste gegevensblok te versleutelen.