HPM SDK
HPMicro Software Development Kit
sm4_api_interface_t Struct Reference

#include <hpm_romapi.h>

Data Fields

uint32_t version
 
void(* setkey_enc )(sm4_context_t *ctx, const uint8_t key[16])
 
void(* setkey_dec )(sm4_context_t *ctx, const uint8_t key[16])
 
hpm_stat_t(* crypt_ecb )(sm4_context_t *ctx, uint32_t mode, uint32_t length, const uint8_t *input, uint8_t *output)
 
hpm_stat_t(* crypt_cbc )(sm4_context_t *ctx, uint32_t mode, uint32_t length, const uint8_t iv[16], const uint8_t *input, uint8_t *output)
 
hpm_stat_t(* crypt_ctr )(sm4_context_t *ctx, uint8_t *nonce_counter, const uint8_t *input, uint8_t *output, uint32_t length)
 
hpm_stat_t(* ccm_gen_enc )(sm4_context_t *ctx, uint32_t input_len, const uint8_t *iv, uint32_t iv_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, uint8_t *tag, uint32_t tag_len)
 
hpm_stat_t(* ccm_dec_verify )(sm4_context_t *ctx, uint32_t input_len, const uint8_t *iv, uint32_t iv_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, const uint8_t *tag, uint32_t tag_len)
 

Field Documentation

◆ ccm_dec_verify

hpm_stat_t(* sm4_api_interface_t::ccm_dec_verify)(sm4_context_t *ctx, uint32_t input_len, const uint8_t *iv, uint32_t iv_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, const uint8_t *tag, uint32_t tag_len)

◆ ccm_gen_enc

hpm_stat_t(* sm4_api_interface_t::ccm_gen_enc)(sm4_context_t *ctx, uint32_t input_len, const uint8_t *iv, uint32_t iv_len, const uint8_t *aad, uint32_t aad_len, const uint8_t *input, uint8_t *output, uint8_t *tag, uint32_t tag_len)

SM4 API interface: SM4 CCM Decryption and verifying

◆ crypt_cbc

hpm_stat_t(* sm4_api_interface_t::crypt_cbc)(sm4_context_t *ctx, uint32_t mode, uint32_t length, const uint8_t iv[16], const uint8_t *input, uint8_t *output)

SM4 API interface: SM4 CTR operation

◆ crypt_ctr

hpm_stat_t(* sm4_api_interface_t::crypt_ctr)(sm4_context_t *ctx, uint8_t *nonce_counter, const uint8_t *input, uint8_t *output, uint32_t length)

SM4 API interface: SM4 CCB encryption

◆ crypt_ecb

hpm_stat_t(* sm4_api_interface_t::crypt_ecb)(sm4_context_t *ctx, uint32_t mode, uint32_t length, const uint8_t *input, uint8_t *output)

SM4 API interface: SM4 CBC operation

◆ setkey_dec

void(* sm4_api_interface_t::setkey_dec)(sm4_context_t *ctx, const uint8_t key[16])

SM4 API interface: SM4 ECB operation

◆ setkey_enc

void(* sm4_api_interface_t::setkey_enc)(sm4_context_t *ctx, const uint8_t key[16])

SM4 API interface: Set decryption key

◆ version

uint32_t sm4_api_interface_t::version

< SM4 API interface: Version SM4 API interface: Set encryption key


The documentation for this struct was generated from the following file: