1. CMOX_BLOCKCIPHER

1.1. Block cipher macros

group CMOX_BLOCKCIPHER_MACROS

Defines

CMOX_CIPHER_BLOCK_SIZE

Block size, in words, of a block cipher (AES and SM4)

CMOX_SM4_EXPKEY_SIZE

Size, in words, of the expanded SM4 key

CMOX_AES128_EXPKEY_SIZE

Size, in words, of the expanded AES128 key

CMOX_AES192_EXPKEY_SIZE

Size, in words, of the expanded AES192 key

CMOX_AES256_EXPKEY_SIZE

Size, in words, of the expanded AES256 key

1.2. Block cipher public types

group CMOX_BLOCKCIPHER_PUBLIC_TYPES

Typedefs

typedef const struct cmox_blockcipher_vtableStruct_st * cmox_blockcipher_vtable_t

Block cipher algorithm type.

This type is defined as a pointer to a structure that contains the functions needed for the specific algorithm, as defined internally in the library.

struct cmox_blockcipher_handle_t
#include <cmox_blockcipher.h>

Block cipher context handle.

Public Members

cmox_blockcipher_vtable_t table

Used block cipher algorithm

cmox_cipher_keyLen_t keyLen

Size, in bytes, of the block cipher’s key

uint32_t internalState

Internal state of the block cipher

uint32_t expandedKey [ CMOX_AES256_EXPKEY_SIZE ]

Buffer containing the expanded key