SymmetricAlgorithm.IV Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Simetrik algoritma için başlatma vektörlerini (IV) alır veya ayarlar.
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()
Özellik Değeri
Başlatma vektöru.
Özel durumlar
Başlatma vektörunun null
olarak ayarlanması için bir girişimde bulunuldu.
Başlatma vektörunu geçersiz bir boyuta ayarlama girişiminde bulunuldu.
Açıklamalar
Sınıflardan IV birinin SymmetricAlgorithm yeni bir örneğini her oluşturduğunuzda veya yöntemini el ile çağırdığınızda özelliği otomatik olarak yeni bir rastgele değere GenerateIV ayarlanır. Özelliğin IV boyutu, özelliğin 8'e bölünmesi BlockSize ile aynı olmalıdır.
sınıfından SymmetricAlgorithm türetilen sınıflar şifreleme bloğu zincirleme (CBC) adlı bir zincirleme modu kullanır. Bu mod, veriler üzerinde şifreleme dönüştürmeleri gerçekleştirmek için bir anahtar ve başlatma vektöru gerektirir. Sınıflardan biri SymmetricAlgorithm kullanılarak şifrelenen verilerin şifresini çözmek için özelliğini ve IV özelliğini şifreleme için kullanılan değerlere ayarlamanız Key gerekir.
Belirli bir gizli anahtar k için, başlatma vektörünün kullanılmadığı basit bir blok şifrelemesi, aynı düz metin giriş bloğunu aynı şifre metni çıkış bloğuna şifreler. Düz metin akışınızda yinelenen bloklar varsa, şifre metin akışınızda yinelenen bloklar olur. Yetkisiz kullanıcılar düz metin bloğunuzun yapısı hakkında herhangi bir şey biliyorsa, bilinen şifre metin bloğunu çözmek ve anahtarınızı kurtarmak için bu bilgileri kullanabilir. Bu sorunla mücadele etmek için, önceki bloktan alınan bilgiler bir sonraki bloğu şifreleme işlemiyle karıştırılır. Bu nedenle, iki özdeş düz metin bloğunun çıkışı farklıdır. Bu teknik bir sonraki bloğu şifrelemek için önceki bloğu kullandığından, ilk veri bloğunu şifrelemek için bir başlatma vektörünün olması gerekir.