kcapi_cipher_dec_aes_cbc - Man Page

Convenience function for AES CBC decryption

Synopsis

ssize_t kcapi_cipher_dec_aes_cbc(const uint8_t * key, uint32_t keylen, const uint8_t * in, size_t inlen, const uint8_t * iv, uint8_t * out, size_t outlen);

Arguments

key

[in] key buffer

keylen

[in] length of key buffer

in

[in] ciphertext data buffer

inlen

[in] length of in buffer

iv

[in] IV to be used for cipher operation

out

[out] plaintext data buffer

outlen

[in] length of out buffer

Description

The convenience function performs an AES CBC decryption operation using the provided key, the given input buffer and the given IV​. The output is stored in the out buffer​.

Note, AES CBC requires an input data that is a multiple of 16 bytes​. If you have data that is not guaranteed to be multiples of 16 bytes, either add zero bytes at the end of the buffer to pad it up to a multiple of 16 bytes​. Otherwise, the CTR mode encryption operation may be usable​.

The output buffer must be at least as large as the input buffer​.

The IV must be exactly 16 bytes in size​.

The AES type (AES-128, AES-192 or AES-256) is determined by the size of the given key​. If the key is 16 bytes long, AES-128 is used​. A 24 byte key implies AES-192 and a 32 byte key implies AES-256​.

return number of bytes generated upon success; a negative errno-style error code if an error occurred

Author

Stephan Mueller <​smueller@chronox.de​>

Author.

Info

August 2026 libkcapi Manual 1.5.1 Programming Interface