Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch
Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

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)

public virtual byte[] IV { get; set; }

Eigenschaftswert

Typ: System.Byte[]
Der Initialisierungsvektor.

AusnahmeBedingung
ArgumentNullException

Es wurde versucht, den Initialisierungsvektor auf null festzulegen.

CryptographicException

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

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.

.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

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