【应用】基于Silicon Labs 的mbedTLS库函数实现CRYPTO模块加密功能应用
AES, SHA-1和SHA-2等相关一些加密算法及其它模型算法,若直接使用代码运行,运算量非常之巨大,且占据非常多的资源。
EFM32 Gemstones的CRYPTO模块支持高效的加速加密操作,并且能够在较低的CPU开销下运行。EFM32系列32位低功耗MCU CRYPTO模块可用于AES, SHA-1和SHA-2(SHA-224和SHA-256)的硬件加速,以及用于ECC(椭圆曲线密码学)和GCM(伽罗瓦计数器模式)的模块化乘法。 CRYPTO模块可以自主执行和迭代一系列指令,以加速复杂的加密功能,如ECC,GCM和CCM。
SILICON LABS为开发者提供了CRYPTO模块的ARM mbedTLS库,在实际开发中,我们可以直接利用Simplicity Studio中提供的示例代码进行开发。通常来说,任何加密算法都可以用软件来实现,但通过硬件加速则具备更多优势,如更快的执行速度,更好的节能效果,能够减轻核心负担,节省代码空间以及良好的抗DPA攻击性。Silicon Labs 的mbedTLS库支持常见的算法加速,如AES,ECC和SHA, 另外该库还支持其他算法,如:RSA,DES,3DES,MD4,MD5和RC4。
项目实施配置概要:
在项目开发中,开发人员通过使用提供的mbedTLS API函数可以高效的进行功能开发,而无需过多考虑底层加速原理。Crypto demo可以实现mbedTLS库和CRYPTO加速器的应用,在默认情况下, Simplicity Studio安装文件中可以找到mbedTLS库,具体的目录路径可参考如下:C:\SiliconLabs\SimplicityStudio\v3\developer\sdks\efm32\v2\reptile\mbedtls。
通常安装的库文件包括了多种加密算法的源文件,如AES,SHA256等。Silicon Labs提供了一个sl_crypto的附加目录,其中包含了利用CRYTPO模块的所有Silicon Labs mbedTLS功能,开发者可根据产品需求选择相应的功能。另外,mbed示例也可在开发套件安装路径中找到,如EFM32 Pearl Gecko示例的路径参考为:
C:\SiliconLabs\SimplicityStudio\v3\developer\sdks\efm32\v2\kits\SLSTK3401A_EFM32PG\examples。
mbedTLS库文件使用CPU内核来实现加密算法。 在执行加密时, CPU会消耗较大的数据宽度与复杂的处理资源(如256位私钥)。 sl_crypto目录包含的加密函数,可通过构建的#defines功能来启用。Demo示例属性可在config-aescrypt.h文件中设置。Demo的具体配置路径为:([Properties]>[C/C+ Build]>[Settings]>[GNU ARM C Compiler]>[Symbols])。将变量更改为[zzMBEDTLS_CONFIG_FILE =“config-aescrypt.h”],可将项目中选择功能删除。
图1 功能配置图
项目实现使用了mbedTLS库与其他Silicon Labs库, 设计中需要注意,这些功能库都是以源代码形式存在于Simplicity Studio的安装目录。 通常情况下,修改这些文件中的任何一个都会影响库源文件,因此原则上尽量不修改这些文件,但如需要修改,则应该注意复制保存好原始文件。
图2 代码结构框图
具体实例实施概要:
项目开发可以基于实例demo快速的展开,具体示例详细说明了库的使用说明,其中包含许多API函数的使用方法。例如,使用mbedTLS API来实现CBC。
图3 CBC流程图示意
下图为SHA256示例的部分代码流程图, 该示例可以深入了解mbedTLS库的整体流程。具体应用实现可在此基础之上,进行功能丰富。
图4代码流程图
结论:使用EFM32系列CRYPTO模块可对AES, SHA-1和SHA-2(SHA-224和SHA-256)等算法进行硬件加速,能够大大降低的CPU开销,提升产品性能。使用Simplicity Studio我们可以简单、快速使用相关驱动代码,以加速我们的研发进程。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由四月提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【应用】32位低功耗MCU EFM32系列的电流数模转换器(IDAC)应用
本应用主要介绍了如何使用Silicon Labs EFM32电流数模转换器(IDAC),并通过部分示例工程来演示其功能。 IDAC常用于提供或吸收可编程电流,实用设计中可通过软件或使用PRS功能来完成IDAC的控制。
【应用】芯科科技提供内置16位ADC的低功耗32位MCU助力蓝牙耳机,主频高达80MHz
蓝牙耳机的系统设计需要选型一款MCU,要求尺寸小,效率高,待机功耗低。本文推荐SILICON LABS推出的低功耗32位MCU EFM32PG23B210F256IM48-C,主频高达80MHz,具有DSP指令和浮点单元,具有性能灵活的16位的数转换器。
【应用】EFM32JG1B200低功耗32位MCU在暂态录波型故障指示器中的应用
本文提出了一种基于EFM32JG1B200低功耗32位MCU的暂态录波型故障指示器,给出了暂态录波型故障指示器设计框图,并对其进行了功耗测试,满足中国电科院送检以及现场应用需求。
【经验】如何基于J-FLASH对32位MCU EFM32 进行批量烧写?
Silicon Labs 32位MCU EFM32,以低功耗、高性能等著称,被广泛应用在电池供电等需要低功耗的领域。因应用广泛,在批量烧写上,也得到多家软件支持。本文将详细描述名基于SEGGER的J-Flash软件对EFM32烧写FLASH的方法及步骤。
SILICON LABS 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,频率24MHz~80MHz,Flash存储4kB~2048kB,RAM存储2kB~512kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
Dig I/O Pins
|
ADC 1
|
DAC
|
USB
|
Cap Sense
|
LCD
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
EFM32GG290F512-BGA112
|
32位MCU
|
EFM32 Giant Gecko
|
48
|
512
|
128
|
1.98
|
3.8
|
BGA112
|
10x10
|
±2%
|
ETM; SW
|
AES-128 AES-256
|
90
|
12-bit, 8-ch., 1 Msps
|
12-bit, 2 ch.
|
-
|
Cap Sense
|
-
|
Temp Sensor
|
4
|
7
|
3
|
3
|
2
|
1
|
0
|
RTC
|
2
|
选型表 - SILICON LABS 立即选型
芯科科技PG28 32位微控制器配备AI/ML硬件加速器,可在较低能耗的情况下将机器学习推理的性能加倍
本文重点介绍了Silicon Labs(亦称“芯科科技”)的PG28 32位微控制器(MCU)的特性和优势,其领先集成了人工智能和机器学习(AI/ML)硬件加速器,可在边缘位置以更低功耗进行更快推理;同时还兼容EFR32xG28 无线SoC 平台(ZG28、FG28 和 SG28),为开发人员提供实现各种低功耗、高性能嵌入式物联网应用的理想选择。
【经验】对使用SWD接口的32位MCU的内部闪存及用户画面进行编程
本文介绍Silicon Labs独立编程器的硬件与软件,以及详细的用户界面介绍,提供用户进行测试。
【经验】EFM32系列低功耗32位MCU芯片加密详解
本文主要介绍以Silicon Labs EFM32系列低功耗32位MCU为核心的方案打造加密系统。
SILICON LABS EFM32PG23/EFM32PG22 32-bit Microcontrollers选型表
EFM32PG23 Series 2 and EFM32PG22 Series 2 MCUs
产品型号
|
品类
|
Series
|
Core
|
Max GPIO
|
Max LCD Segments
|
Max Temperature(℃)
|
Vdd Min (V)
|
Vdd Max (V)
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
Security
|
ADC 1
|
USB
|
Temp Sensor
|
UART
|
RTC
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
EFM32PG23B200F128IM40
|
Microcontroller
|
EFM32PG23 Series 2
|
ARM Cortex-M33
|
34
|
4 x 20
|
125
|
1.71
|
3.8
|
80
|
128
|
64
|
29
|
Vault
|
16-bit, 12-ch., 1 Msps
|
×
|
Temp Sensor
|
3
|
RTC
|
QFN40
|
5x5
|
2%
|
Secure; SW; ETM
|
AES-1
AES-256
|
选型表 - SILICON LABS 立即选型
【经验】EFM32系列32位MCU常量定位问题的解决方法
Silicon Labs的32位MCU EFM32系列具有低功耗、集成度高的优势,在电池供电类的应用中具有非常明显的优势。开发EFM32的软件一般都是在Simplicty Studio软件下完成。介绍EFM32程序中的常量定位到FLASH的固定地址的方法。
【经验】32位低功耗MCU EFM32LG232低温工作串口数据停止位报错问题经验分享
EFM32LG232是Silicon Labs推出的针对低功耗市场的高性价比方案,常用休眠模式下,开启RTC功耗为0.95uA,关断模式下仅为20nA,广泛应用于低功耗方案设计中,本文主要讲解在低温模式下串口数据通信出错的问题分析。
SILICON LABS EFM32 Wonder Gecko 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,基于48MHz Frequency,64kB~256kB Flash,32kB RAM等参数进行选型。
产品型号
|
品类
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
DAC
|
Cap Sense
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
ADC
|
EFM32WG230F128-QFN64
|
Microcontroller
|
48
|
128
|
32
|
56
|
12-bit, 8-ch., 1 Msps
|
12-bit, 2 ch.
|
Cap Sense
|
Temp Sensor
|
4
|
5
|
3
|
3
|
2
|
1
|
0
|
RTC
|
2
|
1.98
|
3.8
|
QFN64
|
9x9
|
±2%
|
ETM; SW
|
AES-128 AES-256
|
8 x Ch 500 x MSPS 12 x bit
|
选型表 - SILICON LABS 立即选型
SILICON LABS EFM32 Leopard Gecko 32-bit Microcontroller选型表
SILICON LABS 32位MCU选型,基于48MHz Frequency,64kB~256kB Flash,32kB RAM等参数进行选型。
产品型号
|
品类
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
DAC
|
Cap Sense
|
Temp Sensor
|
Timers (16-bit)
|
UART
|
USART
|
SPI
|
I2C
|
I2S
|
EMIF
|
RTC
|
Comparators
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Debug Interface
|
Cryptography
|
EFM32LG230F128G-QFN64
|
Microcontroller
|
48
|
128
|
32
|
56
|
12-bit, 8-ch., 1 Msps
|
12-bit, 2 ch.
|
Cap Sense
|
Temp Sensor
|
4
|
5
|
3
|
3
|
2
|
1
|
0
|
RTC
|
2
|
1.98
|
3.8
|
QFN64
|
9x9
|
±2%
|
ETM; SW
|
AES-128 AES-256
|
选型表 - SILICON LABS 立即选型
【经验】32位MCU EFM32ZG使用FreeRTOS低功耗的处理过程
Silicon Labs 32位MCU EFM32ZG210芯片采用Cortex-M0+内核,使用了创新低能耗技术,低功耗模式的唤醒时间只有2us,多种外设可在低功耗模式下工作,是使用电池供电以及需要高性能、低功耗系统的最优选择。本文介绍在32位MCU EFM32ZG上运行FreeRTOS时的低功耗的处理过程。
【技术大神】32位低功耗MCU在故障指示器中的应用及设计注意事项
在环网配电系统中,故障指示器可以快速检测线路短路和接地故障。
电子商城
现货市场
服务
可定制三防平板尺寸范围5~15.6寸,win10/11/安卓90/10.0/110/120/Linux/麒麟系统等多系统定制,IP65防尘防水,在-10°C~50°C稳定运行,支持一维/二维、NFC等功能模块、指纹识别模块自由选配。
最小起订量: 1台 提交需求>
可根据用户的wifi模块,使用无线连接测试仪MT8862A,测试IEEE802.11a/b/g/n/ac (2.4Ghz和5Ghz)设备的TX、RX射频特征,输出测试报告。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳 提交需求>
登录 | 立即注册
提交评论