论文部分内容阅读
随机数在密码学中的具有十分重要的地位,被广泛用于密钥产生、初始化向量、时间戳、认证挑战码、密钥协商、大素数产生等等方面。随机数产生器就是用于产生随机数的算法、函数以及设备。因此它的安全性也就对密码系统的安全性带来重要影响。本文主要对确定性随机数产生器(伪随机数产生器)进行了研究。主要内容包括如下几点:第一,对随机数的一些概念进行明确定义,并对过去的一些随机数产生器及其标准进行相关的分析和总结。接着阐述了确定性随机数产生器中使用的密码学算法的数学结构和特点。第二,对一些确定性随机数产生器的测试方法进行分析,以确定这些标准的实际意义和验证手段的有效性。因此,本文对FIPS 140-1随机数测试验证方法进行了相关的数学分析。另外,借助一些文献的帮助,本文还对SP800-22随机数测试验证方法进行了讨论,其中也对其统计学意义进行了研究。第三,对SP800-90确定性随机数产生推荐标准进行安全性分析。因为在之前的Crypto 2007会议上,有报告宣称其存在技术后门,可以使得攻击者轻而易举地攻击这个系统。一个标准存在如此大的问题是很令人吃惊的。本文在参考了报告的基础上,对这个标准进行了详细的分析,指出了攻击该系统的Dual_EC_DRBG需要满足的一系列条件和带来的影响,并给出了相关的数学推导,由于椭圆密码系统较为复杂,所以之前背景知识论述时给予其较大的篇幅。第四,对自己设计并投入工程使用的确定性随机数产生器进行研究,分析其统计特性和相关的安全性。作者用FIPS 140-1随机数验证方法来对这个确定性随机数产生器进行检测,结果发现,这个确定性随机数产生器通过了FIPS 140-1所有的验证方法测试,因而具有良好的统计特性。作者对针对该随机数产生器可能存在的攻击进行了分析,指出了攻击是可能的,但是实现起来比较困难。