真随机数生成方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:37121521 阅读:13 留言:0更新日期:2023-04-01 05:17
本申请实施例提供一种真随机数生成方法、装置、电子设备及可读存储介质,其中方法包括:利用伪随机数产生算法生成伪随机数序列,所述伪随机数序列包括多个伪随机数;确定所述伪随机数序列的产生延迟时间,其中,所述产生延迟时间为生成所述伪随机数序列的首个伪随机数到终个伪随机数所需时间;根据所述产生延迟时间确定各伪随机数的偏移量;根据各伪随机数及其偏移量分别生成一个真随机数。这样,利用生成伪随机数序列的产生时间延迟时间作为各伪随机数的偏移量,根据各伪随机数及其偏移量得到多个真随机数,在短时间内产生大量真随机数,提高生成真随机数的速度。提高生成真随机数的速度。提高生成真随机数的速度。

【技术实现步骤摘要】
真随机数生成方法、装置、电子设备及可读存储介质


[0001]本申请涉及数据处理
,尤其涉及一种真随机数生成方法、装置、电子设备及可读存储介质。

技术介绍

[0002]目前常用的随机数产生算法有线性同余法,线性同余法所产生的随机值属于伪随机值,产生的序列是周期序列。现有技术中的随机数产生算法无法产生大量真随机数。

技术实现思路

[0003]为了解决上述技术问题,本申请实施例提供了一种真随机数生成方法、装置、电子设备及可读存储介质。
[0004]第一方面,本申请实施例提供了一种真随机数生成方法,所述方法包括:
[0005]利用伪随机数产生算法生成伪随机数序列,所述伪随机数序列包括多个伪随机数;
[0006]确定所述伪随机数序列的产生延迟时间,其中,所述产生延迟时间为生成所述伪随机数序列的首个伪随机数到终个伪随机数所需时间;
[0007]根据所述产生延迟时间确定各伪随机数的偏移量;
[0008]根据各伪随机数及其偏移量分别生成一个真随机数。
[0009]在一实施方式中,所述确定所述伪随机数序列的产生延迟时间,包括:
[0010]获取所述首个伪随机数的CUP时间戳及所述终个伪随机数的CUP时间戳;
[0011]将所述首个伪随机数的CUP时间戳及所述终个伪随机数的CUP时间戳的时间差值确定为所述伪随机数序列的产生延迟时间。
[0012]在一实施方式中,所述根据各伪随机数及其偏移量分别生成一个真随机数,包括:
[0013]将各所述伪随机数及其偏移量的和值确定为一个所述真随机数。
[0014]在一实施方式中,所述利用伪随机数产生算法生成伪随机数序列,包括:
[0015]利用所述伪随机数产生算法根据上轮伪随机数序列、多个初始常量序列、上轮产生延迟时间生成当前轮伪随机数序列,所述上轮伪随机数序列包括由所述伪随机数产生算法上轮产生的多个伪随机数,各所述初始常量序列包括多个初始常量。
[0016]在一实施方式中,利用所述伪随机数产生算法根据上轮伪随机数序列、多个初始常量序列、上轮产生延迟时间生成当前轮伪随机数序列,所述上轮伪随机数序列包括由所述伪随机数产生算法上轮产生的多个伪随机数,各所述初始常量序列包括多个初始常量,包括:
[0017]根据以下公式确定当前轮伪随机数序列的第j个伪随机数;
[0018]aj=Aiai+Bi+TmodMi;
[0019]其中,A
i
表示第一初始常量序列的第i个初始常量,B
i
表示第二初始常量序列的第i个初始常量,M
i
表示第三初始常量序列的第i个初始常量,T表示上轮产生延迟时间,a
i
表示
上轮伪随机数序列的第i个伪随机数,a
j
表示当前轮伪随机数序列的第j个伪随机数,mod表示取余操作,且j=i。
[0020]在一实施方式中,所述利用伪随机数产生算法生成伪随机数序列,包括:
[0021]设置初始产生延迟时间、初始随机数序列及多个所述初始常量序列;
[0022]利用所述伪随机数产生算法根据所述初始产生延迟时间、所述初始随机数序列及多个所述初始常量序列确定首轮伪随机数序列。
[0023]在一实施方式中,所述利用伪随机数产生算法生成伪随机数序列,包括:
[0024]通过AVX指令集控制所述伪随机数产生算法生成所述伪随机数序列。
[0025]第二方面,本申请实施例提供了一种真随机数生成装置,所述装置包括:
[0026]第一生成模块,用于利用伪随机数产生算法生成伪随机数序列,所述伪随机数序列包括多个伪随机数;
[0027]第一确定模块,用于确定所述伪随机数序列的产生延迟时间,其中,所述产生延迟时间为生成所述伪随机数序列的首个伪随机数到终个伪随机数所需时间;
[0028]第二确定模块,用于根据所述产生延迟时间确定各伪随机数的偏移量;
[0029]第二生成模块,用于根据各伪随机数及其偏移量分别生成一个真随机数。
[0030]第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的真随机数生成方法。
[0031]第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的真随机数生成方法。
[0032]上述本申请提供的真随机数生成方法、装置、电子设备及可读存储介质,利用伪随机数产生算法生成伪随机数序列,所述伪随机数序列包括多个伪随机数;确定所述伪随机数序列的产生延迟时间,其中,所述产生延迟时间为生成所述伪随机数序列的首个伪随机数到终个伪随机数所需时间;根据所述产生延迟时间确定各伪随机数的偏移量;根据各伪随机数及其偏移量分别生成一个真随机数。这样,利用生成伪随机数序列的产生时间延迟时间作为各伪随机数的偏移量,根据各伪随机数及其偏移量得到多个真随机数,在短时间内产生大量真随机数,提高生成真随机数的速度。
附图说明
[0033]为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
[0034]图1示出了本申请实施例提供的真随机数生成方法的一流程示意图;
[0035]图2示出了本申请实施例提供的真随机数生成装置的一结构示意图。
[0036]图标:200

