《真随机数发生器在FPGA上的吞吐量技术解析.docx》由会员分享,可在线阅读,更多相关《真随机数发生器在FPGA上的吞吐量技术解析.docx(11页珍藏版)》请在第一文库网上搜索。
1、真随机数发生器在FPGA上的吞吐量技术解析一.综述真随机数发生器(TRNG)是硬件加密的重要组成部分,它与伪随机数生成器(PRNG)不同,是利用抖动等不可控因素作为随机数的烯源,所生成的随机数具有真正的随机性。本文讲述一种新颖的燧提取方法,用来提高基于抖动的真随机数发生器在EEeA上的吞吐量。即通过利用超高速的进位逻辑基元,提高燧提取的效率,从而提高吞吐量。下面以SPartan-6FPGA上基于环形振荡器的真正随机数发生器为例说明设计步骤和技术。这种设计方法同在FPGA上基于抖动的高效TRNG相比,所需要的峭提取累积时间缩短了3个数量级,而且仅仅用了67个s1ice就实现了14.3Mbps的吞
2、吐量,并且这项研究提供了对安全性的正式评估。二.介绍早期FPGA的TRNG实现不提供烯模型。早期研究出的发生器通过使用诸如NIST和D1EHARD等统计测试进行验证,但他们缺乏对安全性的正式评估。在FPGA上仅有少数TRNG设计提供数学模型和燧估计。而我们的新方法从累积的定时抖动中提取高效的燧。不是通过以高能量或面积为代价增加转换数量来提高吞吐量,而是专注于改善单次转换的烯提取。我们的主要想法是基于TRNG吞吐量与采样信号的定时分辨率的平方成比例增加的事实。由于这个原因,即使定时分辨率的适度改进也会导致积累时间和比例吞吐量增益的大幅降低。在Xi1inXFPGA上,两种类型的S1iCeS包含一个
3、进位链(carrychain)基元,可用于生成分支,加法器或乘法器。该基元由连接到触发器的四个延迟级组成,并可配置为抽头延迟线。可以通过专用路径连接来自同一列上的相邻S1iCe的进位链,以形成更大的延迟线。这种配置可用于采样时间精度较高的信号,并己用于实现高分辨率时间数字转换遥。通过利用进位链进行峭提取,我们的TRNG实现了更小的占位面积,更大的吞吐量。并且提供了此TRNG的安全评估。三.TRNG的实现方案TRNG评估的早期方法包括收集随机数据并运行一系列统计测试,如NIST和DIEHARD测试。这种黑盒子方法的一个主要缺陷是所有PRNG即使产生完全确定性输出也可以轻松通过统计测试。即使用TR
4、NG设计人员验证自己的设计,这种方法也是有问题的。例如,设计师可能认为,随机性是由热抖动引起的,而实际上它来自不稳定的电源。在这种情况下,如果TRNG与稳压器一起使用,它可能会产生非常弱的抖动。虽然统计测试可用于初始分析或健全性检查,但它们不能代替正式的安全评估。TRNG的正式安全评估需要TRNG的数学模型和墉评估。AIS-31为TRNG的设计和评估提供了一个框架。A1S-31认证的要求之一是燧源的随机模型和生成燧的下边界的估计。平台参数P1atformParame1efsFigure1:TRNGDesignandEva1uationprocedure.TRNG设计和评估步骤随机模型用于描述随
5、时间演变的概率系统。它比物理模型(如晶体管模型)更简单,因为它只考虑影响随机性的过程。这种类型的模型用于描述在电路中产生烯的过程,例如抖动累积或从亚稳状态解析的过程。图1显示了TRNG的框图。随机模型必须基于明确陈述和实验可验证的假设。该模型的目标是为平台参数(例如1UT延迟或噪声参数)和设计参数(例如环形振荡器的数量或采样频率)的不同值提供熠估计。所获得的随机模型基于输入参数(平台和设计参数)来计算最小燧。设计流程的下一个阶段是通过实验获取平台参数。之后,需要确定最佳设计参数。这可以通过使用随机模型和平台参数的测量值来计算设计参数的不同值的墉来完成。然后可以调整设计参数直到达到指定的墉界限。
6、统计分析在评估的最后阶段完成。四.实验架构R1OSCI11ATORFigure2:Genera1Architecture.Figure3:Fastde1ay1inewithtaps.tAm我们的架构基于高精度采样不稳定信号的概念,从而比标准方法提取更多的燧。这种方法非常有效,因为吞吐量方面的增益与精度的改进平方成正比。在这个架构中,熠源和烯提取器作为为独立的块来实现。系统中的所有随机性由信号边缘的时间不确定性产生。振荡器信号首先通过抽头延迟线传播,取样并根据捕获的数据片段确定信号边缘的位置。数字化数据被传播到端提取器,然后在输出端产生一个随机位。燧源和数字化模块如图2所示。燧源实现为一个自由运
7、行的n级振荡器,使用一个NAND门和多个缓冲器。数字化模块由连接到每个延迟元件输出的快速抽头延迟线组成。这些延迟线正在执行噪声信号的时间-数字转换。图3显示了单抽头延迟线的内部结构。该行由IT1个快速缓冲器和一组连接到其输出的触发器组成。转换的时序分辨率等于分接延迟线单级的延迟。在时针上升沿之后,每个缓冲器的输出数据在触发器中被捕获。这些数据反映了振荡器的内部状态。为了捕捉振荡器的完整状态,必须选择作为抽头延迟线的大小的参数m,抽头延迟线必须被选择为使得抽头线的延迟大于烯源中最慢元素的延迟。否则,信号边沿可以通过任何线路检测不到。这也是为了提供鲁棒性,因为振荡器元件的延迟以及转换的时间步长可能
8、因温度或电压变化而变化,并且在最坏情况下必须检测到信号边缘。由于采样期间的时序违规,一些触发器可能会被驱动到亚稳状态,从而可能产生“气泡”码。a)e0Ge0eeoeooe0eeTappedImeseooeoGeooeeiiiiiiiniiiiiiiiiiii11111111111111111111111111111111XORIiiiiiiiiiieeoeeeeeeeeeeeeeeoeeeEdgeDetectoreeeeoeeeGee00ee0TaPPed1ineseeeeed,1UT),就可以保证在延迟线中至少捕获一个噪声信号边缘。图6显示了燧提取模型。描述采样边缘和噪声信号之间的相对热抖动
9、使用高斯分布。由于抖动实现是独立的,在时间tA之后积累的热抖动的标准偏差与转换事件的数量的平方根成比例:acc(t)=1UTi-:(1)Va0.1UT噪声信号以精确的tstep采样并且TDC的邻近状态使用不同的比特进行编码。1和0的概率等于曲线下的面积。这些概率取决于采样边缘和噪声信号边缘的最可能位置之间的偏移时间,如图6所示。我们将定义为有噪声信号边缘与最接近采样bin中间的间隔,如图所示在图中:=&modtmp)+-(2)在不失一般性的情况下,我们可以假设这个bin被解码为1然后,二元概率由下式给出:其中是高斯分布的累积概率函数:5.3燧下界二进制概率取决于偏移时间o的确切值取决于累积时间
10、,序列中样本的数量,还取决于低频噪声和确定性噪声。由于这些因素不可预测也不可控,所以应该使用最坏情况值来估计端的下限。香农烯然后由下式给出:H=-P11Og2(PI)一(1-P)1og2(1-PI)(5)=0时达到下限。图7显示了取决于的香农墉。当5.4模型使用所提出的随机模型可用于根据平台参数和设计参数来估计燧的下限。该模型由一组方程组成,这些方程组可以作为一个MatIab函数实现,该函数根据平台和设计参数产生燧下限。平台参数是实现平台的物理参数,它们应该通过测量来确定。此设计的相关平台参数为:d,1UT-单个1UT的平均延迟,带有快速延迟线的tstep-bin以及由单个转换事件生成的热噪声
11、。1UTo一旦平台参数已知,该模型用于确定不同设计参数值的燧的下限。设计参数为:环形振荡器中的级数,快速延迟线中的IT1级,fC1K系统时钟频率,tA-抖动累积时间(也可以表示为NA-系统时钟周期数)和可选的下采样因子k。下采样可用于通过将k个邻近仓组合成一个仓来提高快速延迟线中的时间-数字转换的线性度。随机模型用于确定不同设计参数值的燧值,从而可以探索不同的设计折衷。此1:2.步骤骤3步步第,TRNG的设计过程由以下四个步骤组成:测量相关的平台参数。基于随机模型和获得的平台参数确定最优设计参数。FPGA实现。步骤4:对生成的比特进行统计评估。5. 5后处理生成的位可以使用后处理来改进。后处理是一种压缩技术,以降低吞吐量为代价提高了每比特燧。X也后处理是一个简单的方法,具有紧凑的硬件实现。它由连续产生的位组成,从而将吞吐量降低np倍。提出的随机模型可以用来估计生成数的最大偏差,定义为:b=max(Pi.Pq)0.5(6)使用压