一种低功耗随机数后处理方法
【专利摘要】本发明公开了一种低功耗随机数后处理方法。物理源产生的随机序列信号与后处理单元的全反馈值寄存器产生的反馈信号进入第一异或运算单元进行异或操作得到8位随机数序列信号并依次经过后处理单元的基本单元产生的部分反馈值信号,部分反馈值信号进入第二异或运算单元进行异或运算,异或运算后进入后处理单元的全反馈寄存器中得到新的反馈值信号,新的反馈值信号与新的随机序列信号重复本发明的步骤,本发明中应用于后处理单元的数字标准单元全都工作在亚阈值区域,这使得能够有效的降低电路的功耗。本发明使用数字全定制的设计方法实现,结构紧凑,资源消耗少,易于移植,适合于集成在芯片中使用。
【专利说明】一种低功耗随机数后处理方法
【技术领域】
[0001]本发明涉及随机数后处理领域,尤其涉及一种将随机源输出的序列经过快速高效的后处理单元进行低功耗随机数后处理方法。
【背景技术】
[0002]随着这几年计算机技术和信息通信技术的迅猛发展,信息在传递、处理、存储过程中存在的安全问题引起了人们普遍的关注。信息安全领域里面,其中最为核心最迫切需要解决的问题就是如何制作高质量高安全性的随机数发生器(RNG: Random NumberGenerator)芯片,以及如何设计更加安全的随机数后处理单元来加强产生的随机数序列的真随机性。由于计算机通过本身软件算法产生的随机数并非是真正的随机序列,很容易被破解,所以也只能称之为伪随机序列。而若要产生真正的随机序列,则必须通过硬件的方法来实现。但是目前的随机数后处理单元还存在着一些问题,比如功耗问题、数据处理效率低等问题,低功耗的、高效的后处理设计也逐步的出现在芯片的设计考虑中。
【发明内容】
[0003]本发明的目的是针对现有的真随机数发生器后处理方法的不足,提供一种低功耗随机数后处理方法。
[0004]本发明的目的是通过以下技术方案来实现的:
[0005]低功耗随机数后处理方法的步骤如下:
[0006]I)物理源产生的随机序列信号与后处理单元的全反馈值寄存器产生的反馈信号进入第一异或运算单元进行异或操作,得到8位随机数序列信号OUT (O)?OUT (7),所述的异或操作由下式表示:
[0007]OUT (n) =IN (n) ? WFVR (η)
[0008]式中,OUT表示得到的随机数序列信号,IN表示物理源产生的随机序列信号,WFVR表示后处理单元的全反馈值寄存器产生的反馈信号,η分别代表0、1、2、3、4、5、6、7,所述的后处理单元的全反馈寄存器是一组八位的寄存器单元,后处理单元的全反馈寄存器能够在一个时钟沿信号下寄存一组八位的反馈信号值,并在下一个时钟沿信号下寄存新的一组八位的反馈信号值;
[0009]2) 8位随机数序列信号一方面作为输出信号,另一方面依次经过后处理单元的基本单元产生部分反馈值信号,8位随机数序列信号在后处理单元的基本单元内部的流动过程如下:
[0010]首先,步骤I)产生的8位随机数序列信号在一个时钟沿信号下分别寄存到基本单元内的8个寄存器中;
[0011]其次,在下一个时钟沿信号到来之时,8位随机数序列信号一方面从基本单元中流出进入到下一个基本单元,另一方面8个寄存器流出的信号与基本单元内预置的值进行按位运算得到部分反馈值信号;[0012]按位运算的具体运算步骤如下描述:8个寄存器流出的信号的最低位RR(O),分别和内置信号值C0-C7的每一组的最低位进行“与”运算,即RR (O) CO (O)、RR (O) Cl (O)、RR (O)C2 (O)、RR (O) C3 (O)、RR (O) C4 (O)、RR (O) C5 (O)、RR (O) C6 (O)、RR (O) C7 (O),同上运算一直到RR7与内置信号值C0-C7的每一组的最高位进行与运算,即RR (7) CO (7)、RR (7) Cl (7) ,RR (7)C2(7)、RR(7)C3(7)、RR(7)C4(7)、RR(7)C5(7)、RR(7)C6(7)、RR(7) C7 (7),将得到的 8 组“与”运算结果进行异或运算,即每一组C0-C7内经过“与”运算后的值分别进行异或运算,所得到的新的值存入到部分反馈值寄存器中,按位运算可用下式表示:
[0013]PFVR(H) = [7 () RR{i)Cn(j)
【权利要求】
1.一种低功耗随机数后处理方法,其特征在于它的步骤如下: 1)物理源产生的随机序列信号与后处理单元的全反馈值寄存器(I)产生的反馈信号进入第一异或运算单元(2)进行异或操作,得到8位随机数序列信号OUT(O)~0UT(7),所述的异或操作由下式表示:
OUT(n)=IN(η) ? WFVR(η) 式中,OUT表示得到的随机数序列信号,IN表示物理源产生的随机序列信号,WFVR表示后处理单元的全反馈值寄存器(I)产生的反馈信号,η分别代表0、1、2、3、4、5、6、7,所述的后处理单元的全反馈寄存器(I)是一组八位的寄存器单元,后处理单元的全反馈寄存器(I)能够在一个时钟沿信号下寄存一组八位的反馈信号值,并在下一个时钟沿信号下寄存新的一组八位的反馈信号值; 2)8位随机数序列信号一方面作为输出信号,另一方面依次经过后处理单元的基本单元(4)产生部分反馈值信号,8位随机数序列信号在后处理单元的基本单元(4)内部的流动`过程如下: 首先,步骤I)产生的8位随机数序列信号在一个时钟沿信号下分别寄存到基本单元内的8个寄存器中; 其次,在下一个时钟沿信号到来之时,8位随机数序列信号一方面从基本单元中流出进入到下一个基本单元,另一方面8个寄存器流出的信号与基本单元内预置的值进行按位运算得到部分反馈值信号; 按位运算的具体运算步骤如下描述:8个寄存器流出的信号的最低位RR(O),分别和内置信号值C0-C7的每一组的最低位进行“与”运算,即RR (O) CO (O)、RR (O) Cl (O)、RR(O)C2 (O)、RR (O) C3 (O)、RR (O) C4 (O)、RR (O) C5 (O)、RR (O) C6 (O)、RR (O) C7 (O),同上运算一直到RR7与内置信号值C0-C7的每一组的最高位进行与运算,即RR (7) CO (7)、RR (7) Cl (7) ,RR (7)C2(7)、RR(7)C3(7)、RR(7)C4(7)、RR(7)C5(7)、RR(7)C6(7)、RR(7) C7 (7),将得到的 8 组“与”运算结果进行异或运算,即每一组C0-C7内经过“与”运算后的值分别进行异或运算,所得到的新的值存入到部分反馈值寄存器中,按位运算可用下式表示:
【文档编号】G06F7/58GK103885748SQ201410090303
【公开日】2014年6月25日 申请日期:2014年3月12日 优先权日:2014年3月12日
【发明者】沈海斌, 谢表铭 申请人:浙江大学