nrfxlib API 3.3.99
Loading...
Searching...
No Matches
ocrypto_aes_cbc.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016 - 2025 Nordic Semiconductor ASA
3 * Copyright (c) since 2013 Oberon microsystems AG
4 *
5 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
6 */
7
8
26#ifndef OCRYPTO_AES_CBC_H
27#define OCRYPTO_AES_CBC_H
28
29#include <stddef.h>
30#include <stdint.h>
31
32
33#ifdef __cplusplus
34extern "C" {
35#endif
36
37
39typedef struct {
40 uint32_t xkey[60];
41 uint8_t iv[16];
42 uint8_t key_size; // Key size (16, 24, or 32 bytes).
43} ocrypto_aes_cbc_ctx;
68void ocrypto_aes_cbc_init_enc(ocrypto_aes_cbc_ctx *ctx, const uint8_t *key, size_t size, const uint8_t iv[16]);
69
83void ocrypto_aes_cbc_init_dec(ocrypto_aes_cbc_ctx *ctx, const uint8_t *key, size_t size, const uint8_t iv[16]);
84
101void ocrypto_aes_cbc_update_enc(ocrypto_aes_cbc_ctx *ctx, uint8_t* ct, const uint8_t* pt, size_t pt_len);
102
119void ocrypto_aes_cbc_update_dec(ocrypto_aes_cbc_ctx *ctx, uint8_t* pt, const uint8_t* ct, size_t ct_len);
135 uint8_t* ct, const uint8_t* pt, size_t pt_len, const uint8_t *key, size_t size, const uint8_t iv[16]);
136
150 uint8_t* pt, const uint8_t* ct, size_t ct_len, const uint8_t *key, size_t size, const uint8_t iv[16]);
151
152
153#ifdef __cplusplus
154}
155#endif
156
157#endif
158
void ocrypto_aes_cbc_decrypt(uint8_t *pt, const uint8_t *ct, size_t ct_len, const uint8_t *key, size_t size, const uint8_t iv[16])
void ocrypto_aes_cbc_encrypt(uint8_t *ct, const uint8_t *pt, size_t pt_len, const uint8_t *key, size_t size, const uint8_t iv[16])
void ocrypto_aes_cbc_update_enc(ocrypto_aes_cbc_ctx *ctx, uint8_t *ct, const uint8_t *pt, size_t pt_len)
void ocrypto_aes_cbc_update_dec(ocrypto_aes_cbc_ctx *ctx, uint8_t *pt, const uint8_t *ct, size_t ct_len)
void ocrypto_aes_cbc_init_enc(ocrypto_aes_cbc_ctx *ctx, const uint8_t *key, size_t size, const uint8_t iv[16])
void ocrypto_aes_cbc_init_dec(ocrypto_aes_cbc_ctx *ctx, const uint8_t *key, size_t size, const uint8_t iv[16])