随机数后处理电路及方法

文档序号:8942812阅读:692来源:国知局
随机数后处理电路及方法
【技术领域】
[0001]本发明涉及电子电路及数据处理技术领域,具体涉及一种随机数后处理电路及方法。
【背景技术】
[0002]随着信息通信技术的迅猛发展,在许多电子产品应用里面信息安全变得越来越重要。特别是在智能卡通信系统里,信息安全更是重中之重。因此,信息加密技术在智能卡与读卡器的通信系统中被广泛应用。加密技术的安全性,取决于每次通信时所使用到的“种子”码,其中“种子”码是由随机数产生器产生的。现在使用的智能卡技术中,大多数是采用伪随机的方法产生“种子”码的,伪随机的“种子”码是可以很容易被破解的,所以对整个交易系统的安全性构成很大的威胁。因此,真随机数产生器就显得非常重要,特别是在对安全性要求高的应用系统中。
[0003]众所周知,随机源的随机性能的好坏直接决定了真随机数发生器的质量。基于物理随机源产生的真随机数虽然在随机序列的长度、独立性等方面比伪随机数发生器得到了突破性的进展,但是其产生的真随机数序列的随机性不够稳定,随机数的质量不高,不能很好地满足应用需求。通常,还要对随机源进行后处理,使其输出高质量的真随机序列。

【发明内容】

