欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于FPGA的亚稳态真随机数发生器独创技术10746字

基于FPGA的亚稳态真随机数发生器

2021-02-10 10:02:57

基于FPGA的亚稳态真随机数发生器

  (一)技术领域

  本发明涉及一种真随机数发生器,尤其涉及一种基于FPGA的亚稳态真随机数发生器,可用于密钥加密算法、防御旁道攻击和随机事件仿真测试等领域,属于电子电路领域。

  (二)背景技术

  随着计算机网络和通信技术的不断发展,信息安全也变得越来越重要,加密技术作为信息安全技术的核心也随之发展。随机数在对称或非对称密码算法中充当密钥,在需要的场合中充当随机填充位或随机掩码,可以说加密协议的安全性完全依赖于随机数的质量。大多数智能芯片内部都包含随机数发生器,而随机数发生器又分为真随机数发生器和伪随机数发生器,对于一个伪随机数发生器而言,它的安全性取决于种子输出的预期猜测数量和输出函数的复杂性,这两种因素都受攻击计算量大小的影响,经过一段时间的试错后,对破解下一位随机数的计算量会减小。随着攻击者算力的不断提升,使用伪随机数发生器的加密方法会变得更加脆弱。而真随机数发生器只要能保证数据位流有足够的熵值,生成的真随机数就拥有不可预测性,因此使用真随机数的加密算法具有可靠性。

  现有的真随机数发生器主要可以通过模拟电路实现和数字电路实现,使用模拟电路实现的真随机数发生器,主要是通过将电阻的热噪声通过放大器进行放大后再与比较器进行比较输出方波,这种方法设计较为复杂,功耗大,鲁棒性差,而且会在热噪声的采集过程中不可避免地引入测量器件的固有偏置,目前一般应用数字电路中的振荡采样法来实现真随机数发生器,具体实现方法主要分两种:第一种是用慢速振荡器对快速振荡器进行采样,振荡器的相位抖动引起采样时刻的不确定性,从而使序列具有随机性。缺点是生成的序列具有很大相关性,若使采样时钟抖动的标准方差大于高速时钟的周期,则可以认为相邻的两次采样不具备相关性,但这样会严重影响随机数的生成速率。第二种是利用两个周期相同的耦合振荡环器互相采样,数据信号在时钟信号上升沿到来之前保持稳定的最短时间称为建立时间,当理想状态下,可以在D触发器采样时间点采集到另一个振荡环输出信号不稳定的过渡期,使采样过程不满足建立时间,从而造成“亚稳态”现象,在“亚稳态”状态下,D触发器的输出仅由电路内部噪声影响,有很好的随机性,然而在实际操作中很难简单地通过两个振荡环实现,布局布线难度非常大,一般需要定制电路完成,实用性较低。基于静态时序分析方法可知,时钟周期加时钟偏移等于寄存器延迟、走线延迟和建立时间的总和时会产生“亚稳态”。一般认为,寄存器延迟和建立时间是器件固有属性不可改变,传统产生“亚稳态”的方法几乎全部都围绕控制走线延迟展开,由于建立时间非常短,在纳秒乃至亚纳秒级,这就对控制走线延迟造成很大的困难。

  电路中的噪声是随机的,但是在量化过程中可能会引入确定的偏差或关联性,会对真随机数的统计学特性造成影响,所以要对生成的真随机数进行后处理。应用最广的后处理方法是冯诺依曼纠偏法,原理是每次获取序列的两位,如果是相同的“0”或“1”则从序列中剔除。冯诺依曼纠偏法对偏置序列处理效果较好,但随机数生成速率会降到原本的四分之一。

  为解决上述问题,本文提出了一种基于FPGA的亚稳态真随机数发生器。与先前技术相比,本发明通过等效建立时间延迟单元来代替D触发器的功能,一方面不引入影响熵源的其他固有偏置,保证了真随机数的熵值,另一方面又变相延长了D触发器的建立时间,使整个发生装置更容易进入“亚稳态”,减小了实现的难度。此外,本发明的后处理模块还在冯诺依曼纠偏法的基础上提出了一种新型的边沿检测纠偏方法,对比冯诺依曼纠偏法速度提升了一倍。

  (三)发明内容

  本发明的目的在于提供一种结构简单紧凑、占用硬件资源少、生成真随机数速率高的基于FPGA亚稳态的真随机数发生器。

  本发明的目的是这样实现的:

  一种基于FPGA的亚稳态真随机数发生器,包括高频环路振荡器1、高频环路振荡器2、等效建立时间延长单元3、防亚稳态扩散单元4以及后处理单元5组成。所述的高频环路振荡器1的输出端与所述的等效建立时间延长单元3的数据输入端连接,所述的高频环路振荡器2的输出端与所述的等效建立时间延长单元3的时钟输入端连接,所述的等效建立时间延长单元3的输出端和所述的防亚稳态扩散单元4的数据输入端连接,所述的高频环路振荡器2的输出端与所述的防亚稳态扩散单元4的时钟输入端连接,所述的防亚稳态扩散单元4的输出端与所述的后处理单元5的数据输入端连接,所述的高频环路振荡器2的输出端与所述的后处理单元5的时钟输入端连接。

  所述的高频环路振荡器1和高频环路振荡器2包括3个反相器和1个缓冲器,第1个反相器的输出端和第2个反相器的输出端连接,第2个反相器的输出端和第3个反相器的输出端连接,第3个反相器的输出端、第1个反相器的输入端和缓冲器连接。

  所述的等效建立时间延长单元3包括1个D触发器、1个异或门和1个FPGA延迟单元LCELL;在所述的等效建立时间延长单元中,D触发器的输出端和高频环路振荡器1的输出端和异或门的输入端连接,异或门的输出端和LCELL的输入端连接,LCELL的输出端和D触发器的数据输入端连接。该电路运用异或门的性质在不改变数据的情况下使D触发器输入端数据稳定时间延长。

  所述的防亚稳态扩散单元4包括2个D触发器;在所述的防亚稳态扩散单元中,第1个D触发器的输入端和所述等效建立时间延长单元的输出连接,第2个D触发器的输入端和第1个D触发器的输入端连接。该电路能有效减少99%以上的“亚稳态”扩散现象。

  所述的后处理单元5包括1个D触发器、2个与门和1个二输入查找表;在所述的后处理单元中,D触发器的输入端和所述防亚稳态扩散单元的输出端连接,D触发器的输入端和第1个与门的1个输入端连接,D触发器的输出端通过非门和第1个与门的1个输入端连接,D触发器的输入端通过非门和第2个与门的1个输入端连接,D触发器的输出端和第2个与门的1个输入端连接,第1个与门的输出、第2个与门的输出端和所述查找表的输入端连接。

  与现有技术相比,本发明有如下优点:

  1、采用高频环路振荡器作为真随机数发生器的熵源,比传统的低频环路振荡器产生数据的速率更高。

  2、这种真随机数发生器电路结构简单,节省FPGA内部硬件资源,可以在不同平台上进行移植,具有普遍的适用性。

  3、本发明的真随机数发生器采样过程中等效建立时间更长,更容易满足建立保持时间要求,因此产生“亚稳态”的条件更宽松,比传统的振荡采样法对布局布线的要求更低。

  4、本发明的真随机数发生器在后处理阶段运用边缘检测方法代替传统冯诺依曼纠偏器的相邻2位数据比较方法,使真随机数的生成速率比传统方法提高一倍。

  (四)附图说明

  图1为现有的真随机数发生器的结构示意图。

  图2为本发明的真随机数发生器的结构示意图

  图3为本发明的真随机数发生器的高频环路振荡器的结构示意图

  图4为本发明的真随机数发生器的等效建立时间延迟单元的结构示意图

  图5为本发明的真随机数发生器的防亚稳态扩散单元的结构示意图

  图6为本发明的真随机数发生器的后处理单元的结构示意图

  (五)具体实施方式

  下面结合具体的实施例来进一步阐述本发明。

  图2为本发明在Altera Cyclone IV FPGA上实现的一种真随机数发生器的结构示意图,包括2个高频环路振荡器、等效建立时间延长单元、防亚稳态扩散单元以及后处理单元组成。第1个高频环路振荡器的输出端与等效建立时间延长单元的数据输入端连接,第2个高频环路振荡器的输出端与等效建立时间延长单元、防亚稳态扩散单元以及后处理单元的时钟输入端连接,等效建立时间延长单元的输出端和防亚稳态扩散单元的数据输入端连接,,防亚稳态扩散单元的输出端与后处理单元的数据输入端连接。

  图3为本发明中的高频环路振荡器,包括3个反相器和1个缓冲器,第1个反相器的输出端和第2个反相器的输出端连接,第2个反相器的输出端和第3个反相器的输出端连接,第3个反相器的输出端、第1个反相器的输入端和缓冲器连接。

  图4为本发明中的等效建立时间延迟单元,包括1个D触发器、1个异或门和1个FPGA延迟单元LCELL组成。D触发器的输出端和高频环路振荡器1的输出端和异或门的输入端连接,异或门的输出端和LCELL的输入端连接,LCELL的输出端和D触发器的数据输入端连接。LCELL通过FPGA原语实现。

  图5为本发明中的防亚稳态扩散单元,包括2个D触发器组成。第1个D触发器的输入端和所述等效建立时间延长单元的输出连接,第2个D触发器的输入端和第1个D触发器的输入端连接。

  图6为本发明中的后处理单元,包括1个D触发器、2个与门和1个二输入查找表组成。D触发器的输入端和所述防亚稳态扩散单元的输出端连接,D触发器的输入端和第1个与门的1个输入端连接,D触发器的输出端通过非门和第1个与门的1个输入端连接,D触发器的输入端通过非门和第2个与门的1个输入端连接,D触发器的输出端和第2个与门的1个输入端连接,第1个与门的输出、第2个与门的输出端和所述查找表的输入端连接。

《基于FPGA的亚稳态真随机数发生器.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)