20#ifndef OCRYPTO_AES_CBC_PKCS_H
21#define OCRYPTO_AES_CBC_PKCS_H
41} ocrypto_aes_cbc_pkcs_ctx;
68 ocrypto_aes_cbc_pkcs_ctx *ctx,
69 const uint8_t *key,
size_t size,
112 ocrypto_aes_cbc_pkcs_ctx *ctx,
114 const uint8_t *in,
size_t in_len);
156 const uint8_t* pt,
size_t pt_len,
157 const uint8_t *key,
size_t size,
158 const uint8_t iv[16]);
178 uint8_t *pt,
size_t *pt_len,
179 const uint8_t *ct,
size_t ct_len,
180 const uint8_t *key,
size_t size,
181 const uint8_t iv[16]);
int ocrypto_aes_cbc_pkcs_final_dec(ocrypto_aes_cbc_pkcs_ctx *ctx, uint8_t *pt, size_t *pt_len)
size_t ocrypto_aes_cbc_pkcs_output_size(ocrypto_aes_cbc_pkcs_ctx *ctx, size_t pt_len)
void ocrypto_aes_cbc_pkcs_init(ocrypto_aes_cbc_pkcs_ctx *ctx, const uint8_t *key, size_t size, const uint8_t iv[16], int decrypt)
int ocrypto_aes_cbc_pkcs_decrypt(uint8_t *pt, size_t *pt_len, const uint8_t *ct, size_t ct_len, const uint8_t *key, size_t size, const uint8_t iv[16])
void ocrypto_aes_cbc_pkcs_final_enc(ocrypto_aes_cbc_pkcs_ctx *ctx, uint8_t ct[16])
void ocrypto_aes_cbc_pkcs_update(ocrypto_aes_cbc_pkcs_ctx *ctx, uint8_t *out, const uint8_t *in, size_t in_len)
void ocrypto_aes_cbc_pkcs_encrypt(uint8_t *ct, const uint8_t *pt, size_t pt_len, const uint8_t *key, size_t size, const uint8_t iv[16])