nt用于记录随机序列rng_pre的翻转变化。随机数质量检测器用来对随机数质量进行检测,保证了最终随机数的高随机性,其工作原理为:翻转计数器toggle_cnt对预处理后得到的随机序列rng_pre进行翻转计数,预处理后的随机序列rng_pre每变化一次翻转计数器toggle_cnt加1,在48个时钟周期后(bit_cnt = 48)停止计数。如果toggle_cnt计数结果大于4且小于48则检测通过,否则认为随机序列rng_pre不合要求。此外,随机数质量检测器提供随机数插入使能信号insert_enl与insert_en2供随机数插入器使用,其中,nsert_enl = I的条件为:寄存器bit_cnt=m,m 表不 2、8、14、20、26、32、38、44 ;nsert_en2 = I 的条件为:寄存器 bit_cnt = k,k 表示 5、11、17、23、29、35、41、47。
[0025]如图3所示,随机数插入器用于对移位寄存器I和移位寄存器2在不同时刻插入检测通过的随机序列rng_pre。具体地,随机数插入处理器包括两个与门电路,第一与门电路的两个输入端分别接随机数插入使能信号insert_enl和检测通过的随机序列rng_pre,输出连接移位寄存器I ;第二与门电路的两个输入端分别接随机数插入使能信号insert_enl和检测通过的随机序列rng_pre,输出连接移位寄存器2。
[0026]移位寄存器I和移位寄存器2都为8位移位寄存器,两个移位寄存器移动数据的方向不同。其中,移位寄存器I移动数据的方向为从高位bit7到低位bitO ;移位寄存器I移动数据的方向为从低位bitO到高位bit7。移位寄存器I在insert_enl = I时进行数据插入与移位操作,数据移动方向如箭头所示,从最高位bit7移到最低位bitO,rng_pre插入到最高位bit7 ;移位寄存器2在inSert_en2 = I时进行数据插入与移位操作,数据移动方向如箭头所示,从最低位bitO移到最高位bit7,rng_pre插入到最低位bitO。这样,移位寄存器I和移位寄存器2中的数据,相当于采用了两路相互独立且相同的数据源产生的随机数,提高了随机序列的随机性。
[0027]异或处理链网络包括八个异或门电路,对移位寄存器I (shift_rng_l)和移位寄存器2(shift_rng_2)中的数据按位进行的异或操作,异或操作结果送到随机数输出寄存器rng_new。按位异或运算具体如下描述:rng_new[n] = shift_rng_l [η] Θ shift_?^_1[11],其中11表示0、1、2、3、4、5、6、7,“0”表示异或运算。经过异或操作提高了随机序列的随机性。
[0028]如上所述,本实施例提供的随机数后处理电路首先对物理源产生的随机序列进行预处理,然后通过对随机数插入的控制,使后续的处理相当于采用了两路相互独立且相同的数据源产生的随机序列,最后经过异或链网络扰乱输出位流,得到了高质量的随机数。此夕卜,对预处理后随机数质的量进行了检测,保证了最终随机数的高随机性。
[0029]以上实施例仅为本发明较佳实施例而已,不能以此来限定本发明的权利范围,凡是基于本发明创作主旨的、未经创造性劳动即可获得的等效技术特征的增减及替换,均应属于发明所涵盖的范围。
【主权项】
1.一种随机数后处理电路,其特征在于,包括:随机数预处理器,其输入端连接物理随机源,输出端连接随机数质量检测器的输入端,用于对物理随机源产生的随机序列进行采样与异或处理;随机数质量检测器,其输出端连接随机数插入处理器的输入端,用于检测经过预处理后的随机序列是否通过设定要求,通过则提供随机数插入使能信号inSert_enl与inSert_en2及通过检测的随机序列,否则不进行操作;随机数插入处理器,其输出端分别连接移位寄存器I和移位寄存器2,随机数插入处理器通过插入使能信号inSert_enl与insert_en2分别对移位寄存器I和移位寄存器2在不同时刻插入通过检测的随机序列;移位寄存器I和移位寄存器2,各自的输出端连接异或处理链网络的相应输入端;异或处理链网络,用于对移位寄存器I和移位寄存器2中的数据按位进行异或处理后将最终的真随机序列存到随机数输出寄存器,其输出端连接随机数输出寄存器的输入端;随机数输出寄存器,其输出端作为随机数后处理电路的输出端。2.根据权利要求1所述的随机数后处理电路,其特征在于,所述随机数预处理器包括D触发器1、D触发器2和异或门,D触发器I的D端接入物理随机源产生的随机序列,CP端接入1.69M时钟源,D触发器I的数据输出信号与D触发器2数据输出信号通过异或门进行异或操作,得到的结果作为D触发器2的数据输入信号;D触发器2的输出信号为预处理后的随机序列。3.根据权利要求2所述的随机数后处理电路,其特征在于,所述随机数质量检测器包括寄存器bit_cnt和翻转计数器toggle_cnt,寄存器bit_cnt在随机数预处理器开始采样物理随机源序列时计数,每个时钟周期bit_cnt寄存器加1,计数值达到48后重新计数;翻转计数器toggle_Cnt用于对预处理后得到的随机序列进行翻转计数,预处理后的随机序列每变化一次翻转计数器toggle_cnt加1,在48个时钟周期后停止计数;如果toggle_cnt计数结果大于4且小于48则检测通过,否则认为随机序列不合要求;随机数质量检测器还提供随机数插入使能信号insert_enl与insert_en2,供随机数插入器使用,其中,nsert_enl = I 的条件为:寄存器 bit_cnt = m,m 表不 2、8、14、20、26、32、38、44 ;nsert_en2 = I的条件为:寄存器 bit_cnt = k,k 表示 5、11、17、23、29、35、41、47。4.根据权利要求3所述的随机数后处理电路,其特征在于,所述随机数插入处理器包括两个与门电路,第一与门电路的两个输入端分别接随机数插入使能信号inSert_enl和检测通过的随机序列,输出连接移位寄存器I ;第二与门电路的两个输入端分别接随机数插入使能信号insert_enl和检测通过的随机序列rng_pre,输出连接移位寄存器2。5.根据权利要求4所述的随机数后处理电路,其特征在于,所述移位寄存器I和移位寄存器2都为8位移位寄存器,移位寄存器I移动数据的方向为从高位bit7到低位bitO ;移位寄存器2移动数据的方向为从低位bitO到高位bit7 ;所述异或处理链网络包括八个异或门电路,对移位寄存器I和移位寄存器2中的数据按位进行的异或操作,异或处理链网络的异或操作结果送到随机数输出寄存器。6.一种随机数后处理方法,其特征在于,包括:(I)随机数预处理器对物理随机源输出的随机序列进行采样与异或处理;(2)随机数质量检测器检测经过预处理后的随机序列是否通过设定要求,通过则提供随机数插入使能信号insert_enl、insert_en2及通过检测的随机序列并进入步骤3,否则不进行操作;(3)随机数插入器通过插入使能信号inSert_enl与inSert_en2分别对移位寄存器I和移位寄存器2在不同时刻插入通过检测的随机序列;(4)移位寄存器I和移位寄存器2中的数据按位经过异或处理后将最终的真随机序列存到随机数输出寄存器。7.根据权利要求6所述的随机数后处理方法,其特征在于,所述随机数预处理器对物理随机源输出的随机序列进行采样与异或处理,具体为:物理随机源产生的随机序列经过接有1.69M时钟源的D触发器1,对随机序列进行采样与同步过程;D触发器I的数据输出信号与D触发器2数据输出信号进行异或操作,得到的结果作为D触发器2的数据输入信号;D触发器2的输出信号为预处理后的随机序列。8.根据权利要求7所述的随机数后处理方法,其特征在于,所述随机数质量检测器检测经过预处理后的随机序列是否通过设定要求,具体为:通过寄存器bit_cnt在随机数预处理器开始采样物理随机源序列时计数,每个时钟周期bit_cnt寄存器加I,计数值达到48后重新计数;通过翻转计数器toggle_Cnt对预处理后得到的随机序列进行翻转计数,预处理后的随机序列每变化一次翻转计数器toggle_cnt加1,在48个时钟周期后停止计数;如果toggle_Cnt计数结果大于4且小于48则检测通过,否则认为随机序列不合要求。9.根据权利要求8所述的随机数后处理方法,其特征在于,所述随机数质量检测器提供随机数插入使能信号insert_enl、insert_en2,具体为:随机数插入使能信号nsert_enl=I的条件为:寄存器bit_cnt = m,m表示2、8、14、20、26、32、38、44 ;随机数插入使能信号nsert_en2 = I 的条件为:寄存器 bit_cnt = k,k 表不 5、11、17、23、29、35、41、47。10.根据权利要求9所述的随机数后处理方法,其特征在于,移位寄存器I和移位寄存器2中的数据按位经过异或处理后将最终的真随机序列存到随机数输出寄存器,具体为:所述移位寄存器I和移位寄存器2都为8位移位寄存器,移位寄存器I移动数据的方向为从高位bit7到低位bitO ;移位寄存器2移动数据的方向为从低位bitO到高位bit7 ;通过八个异或门电路构成的异或处理链网络对移位寄存器I和移位寄存器2中的数据按位进行的异或操作,异或处理链网络的异或操作结果送到随机数输出寄存器。
【专利摘要】本发明公开一种随机数后处理电路及方法,随机数后处理电路包括随机数预处理器、随机数质量检测器、随机数插入处理器、移位寄存器1、移位寄存器2、异或处理链网络和随机数输出寄存器;物理随机源输出序列首先送到随机数预处理器;经过预处理后的随机数送到随机数质量检测器;然后经过随机数插入器把随机数分别送到移位寄存器1和移位寄存器2;移位寄存器1和移位寄存器2中的数据按位经过异或处理后把最终的真随机数存到随机数输出寄存器。本发明的预处理过程、随机数插入过程与异或操作过程都可以提高随机序列的随机性,三个过程的级联组合使用,可以使随机数后处理电路得到高质量的随机数。
【IPC分类】G06F7/58
【公开号】CN105159653
【申请号】CN201510510968
【发明人】赵旺, 许登科
【申请人】珠海市一微半导体有限公司
【公开日】2015年12月16日
【申请日】2015年8月18日