Nut_stm32f103c8侧信道分析
STM32F103C8是STMicroelectronics(意法半导体)公司推出的一款基于ARM Cortex-M3内核的微控制器芯片。该芯片因其高性能、低功耗以及丰富的外设资源在嵌入式系统中得到了广 泛的应用。
Nut_stm32f103c8
开发板基于STM32F103C8芯片设计,适用于嵌入式芯片固件的侧信道分析研究和教学。本文以Nut_stm32f103c8
为例,介绍如何使用Cracker-S1
分析密码算法的功耗信息泄露。
STM32F103介绍
主要参数
STM32F103C8芯片的架构如下图所示(RM0008)。
主要参数如下:
- 内核:采用ARM 32位的Cortex-M3处理器,主频最高可达72MHz,具有单周期乘法和硬件除法功能。
- 存储器:
- 最高512KB的闪存(Flash)用于存储程序代码。
- 最高64KB的SRAM用于数据存储。
- 时钟系统:
- 内部8MHz的RC振荡器。
- 支持外部4-16MHz的晶振。
- 可以通过PLL进行时钟倍频。
- 外设:
- 最多3个SPI接口、2个I2C接口、5个UART接口、2个USB接口(其中一个是全速USB)。
- 最多18个定时器,包括基本定时器、通用定时器以及高级定时器。
- 12位ADC转换器,最多可达16个通道。
- 12位DAC转换器,最多2个通道。
- CAN接口(部分型号)。
- 工作电压:2.0V至3.6V。
- 封装类型:LQFP、LFBGA、UFQFPN、WLCSP等 多种封装形式,提供不同的引脚数量以满足不同的设计需求。
- 低功耗模式:睡眠、停止和待机模式,有助于降低功耗,适用于电池供电的应用。
- 开发支持:ST提供了完善的软件开发环境,包括STM32CubeMX配置工具和HAL库,方便开发者进行程序设计和调试。
STM32F103系列因其性价比高、易于开发、社区支持强大等特点,在工业控制、消费电子、智能家居、物联网等领域有着广泛的应用。
时钟系统
STM32F103的时钟可分为内部时钟和外部时钟两类:
-
内部时钟(HSI/LSI):
-
优点:无需外接元件,成本低,启动快,抗干扰强。
-
缺点:精度低(RC振荡器),适合非精确场景(如看门狗、应急备用)。
-
-
外部时钟(HSE/LSE):
-
优点:精度高(晶体振荡),稳定性好,适合高速通信、实时计时(如USB、RTC)。
-
缺点:需外接晶体,增加硬件成本,启动时间略长。
-