真随机数生成装置;201

第一生成模块;202

第一确定模块;203

第二确定模块;204

第二生成模块。
具体实施方式
[0037]下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整
地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
[0038]通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0039]在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
[0040]此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种真随机数生成方法,其特征在于,所述方法包括:利用伪随机数产生算法生成伪随机数序列,所述伪随机数序列包括多个伪随机数;确定所述伪随机数序列的产生延迟时间,其中,所述产生延迟时间为生成所述伪随机数序列的首个伪随机数到终个伪随机数所需时间;根据所述产生延迟时间确定各伪随机数的偏移量;根据各伪随机数及其偏移量分别生成一个真随机数。2.根据权利要求1所述的方法,其特征在于,所述确定所述伪随机数序列的产生延迟时间,包括:获取所述首个伪随机数的CUP时间戳及所述终个伪随机数的CUP时间戳;将所述首个伪随机数的CUP时间戳及所述终个伪随机数的CUP时间戳的时间差值确定为所述伪随机数序列的产生延迟时间。3.根据权利要求1所述的方法,其特征在于,所述根据各伪随机数及其偏移量分别生成一个真随机数,包括:将各所述伪随机数及其偏移量的和值确定为一个所述真随机数。4.根据权利要求1所述的方法,其特征在于,所述利用伪随机数产生算法生成伪随机数序列,包括:利用所述伪随机数产生算法根据上轮伪随机数序列、多个初始常量序列、上轮产生延迟时间生成当前轮伪随机数序列,所述上轮伪随机数序列包括由所述伪随机数产生算法上轮产生的多个伪随机数,各所述初始常量序列包括多个初始常量。5.根据权利要求4所述的方法,其特征在于,利用所述伪随机数产生算法根据上轮伪随机数序列、多个初始常量序列、上轮产生延迟时间生成当前轮伪随机数序列,所述上轮伪随机数序列包括由所述伪随机数产生算法上轮产生的多个伪随机数,各所述初始常量序列包括多个初始常量,包括:根据以下公式确定当前轮伪随机数序列的第j个伪随机数;aj=Aiai+Bi+TmodMi;其中,A
i
表示第一初始常量序列的第i个初始常量,B<...

【专利技术属性】
技术研发人员:孟欣廖嘉业
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1