完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、测试环境与方法:
1、测试环境:MCU 为STM32F030(Cortex-M0)、STM32F103(Cortex-M3),主频分别统一设置为24M、48M 2、加解密算法:AESCBC-256以及128 3、测试方法:输入不同数据量,通过GPIO翻转法获取软件执行AES加解密所耗的时间 二、测试代码介绍(以AES256为例) 测试代码很简单,就是将一个GPIO拉高,在AES加解密时拉低,并用逻辑分析仪进行抓包或者示波器查看低电平的间隔。 这里以AESCBC256代码为例:(所有数据仅供测试所用) 准备AES 参数(key、iv、testdata等) const unsigned char AES_key[32] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}; const unsigned char AES_iv[16] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; unsigned char testdata[]= { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 以下省略, 想测多少就输入多少数据 。。。} 执行AES加解密 ,同时反转IO电平 void AesTest(void) { int testdata_Len; testdata_Len=sizeof(testdata); Aes enc; for(int i=0; i《100;i++) { /******** 加密过程 ************/ HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_SET); AesSetKey(&enc, AES_key, sizeof(AES_key), AES_iv, AES_ENCRYPTION);//初始化AES加密参数,IO电平为高 HAL_Delay(1);//delay 1 ms为加密,2ms为解密 HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_RESET); AesCbcEncrypt(&enc, (byte *)testdata, (byte *)testdata, testdata_Len);//执行加密函数,此时电平为低 HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_SET); HAL_Delay(2); /******** 解密过程 ************/ AesSetKey(&enc, AES_key, sizeof(AES_key), AES_iv, AES_DECRYPTION);//初始化AES解密参数,IO电平为高 HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_RESET); AesCbcDecrypt(&enc, (byte *)testdata, (byte *)testdata, testdata_Len);执行解密函数,此时电平为低 HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,GPIO_PIN_SET); } 三、测试结果与抓包截图 1、主频统一设置为24M ###附部分I2C抓包截图: 1024byte时M3工作在24M主频: 1024byte时M0工作在24M主频: 2、主频设置为48M 基于STM32F030C8(Cortex-M0)芯片,工作在48M主频: 附部分I2C抓包截图: 1024 – AES256 : 128 – AES256: 16 - AES256: 由此可见,AES(Advanced Encryption Standard) 加密算法相比于RSA等对称加密算法是非常快的。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
568浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 14:59 , Processed in 0.803639 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号