Cipher block chaining mode of operation for block ciphers. More...
Cipher block chaining mode of operation for block ciphers.
Definition in file cbc.h.
Go to the source code of this file.
int | cipher_encrypt_cbc (const cipher_t *cipher, uint8_t iv[16], const uint8_t *input, size_t input_len, uint8_t *output) |
Encrypt data of arbitrary length in cipher block chaining mode. More... | |
int | cipher_decrypt_cbc (const cipher_t *cipher, uint8_t iv[16], const uint8_t *input, size_t input_len, uint8_t *output) |
Decrypt encrypted data in cipher block chaining mode. More... | |
int cipher_decrypt_cbc | ( | const cipher_t * | cipher, |
uint8_t | iv[16], | ||
const uint8_t * | input, | ||
size_t | input_len, | ||
uint8_t * | output | ||
) |
Decrypt encrypted data in cipher block chaining mode.
cipher | Already initialized cipher struct |
iv | 16 octet initialization vector. |
input | pointer to input data to decrypt |
input_len | length of the input data |
output | pointer to allocated memory for plaintext data. It has to be of size input_len. |
int cipher_encrypt_cbc | ( | const cipher_t * | cipher, |
uint8_t | iv[16], | ||
const uint8_t * | input, | ||
size_t | input_len, | ||
uint8_t * | output | ||
) |
Encrypt data of arbitrary length in cipher block chaining mode.
cipher | Already initialized cipher struct |
iv | 16 octet initialization vector. Must never be used more than once for a given key. |
input | pointer to input data to encrypt |
input_len | length of the input data |
output | pointer to allocated memory for encrypted data. It has to be of size data_len + BLOCK_SIZE - data_len % BLOCK_SIZE. |