这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » STM32硬件RNG使用

共1条 1/1 1 跳转至

STM32硬件RNG使用

工程师
2025-04-18 20:57:31     打赏

1、简介

RNG随机数字生成器,一些MCU会内置此类硬件外设用于生成长度为4个字节的随机数,在加密算法中,随机数用于生成加密密钥、初始化向量(IV)等。高质量的随机数对于保证加密系统的安全性至关重要,如果随机数的质量不高,攻击者可能通过分析随机数的规律来破解加密信息。以下使用STM32L4主控芯片,介绍RNG硬件外设使用的操作步骤:

2cubemx配置

勾选RNG外设,默认无cubemx设置参数,不使用RNG的NVIC配置

image.png

3、程序设计

 /* USER CODE BEGIN 2 */
uint32_t num=0;
  /* USER CODE END 2 */
 
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
 
    /* USER CODE BEGIN 3 */
if(HAL_RNG_GenerateRandomNumber(&hrng,&num)==HAL_OK){//调用随机数生成器,生成32字节随机数
printf("random_num = %d\n",num);
}
else{
printf("RNG Error!\n");
}
HAL_Delay(800);
printf("Hello.\n");
HAL_GPIO_TogglePin(USER_LED1_GPIO_Port, USER_LED1_Pin);
  }
  /* USER CODE END 3 */

4、实验效果

32字节随机数计算输出

D3(YUL9KECBKBFL)2]]BRUH.png





关键词: 随机数生成器RNG    

共1条 1/1 1 跳转至

回复

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