[0004]本发明提供了一种随机数后处理电路及方法,旨在提高物理随机源产生的随机数序列的质量,使得最终所输出的随机序列具有均匀性好、独立性高等特点,提高加密技术的安全性,在智能卡信息安全等方面有较高的实际应用价值。本发明的目的由以下技术方案实现:
[0005]一种随机数后处理电路,包括:随机数预处理器,其输入端连接物理随机源,输出端连接随机数质量检测器的输入端,用于对物理随机源产生的随机序列进行采样与异或处理;随机数质量检测器,其输出端连接随机数插入处理器的输入端,用于检测经过预处理后的随机序列是否通过设定要求,通过则提供随机数插入使能信号insert_enl与insert_en2及通过检测的随机序列,否则不进行操作;随机数插入处理器,其输出端分别连接移位寄存器I和移位寄存器2,随机数插入处理器通过插入使能信号insert_enl与insert_en2分别对移位寄存器I和移位寄存器2在不同时刻插入通过检测的随机序列;移位寄存器I和移位寄存器2,各自的输出端连接异或处理链网络的相应输入端;异或处理链网络,用于对移位寄存器I和移位寄存器2中的数据按位进行异或处理后将最终的真随机序列存到随机数输出寄存器,其输出端连接随机数输出寄存器的输入端;随机数输出寄存器,其输出端作为随机数后处理电路的输出端。
[0006]作为具体的技术方案,所述随机数预处理器包括D触发器1、D触发器2和异或门,D触发器I的D端接入物理随机源产生的随机序列,CP端接入1.69M时钟源,D触发器I的数据输出信号与D触发器2数据输出信号通过异或门进行异或操作,得到的结果作为D触发器2的数据输入信号;D触发器2的输出信号为预处理后的随机序列。
[0007]作为具体的技术方案,所述随机数质量检测器包括寄存器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。
[0008]作为具体的技术方案,所述随机数插入处理器包括两个与门电路,第一与门电路的两个输入端分别接随机数插入使能信号inSert_enl和检测通过的随机序列,输出连接移位寄存器I ;第二与门电路的两个输入端分别接随机数插入使能信号inSert_enl和检测通过的随机序列rng_pre,输出连接移位寄存器2。
[0009]作为具体的技术方案,所述移位寄存器I和移位寄存器2都为8位移位寄存器,移位寄存器I移动数据的方向为从高位bit7到低位bitO ;移位寄存器2移动数据的方向为从低位bitO到高位bit7。
[0010]作为具体的技术方案,所述异或处理链网络包括八个异或门电路,对移位寄存器I和移位寄存器2中的数据按位进行的异或操作,异或处理链网络的异或操作结果送到随机数输出寄存器。
[0011]一种随机数后处理方法,其特征在于,包括:(I)随机数预处理器对物理随机源输出的随机序列进行采样与异或处理;(2)随机数质量检测器检测经过预处理后的随机序列是否通过设定要求,通过则提供随机数插入使能信号insert_enl、insert_en2及通过检测的随机序列并进入步骤3,否则不进行操作;(3)随机数插入器通过插入使能信号insert_enl与insert_en2分别对移位寄存器I和移位寄存器2在不同时刻插入通过检测的随机序列;(4)移位寄存器I和移位寄存器2中的数据按位经过异或处理后将最终的真随机序列存到随机数输出寄存器。
[0012]作为具体的技术方案,所述随机数预处理器对物理随机源输出的随机序列进行采样与异或处理,具体为:物理随机源产生的随机序列经过接有1.69M时钟源的D触发器1,对随机序列进行采样与同步过程;D触发器I的数据输出信号与D触发器2数据输出信号进行异或操作,得到的结果作为D触发器2的数据输入信号;D触发器2的输出信号为预处理后的随机序列。
[0013]作为具体的技术方案,所述随机数质量检测器检测经过预处理后的随机序列是否通过设定要求,具体为:通过寄存器bit_cnt在随机数预处理器开始采样物理随机源序列时计数,每个时钟周期bit_cnt寄存器加1,计数值达到48后重新计数;通过翻转计数器toggle_Cnt对预处理后得到的随机序列进行翻转计数,预处理后的随机序列每变化一次翻转计数器toggle_cnt加1,在48个时钟周期后停止计数;如果toggle_cnt计数结果大于4且小于48则检测通过,否则认为随机序列不合要求。
[0014]作为具体的技术方案,所述随机数质量检测器提供随机数插入使能信号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。
[0015]作为具体的技术方案,移位寄存器I和移位寄存器2中的数据按位经过异或处理后将最终的真随机序列存到随机数输出寄存器,具体为:所述移位寄存器I和移位寄存器2都为8位移位寄存器,移位寄存器I移动数据的方向为从高位bit7到低位bitO ;移位寄存器2移动数据的方向为从低位bitO到高位bit7 ;通过八个异或门电路构成的异或处理链网络对移位寄存器I和移位寄存器2中的数据按位进行的异或操作,异或处理链网络的异或操作结果送到随机数输出寄存器。
[0016]本发明提供的随机数后处理电路及方法,首先对物理源产生的随机序列进行预处理,然后通过对随机数插入的控制,使后续的处理相当于采用了两路相互独立且相同的数据源产生的随机序列,最后经过异或链网络扰乱输出位流,得到了高质量的随机数。此外对预处理后随机数质的量进行了检测,保证了最终随机数的高随机性。本发明的有益效果在于:本发明的预处理过程、随机数插入过程与异或操作过程都可以提高随机序列的随机性,三个过程的级联组合使用,可以使随机数后处理电路得到高质量的随机数,以便更好的满足实际的需要。
【附图说明】
[0017]图1为本发明实施例提供的随机数后处理电路的结构框图。
[0018]图2为本发明实施例提供的随机数后处理电路中随机预处理单元的结构图。
[0019]图3为本发明实施例提供的随机数后处理电路中随机数插入处理器、移位寄存器
1、移位寄存器2、异或处理链网络和随机数输出寄存器部分的组合结构图。
【具体实施方式】
[0020]下面结合附图对本发明进行详细阐述。
[0021]如图1所示,本实施例提供的随机数后处理电路包括:随机数预处理器、随机数质量检测器、随机数插入处理器、移位寄存器1、移位寄存器2、异或处理链网络和随机数输出寄存器;随机数预处理器的输入端连接物理随机源,输出端连接随机数质量检测器的输入端,随机数质量检测器的输出端连接随机数插入处理器的输入端,随机数插入处理器的输出端分别连接移位寄存器I和移位寄存器2,移位寄存器I和移位寄存器2的输出端连接异或处理链网络的输入端,异或处理链网络的输出端连接随机数输出寄存器的输入端,随机数输出寄存器的输出端作为随机数后处理电路的输出端。
[0022]基于上述随机数后处理电路的随机数后处理,其主要包括:物理随机源输出序列首先送到随机数预处理器;经过预处理后的随机数送到随机数质量检测器;然后经过随机数插入器把随机数分别送到移位寄存器I和移位寄存器2 ;移位寄存器I和移位寄存器2中的数据按位经过异或处理后把最终的真随机数存到随机数输出寄存器。以下结合附图进行详细描述:
[0023]如图2所示,随机数预处理器包括D触发器1、D触发器2及异或门,D触发器I的D端用于接入物理随机源产生的随机序列TRNG,CP端接入1.69M时钟源,,这样对随机序列进行了采样与同步过程;D触发器I的数据输出信号与D触发器2数据输出信号通过异或门进行异或操作,得到的结果作为D触发器2的数据输入信号;D触发器2的输出信号为预处理后的随机序列:rng_pre,经过预处理后提高了随机序列的随机性。
[0024]本实施例提供的随机数质量检测器包括寄存器bit_cnt和翻转计数器toggle_cnt,寄存器bit_cnt在开始采样物理随机源序列时计数,每个时钟周期bit_cnt寄存器加I,计数值达到48后重新计数;翻转计数器toggle_c
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1