Freigeben über


SymmetricAlgorithm.IV-Eigenschaft

Ruft den Initialisierungsvektor (IV) für den symmetrischen Algorithmus ab oder legt diesen fest.

Namespace: System.Security.Cryptography
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overridable Property IV As Byte()
'Usage
Dim instance As SymmetricAlgorithm
Dim value As Byte()

value = instance.IV

instance.IV = value
public virtual byte[] IV { get; set; }
public:
virtual property array<unsigned char>^ IV {
    array<unsigned char>^ get ();
    void set (array<unsigned char>^ value);
}
/** @property */
public byte[] get_IV ()

/** @property */
public void set_IV (byte[] value)
public function get IV () : byte[]

public function set IV (value : byte[])

Eigenschaftenwert

Der Initialisierungsvektor.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

Es wurde versucht, den Initialisierungsvektor auf NULL (Nothing in Visual Basic) festzulegen.

CryptographicException

Es wurde versucht, den Initialisierungsvektor auf eine ungültige Größe festzulegen.

Hinweise

Die IV-Eigenschaft wird jedes Mal auf einen neuen Zufallswert festgelegt, wenn Sie eine neue Instanz einer der SymmetricAlgorithm-Klassen erstellen bzw. wenn Sie manuell die GenerateIV-Methode aufrufen. Die Größe der IV-Eigenschaft muss mit der Größe der BlockSize-Eigenschaft identisch sein.

Die Klassen, die von der SymmetricAlgorithm-Klasse abgeleitet werden, verwenden einen CBC-Verkettungsmodus (Cipher Block Chaining), der für die kryptografische Datentransformation einen Schlüssel und einen Initialisierungsvektor erfordert. Um Daten zu entschlüsseln, die mit einer der SymmetricAlgorithm-Klassen verschlüsselt wurden, müssen Sie die Key-Eigenschaft und die IV-Eigenschaft auf dieselben Werte festlegen, die für die Verschlüsselung verwendet wurden.

Für einen bestimmten geheimen Schlüssel k verschlüsselt eine einfache Blockverschlüsselung ohne Initialisierungsvektor denselben Klartexteingabeblock in denselben Ausgabeblock von verschlüsseltem Text. Wenn ein und derselbe Block im Klartextstream mehrfach vorkommt, ist dieser Block auch im verschlüsselten Textstream mehrfach vorhanden. Wenn unbefugten Benutzern die Struktur eines Blocks des Klartexts bekannt ist, können sie anhand dieser Informationen den bekannten verschlüsselten Textblock und möglicherweise den Schlüssel entschlüsseln. Um dieses Problem zu beheben, werden die Informationen aus dem vorherigen Block in den Vorgang des Verschlüsselns für den nächsten Block untergemischt. Deshalb liegt eine unterschiedliche Ausgabe von zwei identischen Klartextblöcken vor. Da bei diesem Verfahren der vorherige Block zum Verschlüsseln des nächsten Blocks verwendet wird, wird zum Verschlüsseln des ersten Datenblocks ein Initialisierungsvektor benötigt.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0

Siehe auch

Referenz

SymmetricAlgorithm-Klasse
SymmetricAlgorithm-Member
System.Security.Cryptography-Namespace

Weitere Ressourcen

Kryptografische Dienste