这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 国民技术N32G032算法库使用指南

共3条 1/1 1 跳转至

国民技术N32G032算法库使用指南

高工
2023-05-08 16:46:19     打赏

本文档适用于已下载相关算法的 N32G032 芯片,主要说明该类芯片中算法接口和使用方法。

对于 U32 数据类型参数,若采用 U8 强制转换 U32 形式,则需要确保 U8 地址按字对齐。


1.1. 支持的算法 N32G032 芯片提供的算法如下:

-AES: 加密/解密(AES-128/192/256)

-SM4: 加密/解密

-RNG: 随机数生成


1.2. 基本数据类型

typedef unsigned char bool;
typedef unsigned char u8;
typedef signed char s8;
typedef unsigned short u16;
typedef signed short s16;
typedef unsigned int u32;
typedef signed int s32;
typedef unsigned long long u64;
typedef signed long long s64;

2. AES算法API说明

2.1. 算法库使用方法

算法库使用方法如下:

1. 将 n32g032_aes.h 、 n32g032_algo_common.h 中 ; 将 n32g032_algo_common.lib 、n32g032_aes.lib 程中;

2. 按 2.3 节函数说明调用函数,例程见附录一提供的 demo

2.2. 数据类型定义 #define AES_ECB (0x11111111)

#define AES_CBC (0x22222222)
#define AES_CTR (0x33333333)
#define AES_ENC (0x44444444)
#define AES_DEC (0x55555555)
enum
{
AES_Crypto_OK = 0x0, //AES opreation success
AES_Init_OK = 0x0, //AES Init opreation success
AES_Crypto_ModeError = 0x5a5a5a5a, //Working mode error(Neither ECB nor CBC nor CTR)
AES_Crypto_EnOrDeError, //En&De error(Neither encryption nor decryption)
AES_Crypto_ParaNull, // the part of input(output/iv) Null
AES_Crypto_LengthError, // if Working mode is ECB or CBC,the length of input message must
be 4 times and cannot be zero;
//if Working mode is CTR,the length of input message cannot be
zero; othets: return AES_Crypto_LengthError
......

2.3. 函数接口说明

AES 算法库包含的函数:

uint32_t AES_Init(AES_PARM *parm) AES:初始化
uint32_t AES_Crypto(AES_PARM *parm) AES:加解密函数
void AES_Close(void) AES:关闭函数
void AES_Version(uint8_t *type, uint8_t *customer, uint8_t date[3], uint8_t *version):AES 版本获取函数

2.3.1.AES算法初始化

AES_Init AES 算法初始化

函数原型:uint32_t AES_Init(AES_PARM *parm)

参数说明:parm 输入,指向 AES _PARM 结构体的指针

返回值:AES_Init_OK:运算正确 其他:运算错误

注意事项:1.调用方式请参考附录一。


AES_Crypto AES 算法加解密

函数原型:uint32_t AES_Crypto(AES_PARM *parm)

参数说明:parm 输入,指向 AES _PARM 结构体的指针

返回值:AES_Crypto_OK:运算正确 其他:运算错误

注意事项:在调用本函数前,若还未初始化或已切换到其他算法,先调用 AES_Init 函数







关键词: N32G032     加密算法     国民技术    

院士
2023-07-30 16:24:54     打赏
2楼

谢谢分享。


工程师
2023-08-17 17:40:51     打赏
3楼

感谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]