SymmetricAlgorithm.IV Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Initialisierungsvektor (IV) für den symmetrischen Algorithmus ab oder legt diesen fest.
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()
Eigenschaftswert
Der Initialisierungsvektor.
Ausnahmen
Es wurde versucht, den Initialisierungsvektor auf null
festzulegen.
Es wurde versucht, den Initialisierungsvektor auf eine ungültige Größe festzulegen.
Hinweise
Die IV -Eigenschaft wird automatisch auf einen neuen Zufallswert festgelegt, wenn Sie eine neue instance einer der SymmetricAlgorithm Klassen erstellen oder wenn Sie die GenerateIV Methode manuell aufrufen. Die Größe der IV Eigenschaft muss mit der BlockSize Eigenschaft geteilt durch 8 identisch sein.
Die von der SymmetricAlgorithm -Klasse abgeleiteten Klassen verwenden einen Verkettungsmodus namens Verschlüsselungsblockverkettung (Cipher Block Chaining, CBC), der einen Schlüssel und einen Initialisierungsvektor benötigt, um kryptografische Transformationen für Daten auszuführen. Zum Entschlüsseln von Daten, die mit einer der SymmetricAlgorithm Klassen verschlüsselt wurden, müssen Sie die Eigenschaft und IV die Key Eigenschaft auf die gleichen Werte festlegen, die für die Verschlüsselung verwendet wurden.
Für einen bestimmten geheimen Schlüssel k verschlüsselt eine einfache Blockchiffre, die keinen Initialisierungsvektor verwendet, den gleichen Eingabeblock aus Nur-Text in den gleichen Ausgabeblock des Verschlüsselungstexts. Wenn In Ihrem Nur-Text-Stream duplizierte Blöcke vorhanden sind, verfügen Sie über doppelte Blöcke im Verschlüsselungstextstream. Wenn nicht autorisierte Benutzer etwas über die Struktur eines Blocks Ihres Nur-Text-Blocks wissen, können sie diese Informationen verwenden, um den bekannten Verschlüsselungstextblock zu entschlüsseln und möglicherweise Ihren Schlüssel wiederherzustellen. Um dieses Problem zu beheben, werden Informationen aus dem vorherigen Block in den Prozess der Verschlüsselung des nächsten Blocks gemischt. Daher unterscheidet sich die Ausgabe von zwei identischen Nur-Text-Blöcken. Da bei dieser Technik der vorherige Block verwendet wird, um den nächsten Block zu verschlüsseln, ist ein Initialisierungsvektor erforderlich, um den ersten Datenblock zu verschlüsseln.
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für