Setting the Initialization Vector for Encryption

Question:
We’re trying to sync up our Chilkat component with another encryption component but can’t get the initialization vector to match. Is that compiled into the Chilkat module, or can it be changed via a component property?

Answer:
Yes, the Chilkat encryption component provides the “IV” property. The type depends on the programming language:

ActiveX:  Variant containing byte array.
.NET (C#, VB.NET): byte array
C++: CkByteData object (containing the bytes)
Perl, Ruby, Python, etc.: byte array

The initialization vector can also be set via the SetEncodedIV method. It allows you to pass the IV bytes as an encoded string using Hex, Base64, etc.

Question #2

If no IV is set, what is the default IV? In our code we weren’t setting the IV, only the key. What would our IV be in this case?

Answer:
The default IV is all zero’s (i.e. null bytes).