本技术涉及量子随机源芯片随机数质量检测,具体涉及一种量子随机源芯片随机数测试方法、一种量子随机源芯片随机数测试装置、一种机器可读存储介质及一种终端设备。
背景技术:
1、量子随机数是指利用量子力学原理生成的随机数,根据量子力学原理,量子系统的测量结果具有内在随机性。利用这一特性产生的数字序列具有高度的随机性和不可预测性,使得量子随机数生成技术成为迄今最接近理想真随机数的技术,这种特性使其在安全通信和密码学领域展现出巨大潜力。
2、但是,量子随机数发生器,如量子随机源安全芯片在生成量子随机数时,其输出随机数的质量会受到物理环境中多种因素的影响。这些因素可能导致量子熵源的提取效率降低、经典噪声混入、信号失真等问题,最终损害随机数的不可预测性和统计均匀性。因此,为确保量子随机源安全芯片在其全生命周期内输出随机数的可靠性,需要建立高效且可灵活配置的测试系统与装置,以实现对芯片全生命周期内随机数质量的全面测试。
3、目前,现有的量子随机源安全芯片的随机数测试,通常仅在芯片性能稳定后进行一次性测试,或在老化测试过程中阶段性验证其随机数功能是否正常。然而,这类测试缺乏对随机数正确性和随机性质量的深度验证,阶段性的测试结果无法充分反映芯片在整个生命周期内的随机数质量,更缺少对量子随机源安全芯片全生命周期随机数质量的动态监测与持续评估。
技术实现思路
1、本技术实施例的目的是提供一种量子随机源芯片随机数测试方法、一种量子随机源芯片随机数测试装置、一种机器可读存储介质及一种终端设备,以解决上述问题。
2、为了实现上述目的,本技术第一方面提供一种量子随机源芯片随机数测试方法,应用于主机端,包括:
3、生成目标量子随机源芯片的取随机数指令,并通过控制端将所述取随机数指令发送至所述目标量子随机源芯片,以控制所述目标量子随机源芯片持续产生随机数;
4、在预设测试周期内的每个采样节点,持续接收所述目标量子随机源芯片产生的随机数,并基于接收到的随机数进行取随机数指令响应的异常检测;
5、若确定当前取随机数指令响应异常,终止所述目标量子随机源芯片的测试流程;否则,持续接收随机数,直至在当前采样节点接收到的所有随机数的数据大小达到预设值,将当前采样节点接收到的所有随机数存储为对应的存储文件;
6、对各采样节点的存储文件执行合并操作,生成所述目标量子随机源芯片的完整随机数文件,基于所述完整随机数文件对所述目标量子随机源芯片产生的随机数进行质量评估。
7、可选地,确定当前取随机数指令响应异常,包括:
8、获取各随机数的状态字,若当前状态字与预设状态字响应值不一致,确定当前取随机数指令响应异常,其中,随机数的状态字由所述目标量子随机源芯片基于预设协议对所述取随机数指令进行响应后生成;或者
9、若当前状态字与预设状态字响应值不一致,基于对当前随机数中各字符进行匹配判断当前随机数是否存在伪随机特征,若当前随机数存在伪随机特征,确定当前取随机数指令响应异常。
10、可选地,基于对当前随机数中各字符进行匹配判断当前随机数是否存在伪随机特征,包括:
11、通过指定字符长度的滑动窗口,以当前随机数的起始字符至结束字符的顺序,依次选中当前随机数中所述指定字符长度的字符;
12、若当前滑动窗口内的所有字符均相同,确定当前随机数存在伪随机特征。
13、可选地,基于对当前随机数中各字符进行匹配判断当前随机数是否存在伪随机特征,包括:
14、对当前随机数中各字符进行字符转换,以将当前随机数转换为随机数比特流;
15、通过预设比特长度的滑动窗口对所述随机数比特流执行滑动操作,以按照所述随机数比特流的起始比特至结束比特的顺序,依次选中所述随机数比特流中对应比特长度的比特数据;
16、按照滑动顺序,依次计算每次滑动操作时,当前滑动窗口的比特数据的第一数据特征,以及依次计算每次滑动操作时,当前滑动窗口与前一滑动窗口的比特数据的第二数据特征;
17、基于获得的所有第一数据特征或第二数据特征确定当前随机数是否存在伪随机特征。
18、可选地,依次计算每次滑动操作时,当前滑动窗口的比特数据的第一数据特征,包括:
19、确定当前滑动窗口的比特数据中,值为预设指定值的比特数据的第一数量,以所述第一数量作为当前滑动窗口的比特数据的第一数据特征;
20、依次计算每次滑动操作时,当前滑动窗口与前一滑动窗口的比特数据的第二数据特征,包括:
21、将当前滑动窗口的比特数据与上一滑动窗口的比特数据进行一一匹配;
22、确定当前滑动窗口的比特数据与上一滑动窗口的比特数据中,比特数据的值不同的比特数据的第二数量,以所述第二数量作为当前滑动窗口的比特数据的第二数据特征。
23、可选地,基于获得的所有第一数据特征确定当前随机数是否存在伪随机特征,包括:
24、确定所述第一数据特征的第一期望值、所述第一数据特征的最小值和所述第一数据特征的最大值,其中,所述第一期望值为所述预设比特长度的1/2;
25、将各滑动窗口对应的第一数据特征与所述第一期望值进行匹配,确定各滑动窗口对应的第一数据特征与所述第一期望值的绝对差值;
26、若得到的所有绝对差值中,大于绝对差值阈值的数量大于第一数量阈值,确定当前随机数存在伪随机特征。
27、可选地,基于获得的所有第二数据特征确定当前随机数是否存在伪随机特征,包括:
28、确定所述第二数据特征的第二期望值,将各滑动窗口对应的第二数据特征与所述第二期望值进行比较,确定值小于所述第二期望值的第二数据特征的第三数量;
29、确定所有第二数据特征的第四数量,基于二项式分布原理确定滑动窗口的长度为所述预设比特长度时,滑动窗口对应的第二数据特征的值小于所述第二期望值的理论概率,并确定所述理论概率的波动范围值;
30、对所述第四数量与所述理论概率求积,得到在所述理论概率下,值小于所述第二期望值的第二数据特征的理论目标数量,基于所述理论目标数量及所述波动范围值确定在所述理论概率下,值小于所述第二期望值的第二数据特征的理论目标数量范围;
31、若所述第三数量不处于所述理论目标数量范围内,确定当前随机数存在伪随机特征。
32、可选地,所述控制端包括至少一个处理模块,通过控制端将所述取随机数指令发送至所述目标量子随机源芯片,包括:
33、确定目标处理模块,将所述取随机数指令发送至所述控制端,以通过所述控制端将所述取随机数指令发送至所述目标处理模块,所述目标处理模块用于依据所述取随机数指令控制所述目标量子随机源芯片产生随机数;
34、所述方法还包括:
35、在测试过程中,响应于通信速率配置指令,获取目标速率值并确定待进行通信速率配置的处理模块,基于所述目标速率值及所述待进行通信速率配置的处理模块生成通信速率配置指令;
36、将所述通信速率配置指令发送至所述待进行通信速率配置的处理模块,以使得所述待进行通信速率配置的处理模块依据所述通信速率配置指令执行通信速率配置,接收所述待进行通信速率配置的处理模块返回的通信速率配置结果。
37、本技术第二方面,提供一种量子随机源芯片随机数测试方法,应用于控制端,所述控制端包括至少一个处理模块,所述方法包括:
38、接收主机端生成的取随机数指令,确定目标量子随机源芯片,确定与所述目标量子随机源芯片匹配的目标处理模块;
39、将所述取随机数指令发送至所述目标处理模块,以通过所述目标处理模块控制所述目标量子随机源芯片持续产生随机数,并通过所述目标处理模块将所述目标量子随机源芯片产生的随机数发送至所述主机端;以及
40、在测试过程中,接收所述主机端生成的通信速率配置指令,所述通信速率配置指令由所述主机端基于预确定的目标速率值及待进行通信速率配置的处理模块生成;
41、将所述目标速率值发送至所述待进行通信速率配置的处理模块,以使得所述待进行通信速率配置的处理模块依据所述目标速率值执行通信速率配置,接收所述待进行通信速率配置的处理模块返回的通信速率配置结果,将所述通信速率配置结果发送至所述主机端。
42、本技术第三方面,提供一种量子随机源芯片随机数测试装置,应用上述的量子随机源芯片随机数测试方法,所述装置包括:
43、指令生成模块,被配置为生成目标量子随机源芯片的取随机数指令,并通过控制端将所述取随机数指令发送至所述目标量子随机源芯片,以控制所述目标量子随机源芯片持续产生随机数;
44、数据采样模块,被配置为在预设测试周期内的每个采样节点,持续接收所述目标量子随机源芯片产生的随机数,并基于接收到的随机数进行取随机数指令响应的异常检测;
45、数据处理模块,被配置为若确定当前取随机数指令响应异常,终止所述目标量子随机源芯片的测试流程;否则,持续接收随机数,直至在当前采样节点接收到的所有随机数的数据大小达到预设值,将当前采样节点接收到的所有随机数存储为对应的存储文件;
46、评估模块,被配置为对各采样节点的存储文件执行合并操作,生成所述目标量子随机源芯片的完整随机数文件,基于所述完整随机数文件对所述目标量子随机源芯片产生的随机数进行质量评估。
47、本技术第四方面,提供一种量子随机源芯片随机数测试装置,应用上述的量子随机源芯片随机数测试方法,所述装置包括:
48、第一指令接收模块,被配置为接收主机端生成的取随机数指令,确定目标量子随机源芯片,确定与所述目标量子随机源芯片匹配的目标处理模块;
49、数据传输模块,被配置为将所述取随机数指令发送至所述目标处理模块,以通过所述目标处理模块控制所述目标量子随机源芯片持续产生随机数,并通过所述目标处理模块将所述目标量子随机源芯片产生的随机数发送至所述主机端;
50、第二指令接收模块,被配置为在测试过程中,接收所述主机端生成的通信速率配置指令,所述通信速率配置指令由所述主机端基于预确定的目标速率值及所述待进行通信速率配置的处理模块生成;
51、通信速率配置模块,被配置为将所述目标速率值发送至所述待进行通信速率配置的处理模块,以使得所述待进行通信速率配置的处理模块依据所述目标速率值执行通信速率配置,接收所述待进行通信速率配置的处理模块返回的通信速率配置结果,将所述通信速率配置结果发送至所述主机端。
52、本技术第五方面,提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行如上述的量子随机源芯片随机数测试方法。
53、本技术第六方面,提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的量子随机源芯片随机数测试方法的步骤。
54、本技术通过在测试周期内设置多个采样节点,在每个采样节点持续接收指定数据大小的随机数数据,在数据采集过程中,实时对采集到的随机数进行异常检测,并根据异常检测结果控制测试流程,同时,测试过程中,通过将每个节点接收到的随机数存储为不同的存储文件,在测试结束后再将各节点的存储文件合并为完整的随机数文件,从而能够对各阶段或全生命周期整体的随机数进行全面评估,本技术能够对量子随机源芯片的全生命周期产生的随机数进行采集,实现对芯片随机数质量动态变化的全面监测。
55、本技术实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。