1.3 实验结果及讨论
根据前面的定义l来检测本文中提出的 混沌 RNG的性能,用它生成不同长度的8bit随机数序列,计算其冗余度,并与参考文献中的传统混沌RNG方案做对比,如图4所示,点线表示本文提出的方案,实线表示69是文献中的方案。通过对比可以很明显地看出改进后的混沌RNC性能优于采用伪随机高斯噪声的传统混沌RNG方案。
仅仅由冗余度来衡量一个RNG是不够的。为了了解本文提出的混沌RNG输出序列的随机性是否实现了“随机”,我们根据美国国家标准及技术研究所(NIST)的要求对本文的混沌RNC方案产生的随机数序列的随机性进行一系列测试。测试所用数据为慢速时钟=8kHz,高速时钟=100MHz,输出精度为8bit的输出值,测试长度为3 000 000个8位随机数的序列,表1为测试结果。
经过以上一系列的随机性测试,RNG表现良好,在置信水平为95%的情况下通过了全部测试,没有表现出非随机性,并且在信源相关度的测试(correlation order test)中性能超过了参考文献中的混沌RNG方案。这项测试是测试一个随机数序列的相邻随机数的相关度。一个理想RNG的前后随机数相关度应该为0。由表1中数据可知,本文的混沌RNG测试结果更接近于理想RNG。因此可以认为,就目前已知的测试随机数的随机性的测试结果表明,本文介绍的混沌RNG生成的随机数序列是比较好的。
光谱测试可以直观地显示出随机数序列与其自身的相关情况。通过图5可以更直观地看到一个相关度低的RNG与一个伪RNG(用10位线性反馈移位寄存器来做例子)的对比。相关度为0的理想RNG应该均匀分布在整个二维空间内,线性反馈移位寄存器的测试结果(图b)就反映出了它的高相关度,而本文提出的混沌RNG方案的测试结果(图a)则显示了其不可预测性与无规则性分布。
2 硬件实现
本文采用Xilinx公司的xuPV2P30开发板实现这个混沌KNG,这块开发板上自带两个独立的(不同相位)时钟源,二者都可以输出8k~100MHz的不同频率的时钟。选择慢速时钟信号频率范围为8k~1MHz,高速时钟信号频率为100MHz,输出精度为8bit。其逻辑使用资源情况如表2所示。
从表2可以看到,在硬件上以极低的逻辑资源使用(18个SlICes约合1800+门)实现了本文提出的混沌RNG方案,对比参
本文提出的方案通过了一系列高要求的随机性测试,其逻辑资源的占用远小于传统的混沌RNG方案,最高输出速率可达8Mbps。因而这种RNG方案可以用于对安全性和性能需求日益增长的加密系统中。