论文部分内容阅读
随机数作为密钥或密码运算资源被广泛应用于信息安全系统,随机数的研究越来越重要。随着计算技术和密码学的发展,在信息安全应用中不仅需要可输出各种形式随机数的发生器,而且还需要对随机数的随机性做更深入的研究与分析,为相关应用提供理论支撑。本文综合讨论了随机数发生器及随机性检测器的设计与实现。首先对随机数发生器进行了分类讨论,按照真随机数发生器与伪随机数发生器两种产生方法及性能进行了分析和对比。本文研究并设计了两款伪随机数发生器,并用软件实现这两个发生器,产生相应的实例以供随机性检测器测试。同时在信息安全领域真随机数发生器中选择了一款常用的噪声源芯片WNG4,用该芯片产生真随机数,本软件系统调用该真随机数序列作为测试实例,以供随机性检测器测试。其次本文设计并实现了一款随机性检测器,该检测器实现了国内较常用的15种检测方法,包括单比特频数检测、块内频数检测、扑克检测、重叠子序列检测、游程总数检测、游程分布检测、块内最大“1”游程检测、二元推导检测、自相关检测、矩阵秩检测、累加和检测、近似熵检测、线性复杂度检测、Maurer通用统计检测、离散傅立叶检测等15项检测方法。以统计与概率学为理论依据,对15种检测方法进行软件实现,对每种方法的运算步骤及实现做了详细的研究与分析。然后本文使用三个正向实例与一个反向实例作为测试案例对检测器进行测试。正向实例为本文自行设计的随机数发生器产生的结果作为待测样本数据,即两款伪随机数发生器与一款真随机数发生器产生的随机数。反向实例为模拟一个有明显缺陷的随机数序列。本文详细讨论了测试结果,对随机数发生器与随机性检测器同时进行测试与验证,以证明随机数发生器的良好性能及随机性检测器的运行有效性,并得出结论,证明该检测系统的设计与实现与预期一致。本文的亮点在于:紧密结合工作实际,紧紧围绕随机数随机性检测这一课题的研究,系统地梳理了相关检测方法,综合国内实际情况选择了最适合信息安全领域的15种检测方法,再用简洁高效的软件语言实现这些检测方法,拓展了企业在随机性检测领域的检测能力,使之成为信息安全领域的有效测试工具。