没有合适的资源?快使用搜索试试~ 我知道了~
使用NIST统计测试集验证STM32微控制器随机数生成
1 下载量 167 浏览量
2023-05-05
14:05:01
上传
评论 1
收藏 607KB PDF 举报
温馨提示
试读
27页
使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成使用NIST统计测试集验证STM32微控制器随机数生成 使用NIST统计测试集验证STM32微控制器随机数生成
资源推荐
资源详情
资源评论
2021年8月 AN4230 Rev 1 [English Rev 5] 1/27
1
AN4230
应用笔记
使用NIST统计测试集验证STM32微控制器随机数生成
引言
很多标准都规定了构造要求和参考、随机数发生器(RNG)的验证和使用,以便检验其生成
的输出是否是真正的随机数。
本应用笔记中包含的一些指南用于检验下表列出的所选STM32微控制器(MCU)中嵌入的
RNG外设生成的数字的随机性。该检验基于NIST(国家技术标准委员会)的统计测试集
(STS)SP 800-22rev1a(2010年4月)或SP 800-90b(2018年1月)进行。
本文档结构如下:
• STM32微控制器随机数发生器概述
(参见
第
1
节
)
• NIST SP800-22b测试集(请参见
第
2
节
)
• 运行NIST SP800-22b测试和分析需要执行的步骤(请参见
第
3
节
)
• NIST SP800-90b测试集(请参见
第
4
节
)
• 运行NIST SP800-90b测试和分析需要执行的步骤(请参见
第
5
节
)
表1. 适用产品
类型
产品
使用SP800-22rev1a检查
使用
SP800-90b检查
微控制器
STM32F2系列、STM32F4系列、STM32F7系列
STM32H742、STM32H743/753、STM32H745/755、
STM32H747/757系列、STM32H750超值系列
STM32L0系列、STM32L4系列、STM32L4+系列
STM32H7A3/7B3系列、
STM32H7B0超值系列、
STM32L5系列
www.st.com
目录 AN4230
2/27 AN4230 Rev 1 [English Rev 5]
目录
1 STM32 MCU RNG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 STM32 MCU实施说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 NIST SP800-22b测试集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 NIST SP800-22b测试集说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 NIST SP800-22b测试集运行和分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 固件说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 STM32 MCU侧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 在NIST SP800-22b测试集端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 NIST SP800-22b测试集步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.1 第一步:随机数发生器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.2 第二步:NIST统计测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 第三步:测试报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 NIST SP800-90b测试集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 NIST SP800-90b测试集说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.1 非IID跟踪:非IID数据的熵估计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5 NIST SP800-90b测试集运行和分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1 固件说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1.1 STM32 MCU端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1.2 NIST SP800-90b测试集端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2 NIST SP800-90B测试集步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2.1 第一步:随机数发生器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2.2 第二步:NIST统计测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2.3 第三步:测试报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 结论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
附录A NIST SP800-22b统计测试集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
图片目录 AN4230
4/27 AN4230 Rev 1 [English Rev 5]
图片目录
图1. STM32真RNG框图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
图2. 基于NIST测试集的二进制序列随机性偏差测试框图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
图3. 主sts-2.1.1屏幕 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
图4. 文件输入屏幕 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
图5. 统计测试屏幕 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
图6. 参数调整屏幕 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
图7. 位流输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
图8. 输入文件格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
图9. 统计测试正在进行中 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
图10. 统计测试完成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
AN4230 Rev 1 [English Rev 5] 5/27
AN4230 STM32 MCU RNG
26
1 STM32 MCU RNG
1.1 引言
为加密应用程序使用的随机数发生器(RNG)通常会生成由随机的0或1位组成的序列。
随机数发生器基本上分为两类,分别是:
• 确定性RNG或伪RNG(PRNG)
确定性RNG包含的算法会通过名为种子的初始值生成位序列。为确保向前不可预测性,
获取种子时必须多加留意。如果已知种子和生成算法,PRNG生成的数值是完全可预测
的。由于很多情况下生成算法是公开可用的,因此种子必须保密,并通过TRNG来生成。
• 非确定性RNG或真RNG(TRNG)
非确定性RNG生成的随机性取决于一些不受人为控制的不可预测物理源(熵源)。
在一些STM32微控制器上实施的RNG硬件外设属于真随机数发生器。
1.2 STM32 MCU实施说明
下表列出了嵌入了RNG外设的基于STM32 Arm
®(a)
内核的微控制器。
a. Arm是Arm Limited(或其子公司)在美国和/或其他地区的注册商标。
表2. 嵌入RNG硬件外设的STM32系列
系列 STM32系列
STM32F2系列
STM32F2x5, STM32F2x7
STM32F4系列
STM32F405/415、STM32F407/417、STM32F410、STM32F427/437、
STM32F429/439、STM32F469/479
STM32F7系列
STM32F7x5, STM32F7x6
STM32L0系列 STM32L05x、STM32L06x、STM32L072/073
STM32L4系列
STM32L4x6
STM32L4+系列 所有系列
STM32H7系列
STM32H742、STM32H743/753、STM32H745/755、STM32H747/757、
STM32H750超值系列、STM32H7A3/7B3、STM32H7B0超值系列
STM32L5系列
STM32L5x2
剩余26页未读,继续阅读
资源评论
三雷科技
- 粉丝: 3w+
- 资源: 100
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功