微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种新的混沌RNG的实现方案及FPGA实现

一种新的混沌RNG的实现方案及FPGA实现

时间:12-11 来源:互联网 点击:

在SoC(System on Chip)广泛应用的今天,如何设计一个基于Ic的RiNG就成为安全通信应用的急切需要。随机噪声源(如热噪声和发射噪声)存在于IC中却总是被人为地屏蔽掉了。因此,利用电路噪声放大的商用RNG设计需要专门的外部组件和特殊硬件来与那些需要屏蔽噪声的组件隔开。在IC设计中,对数模混合信号的处理经验表明,底层噪声和电源噪声电平总是高于随机噪声源电平。所以一个不被干扰的白噪声源在一个基于IC的数字加解密系统的RNG中是不可能被使用的,必须考虑如何利用抗干扰的随机源来实现随机数生成器。   
本文提出一种新的混沌RNG的实现方案,更易于用硬件即IC实现。首先讨论其原理和模型及其实验,并对其进行随机性测试;然后讨论它的FPGA实现方案。
  
1 模型及实验
  
1.1 随机数生成器的定义
  
定义1 一个理想的随机数生成器是一个生成等概率符号的离散无记忆信息源(DMIS),RNG是一个有着正熵的离散信息源。

  
但是,现实中的RNG都是产生非均匀概率符号的离散有记忆信息源。因此采用有偏差的RNG来区别于定义1中理想的RNG。一个有偏差的RNG性能的好坏可通过它的冗余度ρ=log2Q-h来衡量,其中Q和h分别是离散符号集的基数和相关信源的熵。一个理想RNG的冗余度应该等于O,而一个有偏差的RNG的冗余度则标志这个RNG跟理想RNG的差距。例如一个冗余度为ρ的RNG产生长度为N位的密钥,则攻击方平均要尝试2(1-ρ)N个密钥才能找到正确的密钥,因此密钥的有效长度可以被定义为Ne=(1-ρ)N。
  
1.2 混沌随机数生成器模型
  
混沌理论作为非线性动态系统的分支,近年来受到越来越多的关注。它使得一个低维动态系统也可以拥有复杂的、不可预料的行为,使复杂的方程不再是生成随机数序列的必要条件。
  
混沌系统可以用基于下列迭代关系式描述的Bemouli移位映射:

式中,e(n)表示一个高斯噪声信号。这个迭代式表明由(1)式产生的序列是极为平滑和均一分布的。另外,与混沌相关的轨迹发散包含了噪声,(1)式产生的序列在一定范围内是不可预测的,从而使系统能被当作一个真随机比特源。离散时间混沌法不受其他噪声源影响。
  在电路上实现Bemouli移位映射的关键在于实现一个抗干扰的高斯噪声信号。传统的混沌随机数生成器是用一个伪随机数生成器产生一个伪高斯噪声信号来实现(1)中的e(n),如图1所示,这在一定程度上降低了混沌随机数生成器的安全性和真随机性。

典型的振荡器采样法是利用时钟的相位噪声(理论上是MOSFET热噪声的副产品)产生随机数。通过一个由较慢时钟信号控制的D触发器对一个高速时钟进行采样,高速时钟的相位抖动导致具体采样值的不确定性,如图2所示,理论上每次采样都会产生一个随机比特。典型采样后的抖动电平是符合高斯分布的,而且这种抖动不会受到电路中其他噪声的干扰。另外,振荡器采样法的随机性可以通过仔细挑选快的和慢的时钟频率比来人为增强。采样时发生的非线性偏移现象使得这种振荡器采样技术比目前的确定性噪声更健壮。

基于上述原理,提出用振荡器采样输出作为一个高斯噪声信号e(n)实现(1)式。结合两种随机数生成器方案实现混沌随机数生成器,系统原理框图如图3所示。

其中S/H(Shilt/Hold)为一个移位保持电路,用来实现2(x(n-1)+e(n))。低速时钟控制D触发器、寄存器和S/H。寄存器中残余信号作为初始输人信号,然后与振荡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中数据可知,本文的混沌

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top