用于测试由随机数生成器生成的序列的设备和方法技术

技术编号:30714066 阅读:28 留言:0更新日期:2021-11-10 11:06
本发明专利技术的实施例提供了一种用于测试由随机数生成器(11)生成的位序列的设备(100),其中该设备被配置为响应于检测到由随机数生成器(11)生成的N个位,对位序列应用一个或多个统计测试(103),每个统计测试提供从所述序列的位导出的至少一个总和值,该测试设备包括:

【技术实现步骤摘要】
【国外来华专利技术】用于测试由随机数生成器生成的序列的设备和方法


[0001]本专利技术总体上涉及用于测试由随机数生成器生成的序列的设备和方法。

技术介绍

[0002]随机数生成器用于生成一组随机数(以位流的形式)以用于许多系统中。例如,可以在密码系统中使用随机数生成器来生成用于安全传输数据的随机密码密钥。
[0003]随机数生成器包括:硬件随机数生成器,也称为真随机数生成器(TNRG),它从物理过程而不是计算机程序(非确定性源)生成一组数字;以及伪随机数生成器,其从确定性源(例如,确定性算法)生成数字。
[0004]TNRG可以基于微观现象,所述微观现象生成低级、统计随机“噪声”信号,例如热噪声或散粒噪声、光电效应,涉及分束器和其它量子现象。TNRG通常包括将从物理现象导出的量或数据转换为电信号的换能器、放大器、被配置为将随机波动的幅度增加到可测量水平的附加组件,以及被配置为将这样获得的输出转换为数字(例如二进制数字0或1)的模数转换器。然后,TRNG对随机变化的信号重复采样以获得一系列随机数。
[0005]随机数生成的质量对于实现密码系统(例如密钥生成、认证协议、填充、数字签名、加密算法)至关重要。在此类应用中,安全性密切取决于所生成的随机数的质量。
[0006]事实上,许多攻击都针对密码系统的实现方式中的弱点。此类弱点可能源于所生成的随机数的质量,并被攻击者利用以试图破坏系统。
[0007]存在若干测试方法和系统用于测试生成的随机数的质量(特别是随机性),其中大多数基于统计测试。
[0008]这种测试被应用于检查随机获取的数字序列是否具有两个主要统计特性:
[0009]‑
生成的值应该均匀分布,以及
[0010]‑
生成的值应该独立于先前生成的值。
[0011]认识到这一点,如NIST和BSI的标准化实体已建立了给定20000位的二进制序列的统计测试套件。本文档的目的是提供测试的数学解释,并在给定N位序列、错误概率和其它参数的情况下建立通用数学公式。
[0012]当前需要测试由TNRG生成的随机数的集合,因为它可能会影响使用此类随机数的系统的性能,例如AIS31、FIPS140

1、NIST和DIEHARD测试。
[0013]如NIST和BSI的标准化实体已建立了给定固定位数(20000位)的二进制序列的统计测试套件。
[0014]在现有方法中,因此每次TRNG产生20000位序列时应用统计测试,该测试基于序列计算不同的总和。然后将这些总和与预先定义和固定的阈值进行比较,并取决于比较结果决定是接受还是拒绝该序列。用于执行比较的阈值被预先定义为固定错误概率的函数。
[0015]现有的测试方法和设备引入了不可控的延迟。此外,它们不能适用于解决目标错误概率。
[0016]因此,需要用于测试由随机数生成器生成的位序列的改进方法和设备。

技术实现思路

