Share via


SymmetricAlgorithm.IV Properti

Definisi

Mendapatkan atau mengatur vektor inisialisasi (IV) untuk algoritma simetris.

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()

Nilai Properti

Byte[]

Vektor inisialisasi.

Pengecualian

Upaya dilakukan untuk mengatur vektor inisialisasi ke null.

Upaya dilakukan untuk mengatur vektor inisialisasi ke ukuran yang tidak valid.

Keterangan

Properti IV secara otomatis diatur ke nilai acak baru setiap kali Anda membuat instans baru dari salah SymmetricAlgorithm satu kelas atau saat Anda memanggil GenerateIV metode secara manual. Ukuran IV properti harus sama dengan properti yang BlockSize dibagi 8.

Kelas yang berasal dari SymmetricAlgorithm kelas menggunakan mode penautan yang disebut rantai blok sandi (CBC), yang memerlukan kunci dan vektor inisialisasi untuk melakukan transformasi kriptografi pada data. Untuk mendekripsi data yang dienkripsi menggunakan salah SymmetricAlgorithm satu kelas, Anda harus mengatur Key properti dan IV properti ke nilai yang sama yang digunakan untuk enkripsi.

Untuk kunci rahasia tertentu k, cipher blok sederhana yang tidak menggunakan vektor inisialisasi akan mengenkripsi blok input teks biasa yang sama ke blok output teks sandi yang sama. Jika Anda memiliki blok duplikat dalam aliran teks biasa, Anda akan memiliki blok duplikat dalam aliran teks cipher Anda. Jika pengguna yang tidak sah mengetahui apa pun tentang struktur blok teks biasa Anda, mereka dapat menggunakan informasi tersebut untuk menguraikan blok teks sandi yang diketahui dan mungkin memulihkan kunci Anda. Untuk memerangi masalah ini, informasi dari blok sebelumnya dicampur ke dalam proses mengenkripsi blok berikutnya. Dengan demikian, output dari dua blok teks biasa yang identik berbeda. Karena teknik ini menggunakan blok sebelumnya untuk mengenkripsi blok berikutnya, vektor inisialisasi diperlukan untuk mengenkripsi blok data pertama.

Berlaku untuk

Lihat juga