Cipher block chaining mode of operation for block ciphers. More...
Cipher block chaining mode of operation for block ciphers.
Definition in file cbc.h.
Include dependency graph for 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. |