打印
[N32G03x]

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

[复制链接]
663|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Ghorey|  楼主 | 2023-2-24 15:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文档适用于已下载相关算法的 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 函数;

使用特权

评论回复
沙发
单片小菜| | 2023-2-27 11:40 | 只看该作者
这个是直接使用的吗?
还是?

使用特权

评论回复
板凳
probedog| | 2023-2-28 10:00 | 只看该作者
可以直接用?

使用特权

评论回复
地板
ulystronglll| | 2023-3-2 11:20 | 只看该作者
这个N32G032性能怎么样              

使用特权

评论回复
5
beacherblack| | 2023-3-2 11:50 | 只看该作者
这个是集成在ide里面的库吗              

使用特权

评论回复
6
robertesth| | 2023-3-3 21:02 | 只看该作者
单片机编写程序要不要算**               

使用特权

评论回复
7
usysm| | 2023-3-3 21:39 | 只看该作者
如何调用相关的算法库?              

使用特权

评论回复
8
qiufengsd| | 2023-3-3 21:53 | 只看该作者
这个算法可以应用到哪里              

使用特权

评论回复
9
sdlls| | 2023-5-7 14:53 | 只看该作者
不同的算法库可能对应不同的硬件外设和单片机型号

使用特权

评论回复
10
albertaabbot| | 2023-5-7 15:21 | 只看该作者
算法库可用于加速执行各种常见操作

使用特权

评论回复
11
juliestephen| | 2023-5-7 15:27 | 只看该作者
调用算法库函数完成所需操作吧               

使用特权

评论回复
12
iyoum| | 2023-5-7 16:06 | 只看该作者
这个算法库的运行效率怎么样              

使用特权

评论回复
13
hudi008| | 2023-5-7 16:57 | 只看该作者
crc算法在单片机上的实现吗              

使用特权

评论回复
14
minzisc| | 2023-5-7 17:20 | 只看该作者
神经网络如何用单片机实现?              

使用特权

评论回复
15
kkzz| | 2023-5-7 18:46 | 只看该作者
可以CRC(循环冗余校验)、AES(高级加密标准)等吗

使用特权

评论回复
16
lihuami| | 2023-5-7 18:53 | 只看该作者
是DSP的执行库吗              

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

19

帖子

0

粉丝