KCAPI_CIPHER_STREAM_(3) | Programming Interface | KCAPI_CIPHER_STREAM_(3) |
kcapi_cipher_stream_update_last - send last data for processing (stream)
ssize_t kcapi_cipher_stream_update_last(struct kcapi_handle * handle, struct iovec * iov, size_t iovlen);
handle
iov
iovlen
Using this function call, more plaintext for encryption or ciphertext for decryption can be submitted to the kernel.
This call is identical to the kcapi_cipher_stream_update call with the exception that it marks the last data buffer before the cipher operation is triggered. This is call is important for stream ciphers like CTR or CTS mode when providing the last block. It is permissible to provide a zero buffer if all data including the last block is already provided by kcapi_cipher_stream_update.
If this call is not made for stream ciphers with input data that is not a multiple of the block size of the block cipher, the kernel will not return the last block that contains less data than the block size of the block cipher. For example, sending 257 bytes of data to be encrypted with ctr(aes), the kernel will return only 256 bytes without this call.
return number of bytes sent to the kernel upon success; a negative errno-style error code if an error occurred
Stephan Mueller <smueller@chronox.de>
February 2022 | libkcapi Manual 1.4.0 |