[0017]为了解决这些和其它问题,提供了一种用于测试由随机数生成器生成的位序列的设备,该设备被配置为响应于检测到由随机数生成器生成的N个位,对位序列应用一个或多个统计测试,每个统计测试提供从序列的位导出的至少一个总和值。该测试设备可以包括:
[0018]‑
比较器,用于将与每个统计测试相关的至少一个测试参数与一个或多个阈值进行比较;
[0019]‑
验证单元,其被配置为取决于由比较器对每个统计测试进行的比较来确定位序列是否有效;
[0020]其中,至少一个测试参数和至少一个阈值是根据N并且根据目标错误概率确定的。
[0021]在一些实施例中,被应用于序列的至少一个或多个统计测试包括统计测试的集合,该统计测试提供从序列的位导出的至少一个总和值,所述至少一个总和值针对每个统计测试提供至少一个测试参数,该设备还包括:
[0022]‑
阈值确定单元,用于针对统计测试的集合的每个统计测试,根据N并且根据与每个总和值相关联的目标错误概率确定下阈值和上阈值;
[0023]比较器被配置为针对每个统计测试将每个总和值与相关联的下阈值和上阈值进行比较。
[0024]在这样的实施例中,比较器可以被配置为如果每个总和值严格高于相关联的下阈值并且严格低于上阈值,则输出针对统计测试的验证位。
[0025]此外,验证单元可以被配置为如果针对统计测试的至少一个总和值低于或等于相关联的下阈值或者高于或等于对应的上阈值时,拒绝位序列。
[0026]在一个实施例中,统计测试可以包括提供总和值T1的AIS单位测试,对应的下阈值L1和上阈值H1等于:
[0027]以及
[0028][0029]其中α表示目标错误概率。
[0030]在一个实施例中,统计测试可以包括AIS扑克测试,测试设备确定总和值T2。对应的下阈值L2和上阈值H2等于:
[0031]以及
[0032][0033]其中M表示位序列中连续块的长度,且α表示错误概率。
[0034]在实施例中,统计测试可以包括AIS运行测试,测试设备针对长度为k的每个运行确定总和值T
3(N,k)
,针对长度为k的每个运行,下阈值L
3,k
和上阈值H
3,k
等于:
[0035][0036][0037]其中α表示目标错误概率且
[0038]在一些实施例中,被应用于序列的至少一个或多个统计测试包括统计测试的附加集合,针对每个统计测试,测试设备确定根据N和根据错误概率确定出的测试参数。
[0039]特别地,统计测试包括AIS最长运行测试,测试参数是运行长度k,长度k根据以下等式确定:
[0040][0041]其中α表示长运行概率。比较器随后将测试参数k与运行的最大长度进行比较。
[0042]在一个实施例中,位序列长度N可以在一个或多个时钟周期之间改变。
[0043]可以在不同时间或同时接收针对错误概率和数量N的新值。
[0044]还提供了一种在至少一个集成电路上实现的系统,该系统包括使用由随机数生成器生成的随机位序列的设备,其中该设备还包括根据前述实施例中的任一项所述的用于在使用之前测试由随机数生成器生成的每个随机位序列的测试设备。
[0045]还提供了一种用于测试由随机数生成器生成的位序列的方法,其中,该方法包括响应于检测到由随机数生成器生成的N个位,对位序列应用一个或多个统计测试,每个统计测试提供来自序列的位的至少一个测试参数,该测试方法包括:将与每个统计测试相关的至少一个测试参数与一个或多个阈值进行比较;取决于在比较步骤中针对每个统计测试执行的比较来确定所述位序列是否有效。测试参数和至少一个阈值中的至少一个是根据N并根据目标错误概率确定的。
[0046]本专利技术因此能够控制在给定系统中实现的随机数生成器的延迟/借记。
[0047]因此,本专利技术的实施例提供了贯穿所有操作阶段的灵活且完全延迟可控的RN本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于测试由随机数生成器(11)生成的位序列的设备(10),其中,所述设备被配置为响应于检测到由所述随机数生成器(11)生成的N个位,对所述位序列应用一个或多个统计测试(103),每个统计测试提供从所述序列的位导出的至少一个总和值,所述测试设备包括:

比较器,其用于将与每个统计测试相关的至少一个测试参数与一个或多个阈值进行比较;

验证单元(105),其被配置为取决于所述比较器针对每个统计测试进行的比较来确定所述位序列是否有效;其中,所述测试参数和所述至少一个阈值中的至少一个是根据N和根据目标错误概率确定的。2.根据权利要求1所述的设备,其中,被应用于所述序列的至少一个或多个统计测试(103)包括统计测试的集合,所述统计测试提供从所述序列的位导出的至少一个总和值,所述至少一个总和值提供针对每个统计测试的所述至少一个测试参数,所述设备还包括:

阈值确定单元(101),其用于针对所述统计测试的集合的每个统计测试,根据N并且根据与每个总和值相关联的目标错误概率来确定下阈值和上阈值;其中,所述比较器(102)被配置为针对每个统计测试,将每个总和值与相关联的下阈值和上阈值进行比较。3.根据权利要求2所述的设备,其中,所述比较器被配置为如果每个总和值严格高于所述相关联的下阈值并且严格低于所述上阈值,则输出针对统计测试的验证位。4.根据权利要求3所述的设备,其中,所述验证单元被配置为如果针对统计测试的至少一个总和值低于或等于相关联的下阈值或者高于或等于对应的上阈值,则拒绝所述位序列。5.根据前述权利要求2

4中任一项所述的设备,其中,所述统计测试(103)包括提供总和值T1的AIS单位测试,对应的下阈值L1和上阈值H1等于:以及其中,α表示所述目标错误概率。6.根据前述权利要求2

5中任一项所述的设备,其中,所述统计测试(103)包括提供总和值T2的AIS扑克测试,对应的下阈值L2和上阈值H2等于:以及其中,M表示所述位序列中连续块的长度,且α...

【专利技术属性】
技术研发人员:Y
申请(专利权)人:智能IC卡公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1