本发明专利技术公开了一种真随机数的产生方法和装置,该产生方法包括:对发送至触发器的伪随机序列预先进行延迟处理,从而破坏触发器的建立时间和/或保持时间,使触发器处于亚稳态;由处于亚稳态的触发器对伪随机序列进行采集,从而获得真随机数;触发器将真随机数输出。本发明专利技术通过对输入至触发器的伪随机序列进行延迟处理,使触发器的建立时间和/或保持时间遭到破坏,从而使触发器处于亚稳态,而在触发器处于亚稳态的情况下对数据进行采集,实现了真随机数的快速生成,不仅提高了随机数的随机性,还提高了产生真随机数的效率。
【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种真随机数的产生方法和装置,该产生方法包括:对发送至触发器的伪随机序列预先进行延迟处理,从而破坏触发器的建立时间和/或保持时间,使触发器处于亚稳态;由处于亚稳态的触发器对伪随机序列进行采集,从而获得真随机数;触发器将真随机数输出。本专利技术通过对输入至触发器的伪随机序列进行延迟处理,使触发器的建立时间和/或保持时间遭到破坏,从而使触发器处于亚稳态,而在触发器处于亚稳态的情况下对数据进行采集,实现了真随机数的快速生成,不仅提高了随机数的随机性,还提高了产生真随机数的效率。【专利说明】真随机数的产生方法和装置
本专利技术涉及随机数领域,具体来说,涉及一种真随机数的产生方法和装置。
技术介绍
目前,在密码学、通信系统中随机数的使用频率普遍比较高,这样也使得大量的随机数发生器应用广泛。而随机数最重要的特性就是其先后产生的两个数值之间毫无关系,例如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等物理现象所产生的结果就是随机数。而与之相对应的伪随机数列则是“似乎”随机的数,也就是说,其实际上是通过一个固定的、可以重复的计算方法所产生的,例如,计算机或计算器所产生的随机数就不是真正的随机数,因为它们有很长的周期性,也就是说,它们实际上是可以计算出来的数字,而并非是真正的随机数。 而现有的物理性随机数发生器普遍存在着技术要求高、且随机数产生的速率低的问题,而伪随机数发生器虽然能够快速产生随机数,但是其产生的数字的随机特性普遍偏低,也就是说,伪随机数发生器所产生的并不是真正意义上的真随机数。 针对相关技术中存在的随机数的随机性低、产生速率低的问题,目前尚未提出有效的解决方案。
技术实现思路
针对相关技术中存在的随机数的随机性低、产生速率低的问题,本专利技术提出一种真随机数的产生方法和装置,能够简单、快速的产生真随机数,在提高了产生的随机数的随机性的同时还提高了真随机数的产生效率。 本专利技术的技术方案是这样实现的: 根据本专利技术的一个方面,提供了一种真随机数的产生方法。 该产生方法包括: 对发送至触发器的伪随机序列预先进行延迟处理,从而破坏触发器的建立时间和/或保持时间,使触发器处于亚稳态; 由处于亚稳态的触发器对伪随机序列进行采集,从而获得真随机数; 触发器将真随机数输出。 优选的,在输入触发器的伪随机序列处于翻转边沿的情况下,触发器对伪随机序列进行采集,从而获得真随机数。 其中,延迟处理的类型可包括以下至少之一: 输出延迟; 组合逻辑延迟。 此外,发送至触发器的伪随机序列为预定位宽的序列,并且,真随机数的位宽与伪随机序列的位宽相同。 优选的,在时钟信号的驱动下使触发器产生真随机数。 根据本专利技术的另一方面,提供了一种真随机数的产生装置。 该产生装置包括: 延迟模块,用于对发送至触发器的伪随机序列预先进行延迟处理,从而破坏触发器的建立时间和/或保持时间,使触发器处于亚稳态; 采集模块,用于对伪随机序列进行采集,从而获得真随机数; 输出模块,用于将真随机数输出。 优选的,采集模块进一步用于在输入触发器的伪随机序列处于翻转边沿的情况下,对伪随机序列进行采集,从而获得真随机数。 其中,延迟处理的类型可包括以下至少之一: 输出延迟; 组合逻辑延迟。 此外,发送至触发器的伪随机序列为预定位宽的序列,并且,真随机数的位宽与伪随机序列的位宽相同。 优选的,采集模块进一步用于在时钟信号的驱动下对伪随机序列进行采集,从而获得真随机数。 本专利技术通过对输入至触发器的伪随机序列进行延迟处理,从而破坏触发器的建立时间和/或保持时间,使触发器处于亚稳态,而在触发器处于亚稳态的情况下对数据进行采集,快速的实现了真随机数的生成,从而在提高产生的随机数的随机性的同时,还提高了真随机数的产生效率。 【专利附图】【附图说明】 为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图1是根据本专利技术实施例的真随机数的产生方法的流程图; 图2是根据本专利技术一具体实施例的真随机数的产生方法的流程图; 图3是根据本专利技术实施例的真随机数的产生方法的同步时序电路图; 图4是根据现有技术的伪随机数的产生方法的时序图; 图5是根据本专利技术实施例的真随机数的产生方法的时序图; 图6是根据本专利技术实施例的真随机数的产生装置的框图。 【具体实施方式】 下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。 根据本专利技术的实施例,提供了一种真随机数的产生方法。 如图1所示,根据本专利技术实施例的真随机数的产生方法包括: 步骤S101,对发送至触发器的伪随机序列预先进行延迟处理,从而破坏触发器的建立时间和/或保持时间,使触发器处于亚稳态; 步骤S103,由处于亚稳态的触发器对伪随机序列进行采集,从而获得真随机数; 步骤S105,触发器将真随机数输出。 通过本专利技术的上述方案,能够通过对输入至触发器的伪随机序列进行延迟处理,从而破坏触发器的建立时间和/或保持时间,使触发器处于亚稳态,而在触发器处于亚稳态的情况下对数据进行采集,快速的实现了真随机数的生成,从而在提高产生的随机数的随机性的同时,还提高了真随机数的产生效率。 为了更好的理解本专利技术的上述技术方案,下面结合一具体实施例对本专利技术的上述技术方案进行详细阐述。 如图2所示,在本实施例所阐述的真随机数生成方法中涉及到了以下几个功能单元:电源单元(未示出)、时钟单元、激励生成单元、延迟单元、真随机数生成单元,其中,电源单元用于为其他的功能单元供电。 下面通过各个功能单元的具体工作流程对本专利技术的真随机数的产生方法进行详细阐述。 如图2所示,在电源单元的供电下,由时钟单元产生周期为T的时钟信号驱动激励生成单元和真随机数生成单元工作,其中,在本例中,激励生成单元为移位寄存器,但是,应当注意的是,对于激励生成单元来说,其也可以是其他的在时钟信号的驱动下产生有规律的数列(即伪随机数)的装置,本专利技术并不限定激励生成单元必须为移位寄存器。 在具体操作中,在时钟信号的驱动下激励生成单元产生预定位宽的伪随机序列(这里为激励),其中,激励的位宽与真随机数生成单元所生成的真随机数的位宽是相同的,因此,在实际应用中,可以根据真随机数的实际位宽需求,使激励生成单元产生预定位宽的激励,从而增强本专利技术所产生的真随机数在位宽上的灵活性,进而扩大本专利技术所限定的真随机数的应用范围,并能够根据应用场景的不同改变真随机数的位宽。 其中,参照图3所示的同步时序电路,由于激励生成单元(这里为移位寄存器)存在输出延迟Tco,因此,在经过Tco时间后,激励生成单元生成的激励被延迟单元接收,然后,延迟单元对接收到的激励进行组合逻辑延迟处理,其中,延迟值为Tdelay,并将经过延迟处理后的激励本文档来自技高网...
【技术保护点】
一种真随机数的产生方法,其特征在于,包括:对发送至触发器的伪随机序列预先进行延迟处理,从而破坏所述触发器的建立时间和/或保持时间,使所述触发器处于亚稳态;由处于亚稳态的所述触发器对所述伪随机序列进行采集,从而获得真随机数;所述触发器将所述真随机数输出。
【技术特征摘要】
【专利技术属性】
技术研发人员:窦晓光,
申请(专利权)人:曙光信息产业北京有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。