NIST随机数测试:详解重叠模块匹配检验与统计分析
需积分: 29 169 浏览量
更新于2024-07-09
收藏 1.03MB PDF 举报
重叠模块匹配检验是电子工程师在设计和验证电子设备中常用的一种关键技术,特别是在处理随机或伪随机数据流时。这项检验主要应用于NIST(美国国家标准与技术研究所)的随机数测试标准,旨在检测序列中是否存在预设模块模式,以确保其随机性和均匀性。
2.8.1 检验目的
重叠模块匹配检验的目的是检查数据流中是否存在预先定义的模块(B,长度为m),尤其是在数据流中有重复或相邻模块的情况下。与非重叠模块匹配检验相比,它在发现目标模块后,窗口只向后移动一位,然后继续搜索,这增加了对连续模式的敏感性。
2.8.2 函数调用
`OverlappingTemplateMatching(m, n)` 函数是实现这一功能的核心,其中:
- `m` 代表模块的长度,通常对应于游程的长度。
- `n` 是数据串的长度,即要检验的整体序列长度。
- 其他参数包括:
- `ε`:一个随机或伪随机码序列,由测试代码提供,长度从1到n。
- `B`:预先定义好的m位模块,存储在非周期模式库中。
- `K`:自由度的数量,通常设置为5,用于调整检验的灵活性。
- `M`:子块的长度,通常在测试编码中固定为1032。
- `N`:独立子块的数量,一般设置为968,用于分割数据进行并行检验。
2.8.3 检验统计量及其标准分布
检验统计量衡量的是实际检测到的模块数量与预期模块数量的匹配程度。其标准分布是基于理论上的随机性预期的,即如果数据是随机的,统计量应该接近零。当序列中存在非随机模式时,这个统计量会偏离标准分布。
2.8.4 检验过程
步骤包括:
1. 将输入数据分为N个长度为M的独立子块。
2. 对每个子块应用重叠模块匹配算法。
3. 计算每个子块中匹配到的模块数量,汇总得到总匹配数。
4. 通过比较实际匹配数与理论预期,评估数据的随机性。
NIST随机数测试提供了全面的随机性测试手段,包括重叠模块匹配检验在内,以确保生成的序列符合高质量的随机性标准。在实际应用中,如果所有16种测试手段均显示通过,那么可以认为生成的数字序列具有足够的随机性和均匀性,适合用于安全性和保密性的关键应用。
2024-02-28 上传
2021-09-22 上传
2021-09-21 上传
点击了解资源详情
2021-05-29 上传
2021-05-03 上传
2021-11-23 上传
2024-02-03 上传
2021-11-19 上传
羊牮
- 粉丝: 41
- 资源: 3905
最新资源
- C语言快速排序算法的实现与应用
- KityFormula 编辑器压缩包功能解析
- 离线搭建Kubernetes 1.17.0集群教程与资源包分享
- Java毕业设计教学平台完整教程与源码
- 综合数据集汇总:浏览记录与市场研究分析
- STM32智能家居控制系统:创新设计与无线通讯
- 深入浅出C++20标准:四大新特性解析
- Real-ESRGAN: 开源项目提升图像超分辨率技术
- 植物大战僵尸杂交版v2.0.88:新元素新挑战
- 掌握数据分析核心模型,预测未来不是梦
- Android平台蓝牙HC-06/08模块数据交互技巧
- Python源码分享:计算100至200之间的所有素数
- 免费视频修复利器:Digital Video Repair
- Chrome浏览器新版本Adblock Plus插件发布
- GifSplitter:Linux下GIF转BMP的核心工具
- Vue.js开发教程:全面学习资源指南