概述

检测标准

  • 我国随机检测规范GM/T 0005-2012《随机性检测规范》,现已经升级为国家标准GB/T 32915-2016 信息安全技术 二元序列随机性检测方法。
  • NIST随机性检测文档NIST SP800-22r1a, A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications。

1 检测项对比

NIST和国密随机性检测项目的对比如下:

  1. NIST15个检测项,国密有15个检测项。
  2. 两者有11个相同的检测项:单比特频数检测、块内频数检测、游程总数检测、块内最大1游程检测、矩阵秩检测、离散傅里叶变换检测、Maurer通用统计检测、线性复杂度检测、重叠子序列检测、近似熵检测、累加和检测。
  3. NIST4个专有检测项:随机游动检测、随机游动变式检测、非覆盖模板匹配检测、覆盖模板匹配检测。
  4. 国密有4个专有检测项:扑克检测、游程分布检测、二元推导检测、自相关检测。

NIST测试项

国密测试项GM

单比特频数检测

Frequency(Monobit) Test

单比特频数检测

Monobit Frequency Test

块内频数检测

Frequency Test within a block

块内频数检测

Frequency Test within a block

游程检测

Runs Test

游程总数检测

Runs Test

块内“1”的最大游程检测

Test for the longest Run of Ones in a block

块内最大1游程检测

Test for the longest Run of Ones in a block

二元矩阵秩检测

Binary Matrix Rank Test

矩阵秩检测

Binary Matrix Rank Test

离散傅里叶变换检测

Discrete Fourier Transform (Spectral) Test

离散傅里叶变换检测

Discrete Fourier Transform  Test

Maurer通用统计检测

Maurer's "Universal Statistical" Test

Maurer通用统计检测

Maurer's "Universal Statistical" Test

线性复杂度检测

Linear Complexity Test

线性复杂度检测

Linear Complexity Test

序列检测

Serial Test

重叠子序列检测

Serial Test

近似熵检测

Approximate Entropy Test

近似熵检测

Approximate Entropy Test

累积和检测

Cumulative Sums (Cusum) Test

累加和检测

Cumulative Test

随机游动检测

Random Excursion Test

——

随机游动变式检测

Random Excursion Variant Test

——

非覆盖模板匹配检测

Non-overlapping Template Matching Test

——

覆盖模板匹配检测

Overlapping Template Matching Test

——

——

扑克检测

poker test

——

游程分布检测

runs distribution test

——

二元推导检测

binary derivative test

——

自相关检测

Autocorrelation Test

2 检测参数对比

参数说明:

  • n:样本序列的比特长度。国密规定取1000000;NIST未定义,但倾向于取1000000。
  • a:显著性水平。国密规定为0.01;NIST未定义,建议为0.001~0.01。

检测项

NIST参数建议

STS参数取值

国密参数取值

单比特频数检测

n>100

自定义n

n=1000000

块内频数检测

n>100,

块大小M>20,M>0.1n

块数N=floor(n/M)<100

块大小M=128

可自行设定

块大小M=100

游程检测

n>100

自定义n

n=1000000

块内最大1游程检测

块大小M,由n定:

当128<=n<6272时,取M=8;

当6272<=n<750000时,取M=128

当750000<=n时,取M=10000

根据n值设定M,具体设定同左

块大小M =10000

二元矩阵秩检测

n>32MQ,其中M和Q矩阵的行数和列数

M=Q=32

M=Q=32

离散傅里叶变换检测

n>1000

自定义n

n=1000000

Maurer通用统计检测

n>=(Q+K)L

6<=L<=16

Q=10*2L

K=floor(n/L)-Q

表后的图有详细设定

按表后的图,根据n值设定L和Q

n=1000000

L=7

Q=1280

线性复杂度检测

n>=1000000

块长M:500<M<5000

块数N:N>200

块长M=500

可自行设定

块长M=500

序列检测

m=16

可自行设定

m=2,5

近似熵检测

m=10

可自行设定

m=2,5

累积和检测

n>100

自定义n

n=1000000

随机游动检测

n>=1000000

自定义n

N/A

随机游动变式检测

n>=1000000

自定义n

N/A

非覆盖模板匹配检测

模板长度可为2-10,但通常取9,10(更有意义)

块数N<=100,

块大小M>0.01n

模板长度=9

可自行设定

N/A

覆盖模板匹配检测

n>1000000

建议m=9,10

n>=MN.

N •(min πi) > 5.

λ= (M-m+1)/2m ≈2

m ≈log2 M

m=9

可自行设定

N/A

扑克检测

N/A

N/A

子序列长度m=4,8

游程分布检测

N/A

N/A

n=1000000,k=15

二元推导检测

N/A

N/A

k=3,7

自相关检测

N/A

N/A

d=1,2,8,16

3 检测通过准则对比

  • NIST:两个准则。

    • (1)每个检测项计算出来的P值不小于显著性水平a为通过;通过的样本总量有上下界;
    • (2)P的统计一致性需满足要求。
  • 国密:一个准则。(1)每个检测项计算出来的P值不小于显著性水平a为通过;通过的样本总量只有下界,没有上界。

1)每个检测项计算出来的P值不小于显著性水平a

记s为样本个数

NIST

国密

显著性水平

建议为0.001~0.01

固定为0.01

通过率阈值

上下界

当显著性水平为0.01,样本个数s为1000时,上式计算出的上下界为(0.9805607,0.9994392)。

只有下界

当显著性水平为0.01,样本个数s为1000时,上式计算出的下界为0.9805607。

