| BearSSL
    | 
Class type for CBC encryption implementations. More...
#include <bearssl_block.h>
| Data Fields | |
| size_t | context_size | 
| Size (in bytes) of the context structure appropriate for containing subkeys. | |
| unsigned | block_size | 
| Size of individual blocks (in bytes). | |
| unsigned | log_block_size | 
| Base-2 logarithm of the size of individual blocks, expressed in bytes. | |
| void(* | init )(const br_block_cbcenc_class **ctx, const void *key, size_t key_len) | 
| Initialisation function. | |
| void(* | run )(const br_block_cbcenc_class *const *ctx, void *iv, void *data, size_t len) | 
| Run the CBC encryption. | |
Class type for CBC encryption implementations.
A br_block_cbcenc_class instance points to the functions implementing a specific block cipher, when used in CBC mode for encrypting data. 
| unsigned br_block_cbcenc_class::block_size | 
Size of individual blocks (in bytes).
| size_t br_block_cbcenc_class::context_size | 
Size (in bytes) of the context structure appropriate for containing subkeys.
| void(* br_block_cbcenc_class::init) (const br_block_cbcenc_class **ctx, const void *key, size_t key_len) | 
Initialisation function.
This function sets the vtable field in the context structure. The key length MUST be one of the key lengths supported by the implementation.
| ctx | context structure to initialise. | 
| key | secret key. | 
| key_len | key length (in bytes). | 
| unsigned br_block_cbcenc_class::log_block_size | 
Base-2 logarithm of the size of individual blocks, expressed in bytes.
| void(* br_block_cbcenc_class::run) (const br_block_cbcenc_class *const *ctx, void *iv, void *data, size_t len) | 
Run the CBC encryption.
The iv parameter points to the IV for this run; it is updated with a copy of the last encrypted block. The data is encrypted "in place"; its length (len) MUST be a multiple of the block size.
| ctx | context structure (already initialised). | 
| iv | IV for CBC encryption (updated). | 
| data | data to encrypt. | 
| len | data length (in bytes, multiple of block size). |