你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

AN4230:用NIST统计测试套件验证STM32 MCU随机数生成(中文译文)

[复制链接]
zero99 发布时间:2017-10-30 16:01
AN4230
应用笔记
使用 NIST 统计测试套件验证STM32 微控制器随机数生成


前言
很多标准都规定了构造要求和参考、随机数发生器 (RNG) 的验证和使用,以便检验其生成的
输出是否是真正的随机数。
本应用笔记中包含的指南用于检验所选 STM32 微控制器中嵌入的随机数发生器外设生成的
数字的随机性。本次验证是基于美国国家标准技术局 (NIST) 统计测试套件 (STS) SP 800-
22rev1a (2010 年 4 月)进行的。


1、STM32  微控制器随机数发生器
1.1 前言
为加密应用程序使用的随机数发生器 (RNG) 通常会生成由随机的 0 或 1 位组成的序列。
随机数发生器基本上分为两类,分别是:
1. 确定性随机数发生器或伪随机数发生器 (PRNG):
确定性 RNG 包含的算法会通过名为种子的初始值生成位序列。为确保向前不可预测
性,获取种子时必须多加留意。如果已知种子和生成算法,PRNG 生成的数值是完全可
预测的。由于很多情况下生成算法是公开可用的,因此种子必须保密,并通过 TRNG
来生成。
2.  非确定性随机数发生器或真随机数发生器 (TRNG):
非确定性 RNG 生成的随机性取决于一些不受人为控制的不可预测物理源 (即熵源)。
在 STM32 微控制器上采用的 RNG 硬件外设以及在 第  1.2.1 节 中介绍的 RNG 硬件外设属于
真随机数发生器。

1.2  STM32  微控制器实施说明
1.2.1  真随机数发生器
下表列出的是嵌入了 RNG 硬件外设的 STM32 微控制器线列:
22222.png

STM32 微控制器上使用的真随机数发生器外设基于模拟电路。该电路生成的连续模拟噪声
将用于 RNG 处理,以生成 32 位随机数。
该模拟电路由几个环形振荡器组成,振荡器的输出进行异或运算。
RNG 处理由采用恒定频率的专用时钟计时,对于微控制器的子设备,还可以使用频率值不
同的时钟来计时。
有关 RNG 外设的详细信息,请参见 STM32 微控制器参考手册。
图  1 给出了 STM32 微控制器的 TRNG 框图。
3333.png


2  NIST SP800-22b  测试套件
2.1  前言
NIST SP800-22b 统计测试套件已使用由 国家标准技术局 (NIST) 开发的统计数据测量套件
(sts) 实现,可检验用于加密应用的随机数发生器的质量。标题为 “A Statistical Test Suite for
the Validation of Random Number Generators and Pseudo Random Number Generators for
Cryptographic Applications”” 的文章对该套件进行了全面介绍。

2.2  NIST SP800-22b  测试套件说明
NIST SP800-22b 统计测试套件 “sts-2.1.1” 是由 国家标准技术局 开发的软件包,可在 NIST
网站上下载:请在 http://csrc.nist.gov 上搜索 “NIST Statistical Test Suite download”。

源代码使用 ANSI C 编写。 NIST 统计测试套件由 15 种测试组成,用于测试二进制序列的随
机性。这些测试主要针对序列中可能存在的各类非随机性问题。从这一角度,可将测试套件
分为以下几类:

频率测试
• 频率 (单比特)测试:
衡量 0 和 1 在序列中的分布情况,并检查结果是否与真随机数序列的预期结果相似。
• 块中的频率测试:
检查 M 位块中 1 的频率是否近似为预期通过随机性原理得到 M/2。
• 运行测试:
评估不同长度的 1 和 0 的预期运行总数是否是随机序列的预期结果。
• 测试块中运行最长的 “1”:
检查序列中的长运行 “1”:

...


阅读更多内容,请下载文档:
下载地址1>>        下载地址2>>

收藏 评论2 发布时间:2017-10-30 16:01

举报

2个回答
斜阳 回答时间:2017-10-30 16:20:41
谢谢分享         
Paderboy 回答时间:2017-10-30 16:25:21
来学习了。。

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版