Шифрую AES-ом данные в C#:
Rijndael _aes = Rijndael.Create();
byte[] _key = new byte[16];
byte[] _iv = new byte[16];
data[] data = new byte[8];
byte[] encdata = null;
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, _aes.CreateEncryptor(_key, _iv), CryptoStreamMode.Write);
cs.Write(data, 0, data.Length);
cs.Close();
encdata = ms.ToArray();
Результат:
encdata — 16 байт (расшифровываются в C# обратно в 8 байт)
Реализацию для C++ взял из OpenSSL
Пытаюсь расшифровать следующим способом:
byte _key[16];
byte _iv[16];
byte encdata[16];
byte data[8];
AES_KEY aeskey;
AES_set_encrypt_key(_key, 128, &aeskey);
AES_cbc_encrypt(encdata, data, 8, &aeskey, _iv, AES_DECRYPT);
Но вот загвоздка расшифровывает не правильно, по коду на сколько я понял ожидается длинна
encdata и
data одинаковая, а в C# у меня из 8 байт получилось 16 байт зашифрованных.
Как расшифровать ума не приложу?

Есть идеи?