乱数产生器及其乱数产生方法
【技术领域】
[0001]本发明涉及一种数值产生器,且特别涉及一种乱数产生器及其乱数产生方法。
【背景技术】
[0002]身处信息化社会与全球化时代,人与电脑、网络间的关系日益趋于紧密,因而造就了电子交易应用的便利与普及性。为了要提升电子交易的安全性,利用乱数码来对每一笔交易的纪录进行加解密作业,是现今普遍的作法之一。
[0003]一般而言,会利用乱数产生器来产生乱数序列,并且透过乱数序列取得所需要的乱数码,其中乱数码的不重复性决定乱数码的乱度,并且乱数码的乱度决定乱数码被破解的机率。因此,如何提高乱数码的乱度则是设计乱数产生器的一个主题。
【发明内容】
[0004]本发明提供一种乱数产生器及其乱数产生方法,可提高乱数序列的乱度,亦即可提高乱数码的乱度。
[0005]本发明的乱数产生器,用以产生一乱数序列(random sequence),包括一线性反馈移位暂存器电路、一振荡电路、一延迟电路、一逻辑运算电路。线性反馈移位暂存器电路接收乱数序列以产生多个第一控制信号及多个第二控制信号。振荡电路接收这些第一控制信号以产生一乱数时钟脉冲信号。延迟电路接收一交流信号及这些第二控制信号,以产生一乱数延迟取样信号。逻辑运算电路接收乱数时钟脉冲信号及乱数延迟取样信号,以依据乱数延迟取样信号提取乱数时钟脉冲信号的逻辑电平,且依据所提取的乱数时钟脉冲信号的逻辑电平决定逻辑运算电路的输出端的逻辑电平,以形成乱数序列。
[0006]本发明的乱数产生器的乱数产生方法,用以产生一乱数序列,包括下列步骤。透过一线性反馈移位暂存器电路接收乱数序列以产生多个第一控制信号及多个第二控制信号。透过一振荡电路接收这些第一控制信号以产生一乱数时钟脉冲信号。透过一延迟电路接收一交流信号及这些第二控制信号,以产生一乱数延迟取样信号。透过一逻辑运算电路接收乱数时钟脉冲信号及乱数延迟取样信号,以依据乱数延迟取样信号提取乱数时钟脉冲信号的逻辑电平,并且逻辑运算电路依据所提取的乱数时钟脉冲信号的逻辑电平决定逻辑运算电路的输出端的逻辑电平,以形成乱数序列。
[0007]基于上述,本发明实施例的乱数产生器及其乱数产生方法,其反馈所产生的乱数序列以产生具有乱度的第一控制信号及第二控制信号,再依据第一控制信号控制振荡电路产生的乱数时钟脉冲信号及依据第二控制信号控制延迟电路延迟交流信号的延迟时间。藉此,可提高乱数序列的乱度,亦即可提高乱数码的乱度。
[0008]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
【附图说明】
[0009]图1为依据本发明一实施例的乱数产生器的系统示意图。
[0010]图2为图1依据本发明一实施例的振荡电路、线性反馈移位暂存器电路及延迟电路的电路不意图。
[0011]图3为依据本发明一实施例的乱数产生器的乱数产生方法的流程图。
[0012]其中,附图标记说明如下:
[0013]100:乱数产生器
[0014]110、110a:线性反馈移位暂存器电路
[0015]120、120a:振荡电路
[0016]130、130a:延迟电路
[0017]140:逻辑运算电路
[0018]BF_1 ?BF_n:缓冲器
[0019]CKR:参考时钟脉冲信号
[0020]D:输入端
[0021 ]DFF、DFF_1 ?DFF_n:D 型正反器
[0022]INT_1 ?INT_n:反相器
[0023]Q:输出端
[0024]RNC:控制信号
[0025]RSE:乱数序列
[0026]SAC:交流信号
[0027]S1、S2:波形
[0028]SC1、SC1_1 ?SCl_n:第一控制信号
[0029]SC2、SC2_1 ?SC2_n:第二控制信号
[0030]SRCK:乱数时钟脉冲信号
[0031]SRD:乱数延迟取样信号
[0032]Sff_l ?SW_n_l:开关
[0033]XR_1 ?XR_n:异或门
[0034]S310、S320、S330、S340:步骤
【具体实施方式】
[0035]图1为依据本发明一实施例的乱数产生器的系统示意图。请参照图1,请参照图1,在本实施例中,乱数产生器100用以产生一乱数序列RSE,并且包括线性反馈移位暂存器电路LFSR 110、振荡电路120、延迟电路130及逻辑运算电路140,其中逻辑运算电路140例如包括D型正反器DFF。
[0036]在本实施例中,线性反馈移位暂存器电路110接收控制信号RNC及乱数序列RSE。当线性反馈移位暂存器电路110受控于控制信号RNC而启动时,线性反馈移位暂存器电路110会依据乱数序列RSE产生多个第一控制信号SCI及多个第二控制信号SC2。
[0037]振荡电路120接收第一控制信号SCI,以依据第一控制信号SCI产生一乱数时钟脉冲信号SRCK,其中乱数时钟脉冲信号SRCK的脉波宽度会受控于第一控制信号SCI的电压电平的变化而对应地变化(如虚线波形S1所示)。延迟电路130接收交流信号SAC (如方波)及第二控制信号SC2以依据第二控制信号SC2延迟交流信号SAC而产生乱数延迟取样信号SRD,其中交流信号SAC的延迟时间受控于第二控制信号SC2的电压电平的变化而不同(如虚线波形S2所示),亦即交流信号SAC会对应第二控制信号SC2的电压电平的变化而抖动以作为乱数延迟取样信号SRD。
[0038]逻辑运算电路140的D型正反器DFF的输入端D接收乱数时钟脉冲信号SRCK,D型正反器DFF的触发端接收乱数延迟取样信号SRD。D型正反器DFF会依据乱数延迟取样信号SRD提取乱数时钟脉冲信号SRCK的逻辑电平,且依据所提取的乱数时钟脉冲信号SRCK的逻辑电平决定逻辑运算电路140的输出端Q的逻辑电平,以形成乱数序列RSE。
[0039]依据上述,由于乱数序列RSE被反馈以产生第一控制信号SCI及第二控制信号SC2,因此乱数序列RSE本身的乱度会间接影响第一控制信号SCI及第二控制信号SC2的乱度,以随机调整/设定乱数时钟脉冲信号SRCK的脉波宽度及交流信号SAC的延迟时间,进而提升乱数序列RSE的乱度。
[0040]在本发明的实施例中,第一控制信号SCI可部分相同于第二控制信号SC2,亦即部分的第一控制信号SCI完全相同于部分的第二控制信号SC2 ;第一控制信号SCI可完全相同于第二控制信号SC2 ;或者,第一控制信号SCI可完全不同于第二控制信号SC2。
[0041 ] 在本实施例中,逻辑运算电路140例如包括D型正反器DFF,但在其他实施例中,逻辑运算电路140可例如包括T型正反器,以依据乱数延迟取样信号SRD及乱数时钟脉冲信号SRCK产生乱数序列RSE。并且,交流信号SAC绘示为方波以说明,但在其他实施例中,交流信号SAC可以是正弦波信号、三角波信号、方波信号及锯齿波信号的其中之一。
[0042]图2为图1依据本发明一实施例的振荡电路、线性反馈移位暂存器电路及延迟电路的电路示意图。请参照图1及图2,其中相同或相似元件使用相同或相似标号。在本实施例中,假设第一控制信号SCI完全相同于第二控制信号SC2。
[0043]线性反馈移位暂存器电路110a例如包括多个正反器元件(如D型正反器DFF_1?DFF_n)、多个逻辑运算元件(如异或门XR_1?XR_n)及多个开关SW_1?SW_n_l,其中开关SW_1?SW_n-l为导通或不导通可依据本领域的技术人员自行设定,本发明实施例不以为限。
[0044]D型正反器DFF_1?D型正反器DFF_n的输出端Q (对应逻辑输出端)提供第一控制信号(SC1_1?SCl_n)及第二控制信号(SC2_1?SC2_n)并且耦接后一个异或门(如XR_2?XR_n)的运算输入端,D型正反器DFF_1?DFF_n的重置端接控制信号RNC,D型正反器DFF_1?DFF_n的触发端共同接收参考时钟脉冲信号CKR,D型正反器DFF_1?DFF_n的输入端D(对应逻辑输入端)耦接前一异或门(如XR_1?XR_n)的运算输出端。
[0045]举例来说,D型正反器DFF_1的输入端D耦接异或门XR_1的运算输出端,D型正反器DFF_2的输入端D耦接异或门XR_2的运算输出端,其余则以此类推。亦即,第i个异或门(如XR_1?XR_n)的运算输出端耦接第i个D型正反器(如DFF_1?DFF_n)的输入端D,其中,i为大于等于1的正整数。并且,D型正反器DFF_1的输出端Q耦接异或门XR_2的运算输入端,D型正反器DFF_2的输出端Q耦接异或门XR_3的运算输出端,其余则以此类推。亦即,第i个D型正反器(如DFF_1?DFF_n)的输出端Q耦接耦接第i+Ι个异或门(如XR_2?XR_n)的第一运算输入端。
[0046]第1个异或门XR_1的第一运算输入端接收乱数序列RSE,第1个异或门XR_1的第二运算输入端耦接最后的D型正反器DFF_n的输出端。开关SW_1?SW_n_l分别耦接于第1个异或门XR_1外的异或门(如XR_2?XR_n)的其中之一的第二运算输