AesCryptoServiceProvider.IV Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 override byte[] IV { get; set; }
member this.IV : byte[] with get, set
Public Overrides Property IV As Byte()
Nilai Properti
Vektor inisialisasi.
Pengecualian
Upaya dilakukan untuk mengatur vektor inisialisasi ke null
.
Upaya dilakukan untuk mengatur vektor inisialisasi ke ukuran yang tidak valid.
Keterangan
IV Properti secara otomatis diatur ke nilai acak baru setiap kali Anda membuat instans baru dari salah SymmetricAlgorithm satu kelas atau ketika 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.