2P的统计一致性需满足要求(仅NIST

检测步骤:

步骤1:把[0,1]区间等份成10段,统计各个被检验序列的P值落入各区间的数目,再把统计结果用直方图表述出来。

步骤2:P值分布的一致均匀性可以通过检验来验证,并得到对应这个检验的所有被检验序列的P值的P值.这个P值表明P值的经验分布与一致均匀分布的符合程度(Goodness-of-Fit Distributional Test)。计算统计量:

其中是落入区间的P值数目,s是样本序列数目。

步骤3:计算

步骤4:如果这个,就说明被检验序列的P值一致均匀分布。

随机性检测标准对比——国密GM/T 0005 vs NIST SP800-22r1a相关推荐

  1. 随机性检测模块支持GM/T 0005-2021标准的升级建议

    如对GM/T 0005的2021版和2012版差异不了解,建议先翻看 GM/T 0005<随机性检测规范>2012版和2021版对比https://blog.csdn.net/samsho ...

  2. 国密算法简介及电子印章相关标准

    国密算法,即国家商用密码算法.是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准.如SM系列密码,SM代表商密,即商业密码,是指用于商业的.不涉及国家秘密的密码技 ...

  3. 商密圈大咖齐聚北京 共商国密开源未来发展方向

    2019年7月26日,星期五,北京已经连续被骄阳炙烤了一周,最高温度甚至超过 了40摄氏度.但是相比室外的高温,商密圈精英们参与"基于国密算法的OpenSSL技术沙龙"的热情更高, ...

  4. 基于国密算法SM2SSL证书的https加密,如何实现?

    为什么80%的码农都做不了架构师?>>>    如果要在客户端/网关系统和服务端之间进行SSL加密通信,当客户端应用(浏览器等)发起登录认证.加密.签名等请求时,服务端如何实现基于国 ...

  5. JumpServer国密支持配置

    1. 环境说明 HTTPS 国密证书配置在JumpServer前端的Nginx服务器,用户通过本地的国密支持的浏览器访问到Nginx服务器,此链路为国密HTTPS加密链路,Nginx服务器进行HTTP ...

  6. 国密版 Nginx服务器安装

    一.简介 GMSSL提供一个国密版OpenSSL和国密版Nginx,支持单向/双向认证,支持标准SSL/国密SSL自适应. 其中国密版OpenSSL基于OpenSSL1.1.1d实现,且已经修正了CV ...

  7. GM/T 0005《随机性检测规范》2012版和2021版对比

    目录 1. 背景 2. 规范的差异性对比 2.1 检测项存在的差异 2.1.1 检测线差异的概况 2.1.3 累加和检测的差异 2.1.4 游程分布检测的差异 2.1.5 离散傅里叶检测的差异 2.1 ...

  8. 随机数随机性检测工具国密版

    项目概述: 依据标准<GM/T 0005-2012 随机性检测规范>.<GB/T 32915-2016 信息安全技术 二元序列随机性检测方法>.对128mb的随机数文件进行随机 ...

  9. HSM 加密机 硬件加密机 国密标准解读 安当加密

    HSM全称硬件安全模块,是数据安全领域的关键硬件设备,是公钥基础设施的一部分.本文从国密0054出发,概要分析了HSM也就是通常说的服务器密码机需要遵循的国密相关标准,以及与等保的关系. 一.信息系统 ...

最新文章

  1. android中websockt断开链接,接吻SDK - 的WebSocket在断开的Android
  2. 【杂谈】有三AI-CV春季划有用吗,听听他们的分享
  3. [windows]windows 10 锁屏壁纸保存方法
  4. 【unity3d游戏开发之基础篇】利用射线实现鼠标控制角色转向和移动(角色移动一)...
  5. 利用资源文件实现多语言的系统
  6. 线性代数知识点总结_[Github项目推荐] 机器学习amp; Python 知识点速查表
  7. 测试机器学习算法的好坏
  8. 关于电的计算机公式,电能计算-电能的计算公式-电工基础 - 电工屋
  9. java 200以内质数_Java:2-200内的质数
  10. 快速达成目标的12种方
  11. 实现汉字的凯撒密码(内容包括:去掉字符串中的转义字符、汉字的unicode转换)
  12. i5 13600K和i5 12600k差距
  13. 计算机经典书籍- -
  14. vr技术在计算机教学中的应用,VR/AR技术在中小学基础教学中的应用分析
  15. APK文件完全破解(源码可见)
  16. html更改纵坐标数值,excel折线图纵坐标轴数值与实际值不一致该怎么办?折线图怎么修改纵坐标...
  17. 同是网盘下载工具,Pan Download和速盘Speedpan的对比
  18. RMQ--区间最值问题
  19. SpringCloud_EurekaRibbonNacosFeignGateway
  20. 微信小程序读取服务器多个数组,微信小程序多层嵌套循环,二级数组遍历

热门文章

  1. 什么是日志服务(事件日志服务)
  2. 深度学习框架PyTorch入门与实践:第八章 AI艺术家:神经网络风格迁移
  3. DL:卷积神经网络(CNN)的一些学习网址
  4. Apache服务器中的.htaccess文件的配置
  5. 北外的计算机专业好吗,高考快讯:北外首设波斯语和计算机专业
  6. 电动车充电软件测试,电动车充电用哪个app好?6款充电app评测
  7. access 报 操作必须使用一个可更新的查询 错误
  8. 区块链项目 - 1 创建一条公链
  9. 架构 对话架构师:亿级短视频社交美拍架构实战
  10. 十所大学!计算机第二学士学位开始报名!