public CkRc5CbcParams(ulong wordsize, ulong rounds, byte[] iv) { _lowLevelStruct.Wordsize = 0; _lowLevelStruct.Rounds = 0; _lowLevelStruct.Iv = IntPtr.Zero; _lowLevelStruct.IvLen = 0; _lowLevelStruct.Wordsize = wordsize; _lowLevelStruct.Rounds = rounds; if (iv != null) { _lowLevelStruct.Iv = UnmanagedMemory.Allocate(iv.Length); UnmanagedMemory.Write(_lowLevelStruct.Iv, iv); _lowLevelStruct.IvLen = Convert.ToUInt64(iv.Length); } }