CN1914847B - 使用数字逻辑产生随机数的装置和方法 - Google Patents
使用数字逻辑产生随机数的装置和方法 Download PDFInfo
- Publication number
- CN1914847B CN1914847B CN2004800416030A CN200480041603A CN1914847B CN 1914847 B CN1914847 B CN 1914847B CN 2004800416030 A CN2004800416030 A CN 2004800416030A CN 200480041603 A CN200480041603 A CN 200480041603A CN 1914847 B CN1914847 B CN 1914847B
- Authority
- CN
- China
- Prior art keywords
- signal
- value
- circuit
- shift register
- external signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Abstract
提供了一种使用数字逻辑来产生随机数的装置和方法。所述装置包括:移位寄存器,它依序移动其中存储的位值;反馈电路,它对在移位寄存器中存储的位值执行预定的逻辑运算以产生反馈信号;外部信号产生电路,它产生被输入到所述移位寄存器的外部信号;以及输入逻辑电路,它对所述反馈信号和外部信号执行预定的逻辑运算,并且向移位寄存器输入运算结果。所述方法包括:(a)依序移动在移位寄存器中存储的位值;(b)对在移位寄存器中存储的位值执行预定的逻辑运算以产生反馈信号;(c)产生被输入到所述移位寄存器的外部信号;以及(d)对所述反馈信号和外部信号执行预定的运算,并且向移位寄存器输入运算结果。
Description
技术领域
本发明涉及一种产生随机数的装置和方法,更具体地说,涉及一种使用数字逻辑来产生随机数的装置和方法。
背景技术
用于产生随机数的装置可应用到各种领域。例如,当产生用于加密操作的密钥时可以使用它。在这种情况下,这种装置的性能对于保证安全加密操作很重要。
为了产生随机数,所述装置必须具有使得产生能够以统计方式产生的任何可能值的复杂性、和防止容易地预先预料到随机值的随机性。传统上,使用物理随机数产生方法或伪随机数产生方法来产生随机数,所述物理随机数产生方法使用由物理现象引起的噪声分量,所述伪随机数产生方法产生以数学方式定义的数序列。
在所述物理随机数产生方法中,使用物理现象来产生物理随机数,所述物理现象诸如热噪声、温度和由电源提供的功率的改变。因此,虽然物理随机数在密码上是安全的,但是这种方法要求使用放大电路和模拟电路,因为由物理线性引起的信号的幅度是很小的。
但是,因为所述模拟电路能够仅仅产生随机信号,因此这种方法还要求收集器逻辑,所述收集器逻辑采样模拟信号,并且收集采样结果,以便获得在统计上平衡并且具有复杂性的数字随机数。
传统收集器逻辑可能不适合于复杂的加密操作,因为它们要求很多时间来产生随机数流。而且,使用模拟电路的随机数产生装置在下述方面是不利的:它难以制造,并且产生随机数所需要的电源容易被攻击者控制。因此,仍然需要进行许多试验和努力来改进随机数产生装置的性能。
所述伪随机数产生方法仅仅使用数字逻辑,因此容易实现。为此,这种方法被许多系统采用。传统上,所述伪随机数产生方法使用线性同余(congruential)产生器算法或线性反馈移位寄存器(LFSR)。
发明内容
技术问题
在传统的伪随机数产生方法中,使用数学定义的函数来获得随机数序列并且依序输出。结果,预定了要产生的随机数。而且,所述随机数以自身重复的次序来依序输出,然后在预定时间后以与它们被输出的次序相同的次序来重复输出,因此使得能够输出期望的随机数。换句话说,当相同的值被输入到线性同余产生器算法中时,获得相同的随机数,当相同的初始值,即种子,被输入到LFSR中时,在预定时间后也重复随机数的次序。
因此,所述伪随机数产生方法保证了使得产生能够以统计方式产生的每个可能值的复杂性。但是,这种方法不满足随机数的随机性方面,因为具体初始值的输入导致在预定时间后产生相同的随机数。即,可以预料将产生的随机数。因此,使用伪随机数的系统要求另外的处理来随机地确定初始输入值。
技术问题
本发明提供了一种装置和方法,用于在保证物理随机数产生装置能够使用模拟电路提供的随机性的同时,仅仅使用数字逻辑来容易地产生数字随机数。
为了仅仅使用数字电路来完全产生随机数,在本发明中,(i)当向反馈单元输入线性反馈移位寄存器(LFSR)的反馈单元的输出和随机信号值的组合时输出随机值,以及(ii)时钟包含抖动(jitter),并且通过在时钟中包含的抖动来确定何时改变时钟值。
有益效果
因此,可以仅仅使用数字逻辑来容易地产生随机数,并且获得随机性,如同以使用模拟电路的物理随机数产生装置来产生随机数。而且,由于作为伪随机数产生装置的LFSR的特性而保证了随机数的复杂性。即,可以获得能够以统计方式产生的每个可能值。
附图说明
通过参见附图而详细描述本发明的示例性实施例,本发明的上述和其他方面将变得更加清楚,其中:
图1是按照本发明的实施例的、使用数字逻辑来产生随机数的装置的示意方框图;
图2是包括图1的移位寄存器和反馈电路的4位线性反馈移位寄存器(LFSR)的示意方框图;
图3是与图2的LFSR相同、除了它还包括固定值防止电路的4位LFSR的方框图;
图4是响应于由两个独立源产生的两个时钟而运行的、图1中所示的随机信号产生电路的示例的示意方框图;
图5是响应于由两个独立源产生的两个时钟的上升和下降沿而运行的、图1中所示的随机信号产生电路的另一个示例的示意方框图;以及
图6是图解按照本发明的实施例的、使用数字逻辑而产生随机数的方法的流程图。
具体实施方式
按照本发明的一个方面,提供了一种使用数字逻辑来产生随机数的装置,所述装置包括:移位寄存器,它依序移动其中存储的位值;反馈电路,它对于在移位寄存器中存储的位值执行预定的逻辑运算以产生反馈信号;外部信号处理电路,它产生被输入到所述移位寄存器的外部信号;以及输入逻辑电路,它对于所述反馈信号和外部信号执行预定的逻辑运算,并且向移位寄存器输入运算结果。
所述装置可以还包括固定值防止电路,当外部信号的逻辑值等同于在移位寄存器中存储的所有位值时,所述固定值防止电路产生具有这样的值的信号,即该值允许输入逻辑电路的输出具有与移位寄存器的输出的值不同的值,并且所述固定值防止电路向输入逻辑电路输入所产生的信号。
从固定值防止电路输出的信号可以在逻辑高。
外部信号产生电路可以产生随机信号。
可以通过采样由与采样信号的源不同的源产生的被采样信号来产生随机信号。
可以在由与被采样信号的源不同的源产生的采样信号的上升和下降沿执行采样。
按照本发明的另一个方面,提供了一种使用数字逻辑来产生随机数的方法,所述方法包括:(a)移动在移位寄存器中存储的位值;(b)对于在移位寄存器中存储的位值执行预定的逻辑运算以产生反馈信号;(c)产生被输入到所述移位寄存器的外部信号;以及(d)对于所述反馈信号和外部信号执行预定的运算,并且向移位寄存器输入运算结果。
在(d)期间,当外部信号的逻辑值等同于在移位寄存器中存储的所有位值时,可以进一步对固定值防止电路的输出执行预定逻辑运算,所述固定值防止电路允许预定逻辑运算的结果与移位寄存器的位值不同。
固定值防止电路的输出可以在逻辑高。
所述外部信号可以是随机信号。
可以通过采样由与采样信号的源不同的源产生的被采样信号来产生所述随机信号。
可以在由与被采样信号的源不同的源产生的采样信号的上升和下降沿执行采样。
本发明的实施例
现在简述本发明以便更好地理解。由传统伪随机数产生方法采用的线性反馈移位寄存器(LFSR)利用使用以数学方式定义的函数的反馈电路,并且通过向移位寄存器输入所述反馈电路的输出而在每个时钟周期中产生不同序列。但是,如上所述,所述序列的顺序固定。为了解决这个问题,本发明使用反馈电路的输出和外部信号的值的和来作为被输入到移位寄存器的输入值。
当外部信号的值被固定到0时LFSR的特性与当外部信号的值被固定到1时LFSR的特性不同。具体上,当外部信号具有0值时,由LFSR以与由传统LFSR产生的序列相同的次序产生序列。但是,当外部信号具有1值时,由LFSR产生的序列的顺序与当外部信号具有0值时产生的顺序不同,而不是相反。而且,当外部信号具有1值时,由LFSR产生的序列的分布具有等同于当外部信号具有0值时获得的序列的复杂度的复杂度。因此,当外部信号具有随机值时,由LFSR产生的序列变为不可预料的随机数。
传统的随机数产生装置仅仅使用近期产生的随机信号来产生随机数,而不保持由模拟信号产生的信号的随机性。相反,按照本发明的随机数产生装置在改变序列的值的同时按照随机信号值来改变从LFSR输出的序列的值中的改变所基于的模式。因此,可以保持随机信号值的随机性,因此,当软件需要随机数时,LFSR能够产生不可预料和完全的随机数。
因此,按照本发明的LFSR的使用保证了输入外部信号的随机性,并且每当需要随机数时产生不可预料的序列。因此,可以仅仅使用数字逻辑而不使用模拟电路来容易地产生随机外部信号。
按照本发明,通过使用在时钟信号中引起的抖动而使得由两个独立的源产生的时钟中的一个时钟采样另一个时钟,来产生被输入到LFSR的随机外部信号。因为在短时间中在所述时钟中产生抖动,因此使用抖动而产生的随机外部信号的随机性水平低于使用模拟电路而产生的传统随机信号的随机性水平。尽管如此,当需要随机数时可以充分地对抖动采样,并且每当对抖动采样时,LFSR输出不可预料的值。因此,抖动的随机分量使得LFSR产生不可预料的随机数。
以下,将参见附图来说明按照本发明的示例性实施例的、一种使用数字逻辑来产生随机数的装置和方法。在全部附图中,相同的标号表示相同的元件。
图1是按照本发明的一个实施例的、一种使用数字逻辑来产生随机数的装置的方框图。图1的装置被划分为四个元件块。现在按照它们的结构和操作说明所述四个元件块。
图1的装置包括移位寄存器100、反馈电路200、固定值防止电路300、随机信号产生电路400和输入逻辑电路500。
移位寄存器100向反馈电路200依序移动其中存储的位值。然后,反馈电路200对在移位寄存器100中存储的位值执行预定的逻辑运算以产生反馈信号。在此实施例中,移位寄存器100和反馈电路200与在传统线性反馈移位寄存器(LFSR)中包括的那些几乎相同。但是,与传统的LFSR相比较,图1的装置使用不同方法来产生要输入到移位寄存器100的信号,并且还包括固定值防止电路300、随机信号产生电路400和输入逻辑电路500,所述输入逻辑电路500组合反馈电路200、固定值防止电路300和随机信号产生电路400的输出,并且向移位寄存器100输出组合结果。因此,由图1的装置产生的随机数具有与由传统LFSR产生的那些不同的操作特征。
将参见图2来说明按照本发明的、一种使用数字逻辑来产生随机数的装置的操作特征。图2图解了按照本发明的一个实施例的4位LFSR。图2的LFSR包括移位寄存器100和反馈电路200,诸如在传统LFSR中安装的那些。反馈电路200使用预定源多项式,即p(x)=x4+x3+1来执行运算。图2的LFSR与传统的LFSR的不同在于:从自反馈电路200输出的信号和外部信号的组合来产生被输入到移位寄存器100的信号。
返回图1,随机信号产生电路400产生被输入到移位寄存器100的外部信号。在此实施例中,所述外部信号是随机信号。因此,当外部信号的值被固定到0时,可以获得与通过仅仅向移位寄存器100输入从反馈电路200输出的信号而获得的效果,即当使用传统LFSR时获得的效果,相类似的效果。在这种情况下,移位寄存器100的初始种子值是1010,第一到第四寄存器110到140的值响应于时钟输入而被依序改变为1010、1101、0110、0011、1001、0100、0010、0001、1000、1100、1110、1111、0111、1011、0101和1010。
当外部信号的值被固定到1时,被输入到移位寄存器100的信号的值被确定为从反馈电路200输出的信号的值和外部信号值1的和。在这种情况下,当移位寄存器100的初始种子值是1010时,第一到第四寄存器110到140的值依序被改变为1010、0101、0010、1001、1100、0110、1011、1101、1110、0111、0011、0001、0000、1000、0100和1010。即,当外部信号值被固定到1时获得的序列的顺序与当外部信号值被固定到0时获得的序列的顺序不同,而不是相反。而且,由后一种情况的序列产生的值的数量,即24-1=15,与由前一种情况的序列产生的值的数量相同。即,它们具有相同的复杂性。
因此,可以通过组合从反馈电路200输出的信号和外部信号,其值在0和1之间随机地交替改变,并且向移位寄存器100输入组合的结果,来产生不可预料的随机值。让我们假定外部信号具有随机值,然后其值变得固定到具体值或在预定时间后示出规律的改变模式,或者假定以规律的间隔来交替地和重复地产生具有随机值的外部信号和具有值的具体模式的外部信号。即使在这种情况下,因为移位寄存器100在接收到具有具体值或值的具体模式的外部信号之前已经接收到具有随机值的外部信号,因此难于估计移位寄存器100的输出值。在这方面,按照本发明的所述装置与产生随机数的传统装置不同。换句话说,当在输入具有随机数的信号后预定时间,具有值的具体模式的信号被输入到传统装置时,由传统装置产生的随机数具有具体模式,即它们是可预料的。
图3图解了与图2的4位LFSR相比较还包括固定值防止电路300的4位LFSR。所述固定值防止电路300防止由移位寄存器100产生的序列响应于时钟输入而不改变。在传统LFSR中,仅仅反馈电路的输出被输入到移位寄存器,因此,不可能产生下述情况:除了当初始种子值是0000时之外,从第一到第四寄存器输出的所有值是0。即,响应于时钟输入,从第一到第四寄存器输出的值按照预定模式而被改变到除了0000之外的不同值。
相反,按照本发明的LFSR通过组合反馈电路的输出和外部信号而产生随机数。因此,当外部信号的值是1时,第一到第四寄存器110到140的所有输出具有0值,如参见图2所述的序列中所示。如果当具有随机值的外部信号的输入使得第一到第四寄存器110到140的所有输出具有0值时外部信号的值被改变并且被固定到0,则移位寄存器100的所有移位寄存器的输出被固定到0,而不论输入时钟的值如何。类似地,如果当具有随机值的外部信号的输入使得第一到第四寄存器110到140的所有输出具有1值时外部信号的值被固定到1,则移位寄存器100的所有移位寄存器的输出被固定到1,而不论输入时钟的值如何。因此,要求固定值防止电路300防止移位寄存器100的输出值被固定到具体值。
固定值防止电路300包括:第一电路310,它对第一到第四寄存器110到140的输出和外部信号的值反相,并且对反相结果执行AND(与)运算,或对第一到第四寄存器110到140的输出执行OR(或)运算并且对所述OR运算结果反相;第二电路320,它对第一到第四寄存器110到140的输出和外部信号值执行AND运算;以及第三电路330,它对第一和第二电路310和320的输出执行OR运算。输入逻辑电路500组合第三电路330的输出、所述外部信号值、和反馈电路200的输出,并且向移位寄存器100输入组合结果,由此防止移位寄存器100的输出被固定到具体值。
当第一到第四寄存器110到140的输出具有0000值并且外部信号具有0值时,在没有固定值防止电路300的情况下,反馈电路200的输出具有0值。在这种情况下,反馈电路200的输出和被输入到移位寄存器100的外部信号值的和也是0,因此,移位寄存器100的输出的值被固定到0000。但是,当安装固定值防止电路300时,第一电路310将第一到第四寄存器110到140的输出和外部信号值反相,对反相结果执行AND运算,并且产生具有1值的信号。当具有1值的信号被输入到第三电路330时,第三电路330也产生具有1值的信号。即,固定值防止电路300输出具有1值的信号。从固定值防止电路300输出的信号的值、外部信号值和反馈电路200的输出的值由输入逻辑电路500组合,因此获得1值。从输入逻辑电路500输出的1值被输入到移位寄存器100。在这种情况下,从第一到第四移位寄存器110到140输出的随后的值响应于时钟输入而是1000。因此,可以使用固定值防止电路300而防止移位寄存器100的输出值被固定到0000。
类似地,当第一到第四寄存器110到140的输出的值是1111并且所述随机信号值是1时,在没有固定值防止电路300的情况下,反馈电路200的输出具有0值。因此,反馈电路200的输出值和所述随机信号值被组合以获得1值。当组合结果被输入到移位寄存器100时,移位寄存器100的输出值被固定到1111。但是,当安装固定值防止电路300时,第二电路320对第一到第四寄存器110到140的输出和外部信号值执行OR运算,并且产生1值的输出。因此,第三电路330的输出也具有1值,因此,固定值防止电路300产生具有1值的输出。然后,输入逻辑电路500组合固定值防止电路300的输出值、所述随机信号值、和反馈电路200的输出,并且产生具有0值的输出。因此,响应于时钟输入,从第一到第四移位寄存器110到140输出的随后的值是0111。因此,可以防止移位寄存器100的输出值被固定到1111。换句话说,固定值防止电路300仅仅当移位寄存器100的输出和外部信号具有相同值时才产生具有1值的输出。即,可以获得反相向移位寄存器100输入的信号的值的效果。
在本公开中,关于4位LFSR而说明了按照本发明的产生随机数的装置,但是本发明不限于产生具有具体位长度的随机数。
图4图解了触发器400A,其中,由两个独立源产生的两个时钟之一被输入到时钟端,而另一个时钟被输入到数据端,以便由被输入到时钟端的时钟对另一个时钟采样以产生具有随机值的信号。
总体上,时钟包含改变时钟值的抖动,通过其中包含的抖动来确定何时所有时钟的值改变。因此,当改变所有时钟的值时的时间点彼此不同。所述抖动由诸如温度改变的物理现象引起,并且具有示出高斯分布的随机特征。因此,当在采样期间在时钟中出现抖动时产生的信号值被随机地改变。虽然抖动发生很短的时间并且难于使用所述抖动来产生具有随机值的信号,但是,每当产生随机信号时,向按照本发明的LFSR输入包含所述抖动的信号使得LFSR的输出具有不可预料的值。因此,仅仅使用时钟的随机特征使得可以不使用模拟电路而物理地产生随机数。
图5图解了使用由两个独立源产生的两个时钟来产生随机数的装置400B。所述装置400B是按照本发明的一个实施例的图4的触发器400A的版本。在装置400B中,第一时钟被输入到第一触发器410的时钟端,第一时钟的反相版本被输入到第二触发器420的时钟端,以便第一触发器410在第一时钟的上升沿采样第二时钟的值,第二触发器420在第一时钟的下降沿采样第二时钟的值。第一和第二触发器410和420的输出被组合以产生具有随机值的信号。
图4的触发器400A在第一时钟的上升沿采样第二时钟。但是,图5的装置400B在第一时钟的上升和下降沿采样第二时钟,由此把将采样到第二时钟中的抖动的概率加倍。
图6是图解按照本发明的一个实施例的、使用数字逻辑来产生随机数的方法的流程图。参见图6,依序移动在移位寄存器中存储的位值(步骤600)。接着,对所述位值执行预定的运算以产生反馈信号(步骤610)。
在此实施例中,移位寄存器的操作与在传统LFSR中包括的移位寄存器的操作相同,并且产生反馈信号的方法类似于传统方法。但是,图6的方法还包括:使用新方法来产生被输入到移位寄存器的信号;产生固定值防止信号,所述固定值防止信号被从固定值防止电路输出,并且防止移位寄存器的输出的值被固定到具体值;产生具有随机特征的外部信号;组合从固定值防止电路输出的信号的值、随机信号的值、和反馈信号的值;以及向移位寄存器输入组合的结果。因此,可以产生具有唯一操作特征的随机数。
在步骤610后,产生要被输入到移位寄存器的外部信号(步骤620)。接着,确定是否外部信号的逻辑值不等同于在移位寄存器中存储的位值(步骤630)。如果外部信号的逻辑值等于所述位值,则仅仅对外部信号和反馈信号执行预定的逻辑运算,并且向移位寄存器输入所述逻辑运算的结果(步骤640)。
但是,如果外部信号的逻辑值等同于所述位值,则使用固定值产生电路来产生固定值防止信号(步骤650),并且对外部信号、反馈信号和固定值防止信号执行所述预定逻辑运算,并且向移位寄存器输入所述逻辑运算的结果,返回步骤640。图6的方法参见图1到5如上所述,将省略其详细说明。
如上所述,按照本发明,可以仅仅使用数字逻辑而随机地产生可以按照位值而统计地产生的每个可能的完全随机数。而且,按照本发明的产生随机数的装置能够在不使用模拟电路和复杂的算法的情况下仅仅使用数字逻辑来容易地产生随机数。而且,当能够将所述数字逻辑制造为紧凑单元时,可以降低功耗。
工业实用性
本发明可以被实现为芯片上系统随机数产生装置,诸如集成电路(IC)卡,不占用大空间并且节省功率。而且,本发明像传统的伪随机数产生装置那样容易制造,因此可应用到各种类型的系统。
虽然已经参照本发明的示例性实施例具体示出和说明了本发明,但本领域的技术人员应明白,在不脱离所附的权利要求所限定的本发明的精神和范围的情况下,可以进行形式和细节上的各种改变。
Claims (10)
1.一种使用数字逻辑来产生随机数的装置,所述装置包括:
移位寄存器,依序移动其中存储的位值;
反馈电路,对在移位寄存器中存储的位值执行预定的逻辑运算以产生反馈信号;
外部信号产生电路,产生被输入到输入逻辑电路的外部信号;
该输入逻辑电路,对所述反馈信号和外部信号执行预定的逻辑运算,并且向移位寄存器输入运算结果;以及
固定值防止电路,当外部信号的逻辑值等同于在移位寄存器中存储的所有位值时,所述固定值防止电路产生具有这样的值的信号,即该值允许输入逻辑电路的输出具有与移位寄存器的输出的值不同的值,并且所述固定值防止电路向输入逻辑电路输入所产生的信号。
2.按照权利要求1的装置,其中,从固定值防止电路输出的信号处于逻辑高。
3.按照权利要求1的装置,其中,所述外部信号产生电路产生随机信号。
4.按照权利要求3的装置,其中,通过对由与采样信号的源不同的源产生的被采样信号进行采样来产生所述随机信号。
5.按照权利要求4的装置,其中,在由与被采样信号的源不同的源产生的采样信号的上升和下降沿执行采样。
6.一种使用数字逻辑来产生随机数的方法,所述方法包括:
(a)依序移动在移位寄存器中存储的位值;
(b)对在移位寄存器中存储的位值执行预定的逻辑运算以产生反馈信号;
(c)产生被输入到输入逻辑电路的外部信号;
(d)对所述反馈信号和外部信号执行预定的运算,并且向移位寄存器输入运算结果;以及
(e)当外部信号的逻辑值等同于在移位寄存器中存储的所有位值时,对固定值防止电路的输出进一步执行预定逻辑运算,所述固定值防止电路允许预定逻辑运算的结果与移位寄存器的位值不同。
7.按照权利要求6的方法,其中,所述固定值防止电路的输出处于逻辑高。
8.按照权利要求6的方法,其中,所述外部信号是随机信号。
9.按照权利要求8的方法,其中,通过对由与采样信号的源不同的源产生的被采样信号进行采样来产生所述随机信号。
10.按照权利要求9的方法,其中,在由与被采样信号的源不同的源产生的采样信号的上升和下降沿执行采样。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030095373 | 2003-12-23 | ||
KR1020030095373A KR100576714B1 (ko) | 2003-12-23 | 2003-12-23 | 디지털 로직을 이용한 난수 발생 장치 및 방법 |
KR10-2003-0095373 | 2003-12-23 | ||
PCT/KR2004/001911 WO2005062523A1 (en) | 2003-12-23 | 2004-07-29 | Apparatus and method for generating random number using digital logic |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1914847A CN1914847A (zh) | 2007-02-14 |
CN1914847B true CN1914847B (zh) | 2010-04-28 |
Family
ID=36791214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2004800416030A Expired - Fee Related CN1914847B (zh) | 2003-12-23 | 2004-07-29 | 使用数字逻辑产生随机数的装置和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070150531A1 (zh) |
EP (1) | EP1698095A4 (zh) |
JP (1) | JP4417389B2 (zh) |
KR (1) | KR100576714B1 (zh) |
CN (1) | CN1914847B (zh) |
WO (1) | WO2005062523A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019802B2 (en) | 2005-08-24 | 2011-09-13 | Qualcomm Incorporated | Cryptographically secure pseudo-random number generator |
US8312071B2 (en) * | 2008-04-11 | 2012-11-13 | International Business Machines Corporation | Method and structure for provably fair random number generator |
US8522065B2 (en) * | 2009-09-06 | 2013-08-27 | Percello Ltd. | Generating a random number in an existing system on chip |
CN102622205B (zh) * | 2012-03-09 | 2015-02-11 | 无锡华大国奇科技有限公司 | 随机数发生器 |
US9569176B2 (en) | 2014-10-30 | 2017-02-14 | Seagate Technology Llc | Deriving entropy from multiple sources having different trust levels |
KR101649996B1 (ko) | 2015-07-07 | 2016-08-23 | 동서대학교산학협력단 | 임계클럭조절형 랜덤 암호 발생기 |
US10536266B2 (en) | 2017-05-02 | 2020-01-14 | Seagate Technology Llc | Cryptographically securing entropy for later use |
US10541610B1 (en) * | 2018-08-21 | 2020-01-21 | Texas Instruments Incorporated | Spectral shaping of spread spectrum clocks/frequencies through post processing |
KR102217928B1 (ko) * | 2019-06-14 | 2021-02-19 | 광운대학교 산학협력단 | 랜덤 소수 생성 방법 및 그를 위한 장치 |
US11586418B2 (en) * | 2020-01-17 | 2023-02-21 | Macronix International Co., Ltd. | Random number generator, random number generating circuit, and random number generating method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061819A (en) * | 1997-12-29 | 2000-05-09 | Hewlett-Packard Company | Generation of reproducible random initial states in RTL simulators |
US6240432B1 (en) * | 1998-12-28 | 2001-05-29 | Vanguard International Semiconductor Corporation | Enhanced random number generator |
CN1307757A (zh) * | 1998-04-24 | 2001-08-08 | 艾利森公司 | 无线电通信系统中伪随机数序列的产生 |
CN1347607A (zh) * | 1999-02-08 | 2002-05-01 | 高通股份有限公司 | 生成加密数据流密码的方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5001361A (en) * | 1988-05-13 | 1991-03-19 | Fujitsu Limited | Master-slave flip-flop circuit |
AU644306B2 (en) * | 1991-08-23 | 1993-12-02 | Fujitsu Limited | A generating system of random-number sequences for a parallel computer system |
US6125378A (en) * | 1999-01-13 | 2000-09-26 | Barbano; Paolo Emilio | Method and apparatus for generating families of code signals using multiscale shuffling |
GB2357610B (en) * | 1999-12-20 | 2004-04-28 | Mitsubishi Electric Inf Tech | Method and apparatus for generating numbers |
US6356112B1 (en) * | 2000-03-28 | 2002-03-12 | Translogic Technology, Inc. | Exclusive or/nor circuit |
US6687721B1 (en) * | 2000-03-31 | 2004-02-03 | Intel Corporation | Random number generator with entropy accumulation |
US7253717B2 (en) * | 2000-11-29 | 2007-08-07 | Mobile Technics Llc | Method and system for communicating with and tracking RFID transponders |
US6807553B2 (en) * | 2001-04-23 | 2004-10-19 | Safenet B.V. | Digital true random number generator circuit |
US20040049525A1 (en) * | 2002-09-06 | 2004-03-11 | Koninklijke Philips Electronics N.V. | Feedback random number generation method and system |
US7206797B2 (en) * | 2003-04-14 | 2007-04-17 | M-Systems Flash Disk Pioneers Ltd. | Random number slip and swap generators |
-
2003
- 2003-12-23 KR KR1020030095373A patent/KR100576714B1/ko not_active IP Right Cessation
-
2004
- 2004-07-29 US US10/584,158 patent/US20070150531A1/en not_active Abandoned
- 2004-07-29 EP EP04774229A patent/EP1698095A4/en not_active Withdrawn
- 2004-07-29 CN CN2004800416030A patent/CN1914847B/zh not_active Expired - Fee Related
- 2004-07-29 JP JP2006546799A patent/JP4417389B2/ja not_active Expired - Fee Related
- 2004-07-29 WO PCT/KR2004/001911 patent/WO2005062523A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6061819A (en) * | 1997-12-29 | 2000-05-09 | Hewlett-Packard Company | Generation of reproducible random initial states in RTL simulators |
CN1307757A (zh) * | 1998-04-24 | 2001-08-08 | 艾利森公司 | 无线电通信系统中伪随机数序列的产生 |
US6240432B1 (en) * | 1998-12-28 | 2001-05-29 | Vanguard International Semiconductor Corporation | Enhanced random number generator |
CN1347607A (zh) * | 1999-02-08 | 2002-05-01 | 高通股份有限公司 | 生成加密数据流密码的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2005062523A1 (en) | 2005-07-07 |
KR20050064096A (ko) | 2005-06-29 |
EP1698095A4 (en) | 2010-07-14 |
KR100576714B1 (ko) | 2006-05-03 |
CN1914847A (zh) | 2007-02-14 |
US20070150531A1 (en) | 2007-06-28 |
JP2007520798A (ja) | 2007-07-26 |
JP4417389B2 (ja) | 2010-02-17 |
EP1698095A1 (en) | 2006-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1782181B1 (en) | Method and apparatus for generating random data | |
KR100847213B1 (ko) | 난수 생성 방법 및 난수 생성기 | |
US4691291A (en) | Random sequence generators | |
JP3696209B2 (ja) | シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器 | |
US20130346459A1 (en) | Method for generating random numbers | |
CN1914847B (zh) | 使用数字逻辑产生随机数的装置和方法 | |
CN1534454A (zh) | 伪随机数发生器 | |
CN109117118B (zh) | 基于环形振荡器结构真随机数发生器的随机数提取方法 | |
CN100541418C (zh) | 利用亚稳态锁存器生成随机数的方法和装置 | |
US9582249B2 (en) | Method for monitoring the output of a random generator | |
EP1662375B1 (en) | Random number generator and method for testing the generator | |
US7590674B2 (en) | Method and apparatus for generating a random bit stream | |
US7139397B2 (en) | Hybrid architecture for realizing a random numbers generator | |
US7146392B2 (en) | Random number generator | |
CN100416492C (zh) | 随机数发生装置和概率发生装置 | |
CN1720501A (zh) | 用于纯随机数发生器的系统和方法 | |
CN100458685C (zh) | 产生随机数的装置及方法 | |
US20050102335A1 (en) | Method and apparatus for generating a random bit stream | |
US20210224041A1 (en) | Random number generator, random number generating circuit, and random number generating method | |
CN101714073A (zh) | 随机数产生方法、随机数选取方法及相关电子装置 | |
JP4765609B2 (ja) | 暗号処理装置 | |
US9698792B1 (en) | System and method for clocking digital logic circuits | |
CN115867885A (zh) | 真随机数发生器 | |
JP2009053906A (ja) | 乱数発生装置 | |
JP6386904B2 (ja) | 乱数生成装置及び乱数生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100428 Termination date: 20110729 |