随机数生成方法、装置、设备及介质与流程

未命名 08-02 阅读:71 评论:0


1.本技术涉及计算机技术领域,尤其涉及一种随机数生成方法、装置、设备及介质。


背景技术:

2.现有的随机数生成方法主要是借助软件随机数发生器从熵源中获取一定数量的随机数。具体而言,软件随机数发生器通常由设计人员根据实验数据基于熵源最小熵确定一个后处理参数,通过该后处理参数从熵源中获取一定数量的随机数,并确保输出的随机数符合规定。然而,现有的软件随机数发生器只能通过固定的后处理参数从熵源中获取到固定的随机数,熵源质量不是固定的,质量较好的熵源能提取到的足熵随机数也应该更多,在熵源处于高熵值时,固定的后处理参数容易导致熵值的浪费,进而导致软件随机数发生器生成随机数的效率低下。可见,生成随机数的效率问题是软件随机数发生器的最大限制。


技术实现要素:

3.本技术提供了一种随机数生成方法、装置、设备及介质,以在满足随机数的合规性的前提下,最大限度地提高随机数产生效率,进而解决了现有的随机数生成方法所存在的效率低下的问题。
4.第一方面,本技术提供了一种随机数生成方法,包括:
5.获取待处理熵源数据;
6.确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数;
7.基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数。
8.可选的,所述获取待处理熵源数据,包括:
9.从预设的熵池中读取熵源数据,并将所述熵源数据作为所述待处理熵源数据;
10.其中,所述熵池存储有从预设的随机事件中采集的熵源数据。
11.可选的,所述确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数,包括:
12.基于所述待处理熵源数据的采集时间确定第一滑动窗口;
13.通过所述第一滑动窗口对所述待处理熵源数据进行质量优化,得到所述待处理熵源数据对应的目标熵源熵值,并将所述目标熵源熵值作为所述待处理熵源数据的数据质量;
14.确定与所述目标熵源熵值关联的初始熵源熵值;
15.依据所述目标熵源熵值,结合所述初始熵源熵值进行动态参数优化,得到所述目标参数。
16.可选的,所述确定与所述目标熵源熵值关联的初始熵源熵值,包括:
17.确定与所述第一滑动窗口关联的第二滑动窗口,并获取与所述待处理熵源数据关
联的初始熵源数据;
18.基于所述第二滑动窗口对所述初始熵源数据进行质量优化,得到所述初始熵源数据对应的初始熵源熵值,并将所述初始熵源熵值作为所述初始熵源数据的数据质量。
19.可选的,所述依据所述目标熵源熵值,结合所述初始熵源熵值进行动态参数优化,得到所述目标参数,包括:
20.基于所述目标熵源熵值和所述初始熵源熵值,确定熵源质量增值;
21.判断所述熵源质量增值是否大于预设阈值;
22.若所述熵源质量增值不大于所述阈值,则将所述初始熵源数据对应的参数作为所述目标参数;
23.若所述熵源质量增值大于所述阈值,则将所述熵源质量增值和所述初始熵源数据对应的初始参数输入预设的参数优化模型中;
24.通过所述参数优化模型对所述熵源质量增值进行动态参数调整,得到所述目标参数。
25.可选的,所述基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数,包括:
26.针对所述待处理熵源数据进行压缩提取,得到足熵数据;
27.根据所述目标参数对所述足熵数据进行取值,得到所述目标随机数。
28.可选的,所述得到目标随机数之后,还包括:
29.针对所述目标随机数,确定质量监控窗口;
30.通过所述质量监控窗口对所述目标随机数进行质量监控,得到随机数质量信息;
31.判断所述随机数质量信息是否符合预设的随机数质量条件;
32.若所述随机数质量信息不符合所述随机数质量条件,则通过所述参数优化模型对所述熵源质量增值进行重新优化,得到重新优化参数;
33.基于所述重新优化参数和所述待处理熵源数据,生成优化随机数。
34.第二方面,本技术提供了一种随机数生成装置,包括:
35.待处理熵源数据获取模块,用于获取待处理熵源数据;
36.目标参数确定模块,用于确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数;
37.动态压缩处理模块,用于基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数。
38.第三方面,本技术提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
39.存储器,用于存放计算机程序;
40.处理器,用于执行存储器上所存放的程序时,实现如第一方面任一项实施例所述的随机数生成方法的步骤。
41.第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的随机数生成方法的步骤。
42.综上,本技术实施例通过获取待处理熵源数据,依据待处理熵源数据进行动态参数优化,得到待处理熵源数据的目标参数,基于待处理熵源数据结合目标参数进行动态压
缩,得到目标随机数,通过确定待处理熵源数据的最优参数以作为目标参数,以利用目标参数从待处理熵源数据中进行随机数取数,从而能够在满足随机数的合规性的前提下,最大限度地提高随机数产生效率,进而解决了现有的随机数生成方法所存在的效率低下的问题。
附图说明
43.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
44.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
45.图1为本技术实施例提供的一种随机数生成方法的流程示意图;
46.图2是本技术一个可选实施例提供的一种随机数生成方法的步骤流程示意图;
47.图3是本技术一个可选实施例提供的一种基于机器学习的自适应随机数发生器的基本架构图;
48.图4是本技术一个可选实施例自适应参数值生成流程图;
49.图5为本技术实施例提供的一种随机数生成装置的结构框图;
50.图6是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
51.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.在相关技术中,现有的随机数发生器使用了固定的后处理参数,然而熵源的质量不是固定的,在熵源处于高熵值时,固定的后处理参数容易导致熵值的浪费,从而导致随机数生成效率低下;在熵源处于低熵值时,固定的后处理参数容易导致输出的随机数不能完全符合规定,输出的随机数的质量较低。
53.为解决上述问题,本技术实施例提供了一种随机数生成方法、装置、设备及介质,通过获取待处理熵源数据,依据待处理熵源数据进行动态参数优化,得到待处理熵源数据的目标参数,基于待处理熵源数据结合目标参数进行动态压缩,得到目标随机数,通过确定待处理熵源数据的最优参数以作为目标参数,以利用目标参数从待处理熵源数据中进行随机数取数,从而能够在满足随机数的合规性的前提下,最大限度地提高随机数产生效率,进而解决了现有的随机数生成方法所存在的效率低下的问题。
54.为便于对本技术实施例的理解,下面将结合附图以及具体实施例做进一步的解释说明,实施例并不构成对本技术实施例的限定。
55.图1为本技术实施例提供的一种随机数生成方法的流程示意图。如图1所示,本技术实施例提供的随机数生成方法具体可以包括如下步骤:
56.步骤110,获取待处理熵源数据。
57.具体而言,本实施例可以通过熵源产生熵源数据,以作为待处理熵源数据,其中,熵源可以是指产生随机性的来源(即产生熵源数据的来源),并且还可以是随机数生成器(software rng,srng)具有不可预测性的基础。具体而言,熵源可以包含外部熵源,其中,外部熵源可以是指产生熵源数据的来源为外部事件,如系统中断事件、鼠标操作、键盘输入以及物理传感器等,在熵源为外部熵源时,srng可以依赖于外部熵源,通过对外部事件进行监控采集等,在外部事件产生熵源数据时,采集熵源数据,以作为待处理熵源数据,本技术实施例对此不做限制。
58.步骤120,确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数。
59.具体的,数据质量可以包含待处理熵源数据的熵源质量,其中,熵源质量可以是指熵源熵值,本技术实施例对此不做限制;目标参数可以包含后处理方案使用的后处理参数,该目标参数可以是待处理熵源数据对应的最优参数,后处理方案可以通过最优参数从待处理熵源数据中提取足熵数据,即从待处理熵源数据中提取满足国标要求的足熵随机数,本技术实施例对此不做限制。
60.具体而言,本实施例可以在获取到待处理熵源数据后,可以针对待处理熵源数据进行熵值计算,得到待处理数据的熵源熵值,以作为数据质量。随后可以基于数据质量确定对应待处理数据的最优参数,以作为目标参数,如软件随机数发生器可以存储有熵值计算模型和参数优化模型,可以将待处理熵源数据输入到熵值计算模型中,得到模型输出的熵源熵值,然后将熵源熵值输入到参数优化模型中,得到参数优化模型输出的目标参数。通过确定待处理熵源数据的数据质量,进而基于数据质量确定对应的目标参数,达到了根据熵源熵值的变化,自适应地调整后处理的参数的目的,从而能够在输出合格随机数的前提下,尽可能提高随机数的产生速率。
61.在具体实现中,不同的待处理熵源数据的数据质量不同,对于数据质量较高的待处理熵源数据,其能够压缩提取到的足熵随机数更多,因此在进行随机数提取时,可以先通过熵值计算的方式确定待处理熵源数据的熵源熵值,以作为数据质量,然后利用数据质量确定后处理方案的后处理的参数,从待处理熵源数据中尽可能的提取出更多符合国际标准要求的足熵随机数;对于数据质量较低的待处理熵源数据,也可以根据待处理熵源数据的数据质量确定后处理方案的后处理的参数,从而可以利用后处理的参数,从待处理熵源数据中提取符合国际标准要求的足熵随机数。
62.步骤130,基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数。
63.具体的,目标随机数可以包含符合国际标准要求的足熵随机数,本技术实施例对此不做限制。具体而言,本实施例可以基于待处理熵源数据结合目标参数进行动态压缩处理,如可以将待处理熵源数据和目标参数输入至后处理方案,后处理方案可以根据目标参数确定最优的压缩提取策略,根据压缩提取策略对待处理熵源数据进行压缩提取,得到足熵随机数,以作为目标随机数,从而能够在满足随机数的合规性的前提下,最大限度地提高随机数产生效率。
64.可见,本技术实施例通过获取待处理熵源数据,依据待处理熵源数据进行动态参数优化,得到待处理熵源数据的目标参数,基于待处理熵源数据结合目标参数进行动态压
缩,得到目标随机数,通过确定待处理熵源数据的最优参数以作为目标参数,以利用目标参数从待处理熵源数据中进行随机数取数,从而能够在满足随机数的合规性的前提下,最大限度地提高随机数产生效率,进而解决了现有的随机数生成方法存在的问题。
65.参照图2,示出了本技术一个可选实施例提供的一种随机数生成方法的步骤流程示意图。该随机数生成方法具体可以包括如下步骤:
66.步骤210,获取待处理熵源数据。
67.在具体实现中,本技术实施例提供的随机数生成方法可以应用于密码学技术领域,并可以具体应用于软件随机数发生器中,该软件随机数发生器的基本模型可以包含但不限于熵源、熵值计算、熵池、随机数发生器(drng)以及健康测试等模块,其中,熵源作为其随机性的来源,如熵源为外部熵源时,熵源可以产生于外部事件,包含但不限于系统中断事件、鼠标操作、键盘输入以及物理传感器等。熵源产生的数据可以作为熵源数据进入熵池进行熵累积,通过熵池收集存储熵源数据,等待收集足够多的熵源数据后,在对熵池中的数据经扩展函数压缩后,与系统和硬件随机数发生器的输出数据拼接后作为drng的输入产生种子。
68.在一个可选实施例中,本技术实施例获取待处理熵源数据,具体可以包括:从预设的熵池中读取熵源数据,并将所述熵源数据作为所述待处理熵源数据;其中,所述熵池存储有从预设的随机事件中采集的熵源数据。
69.例如,参照图3所示,图3是本技术实施例提供的基于机器学习的自适应随机数发生器的基本架构图,其中,图3中虚线部分可以为控制流方向,实现部分可以是数据流防线。具体而言,在需要实时生成随机数时,熵源可以在产生熵源数据后,直接将熵源数据输出给熵值计算模块和熵池模块,以便通过熵值计算模块对熵源数据进行熵值计算,并可以通过熵池模块存储熵源数据,以作为待处理熵源数据,在后处理方案中对待处理熵源数据进行压缩等处理。或者,在空闲时,熵池可以将熵源采集到的熵源数据进行缓存,在需要时读取,从而能够利用熵池的储存特性有效减少srng的延迟,提高后续随机数的生成速率。
70.步骤220,基于所述待处理熵源数据的采集时间确定第一滑动窗口。
71.在具体实现中,可以以时间为基准,利用时间线设置为待处理熵源数据设置对应的滑动窗口,如可以将待处理熵源数据的采集时间作为当前时间,根据当前时间,在时间线上设置当前时间窗口,以作为第一滑动窗口。
72.步骤230,通过所述第一滑动窗口对所述待处理熵源数据进行质量优化,得到所述待处理熵源数据对应的目标熵源熵值,并将所述目标熵源熵值作为所述待处理熵源数据的数据质量。
73.在具体实现中,第一滑动窗口可以根据待处理熵源数据的采集时间,将待处理熵源数据分割为多个样本,如可以将待处理熵源数据分割为20个样本,本技术实施例对此不做限制,随后第一滑动窗口可以针对每一个样本,计算该样本的熵源数据对应的熵估计值,并可以针对每一个样本的熵估计值进行质量优化,如可以根据每一个样本的熵估计值,计算样本的平均熵估计值,以作为目标熵源熵值。
74.作为一个示例,参照图4,在当前待处理熵源数据的大小为10^6比特,1个滑动时间窗口采集的样本数量为20的情况下,可以将待处理熵源数据平均分成20个样本,通过第一滑动窗口计算该20个样本中每一个样本的熵估计值,随后结合20个样本的熵估计值,计算
平均熵估计值,得到目标熵源熵值。
75.步骤240,确定与所述目标熵源熵值关联的初始熵源熵值。
76.具体的,初始熵源熵值可以用于反映初始熵源数据的数据质量,其中,初始熵源数据可以是与待处理熵源数据关联的熵源数据,如当前时间段采集的熵源数据为待处理熵源数据,则在当前时间段之前的上一个时间段采集的熵源数据可以为初始熵源数据。
77.在具体实现中,本技术实施例可以通过滑动窗口的方式计算待处理熵源数据的目标熵源熵值,对于与待处理熵源数据关联的初始熵源数据,也可以通过滑动窗口的方式计算初始熵源数据的初始熵源熵值。
78.在实际处理中,为了提高随机数生成速率,srng可以以时间段的方式,预先存储每一个时间段对应的熵源熵值,在确定目标熵源熵值后,可以根据待处理熵源数据的采集时间,直接读取上一个时间段的熵源熵值,以作为初始熵源熵值。
79.可选的,上述确定与所述目标熵源熵值关联的初始熵源熵值,具体可以包括以下子步骤:
80.子步骤2401,确定与所述第一滑动窗口关联的第二滑动窗口,并获取与所述待处理熵源数据关联的初始熵源数据。
81.具体的,第二滑动窗口可以是上一个时间段的滑动窗口,该第二滑动窗口可以作为初始熵源数据对应的滑动窗口,本技术实施例对此不做限制。
82.子步骤2402,基于所述第二滑动窗口对所述初始熵源数据进行质量优化,得到所述初始熵源数据对应的初始熵源熵值,并将所述初始熵源熵值作为所述初始熵源数据的数据质量。
83.在具体实现中,本实施例可以将初始熵源数据划分为多个初始样本,利用利用第二滑动窗口,按滑动窗口的方式计算每一个初始样本的初始熵估计值,然后针对每一个初始样本的初始熵估计值进行质量优化,计算初始样本的平均熵估计值,以作为初始熵源熵值。通过结合当前待处理熵源数据的滑动窗口和上一个时间段的初始熵源数据的滑动窗口进行动态参数优化,使得后续得到的目标参数能合理的反映待处理熵源数据中的足熵随机数的数量,在熵源的熵值处于最小时,仍能压缩提取出足熵随机数,在熵源的熵值不处于最小时,能够最大限度的提高足熵随机数的取数数量,避免高质量熵源的浪费,有效解决现有的软件随机数发生器生成随机数效率低下的问题。
84.作为一个示例,参照图4,可以将初始熵源数据划分为20个样本,通过前一时间窗口,计算20个样本的熵源熵值,得到初始熵源熵值。
85.步骤250,依据所述目标熵源熵值,结合所述初始熵源熵值进行动态参数优化,得到所述目标参数。
86.具体而言,本技术实施例可以根据目标熵源熵值结合初始熵源熵值进行熵值变化计算,得到目标熵源熵值与初始熵源熵值的变化值,该变化值可以用于反映待处理熵源数据与初始熵源数据之间的质量变化情况。随后可以基于变化值,结合初始熵源数据的最优参数,自适应地调整后处理参数,得到当前第一滑动窗口内的参数值,以作为最优参数,得到目标参数。
87.在一个可选实施例中,本技术实施例依据所述目标熵源熵值,结合所述初始熵源熵值进行动态参数优化,得到所述目标参数,具体可以包括:基于所述目标熵源熵值和所述
初始熵源熵值,确定熵源质量增值;判断所述熵源质量增值是否大于预设阈值;若所述熵源质量增值不大于所述阈值,则将所述初始熵源数据对应的参数作为所述目标参数;若所述熵源质量增值大于所述阈值,则将所述熵源质量增值和所述初始熵源数据对应的初始参数输入预设的参数优化模型中;通过所述参数优化模型对所述熵源质量增值进行动态参数调整,得到所述目标参数。其中,初始参数为初始熵源数据对应的最优参数,本技术实施例对此不做限制。
88.在具体实现中,本技术实施例可以通过神经网络构建参数优化模型,通过机器学习算法对参数优化模型进行模型训练,得到训练好的参数优化模型。参照图4,机器学习算法以输出符合国标随机数和最大提高随机数产生速率为目标函数,在所有参数空间内,搜索最优后处理参数。具体而言,机器学习算法可以根据前一时间窗口的初始熵源熵值和当前时间窗口的目标熵源熵值进行变化值计算,得到熵源质量变化值,以作为熵源质量增值,随后可以判断熵源质量增值是否超过预设的阈值,若确定熵源质量增值超过阈值,则可以将熵源质量增值和初始熵源数据对应的初始参数输入机器学习算法,机器学习算法可以根据熵源质量增值和初始参数寻找新的最优参数,使得当前时间窗口内的参数值为策略下的最优参数,以作为目标参数。通过采用机器学习算法作为自适应参数变化的策略,使得机器学习算法能够根据熵源质量增值和上一个时间段的最优参数进行参数优化,得到待处理熵源数据的最优参数,在满足后续取得的随机数的合规性的同时,提高随机数产生速率。
89.步骤260,针对所述待处理熵源数据进行压缩提取,得到足熵数据。
90.具体而言,本技术实施例可以将待处理熵源数据和目标参数作为后处理方案的输入数据,其中,后处理方案可以用于将低熵数据转化为足熵数据。具体而言,参照图3,后处理方案可以针对待处理熵源数据进行压缩提取,得到符合国际标准要求的足熵数据,以便可以通过目标参数对足熵数据进行取值,即执行步骤270。
91.步骤270,根据所述目标参数对所述足熵数据进行取值,得到所述目标随机数。
92.在具体实现中,本实施例可以通过后处理方案,按照最优参数从足熵数据中进行取值,得到符合国际标准要求的足熵随机数,从而能够在输出合格随机数的前提下,尽可能的提取更多的随机数,达到最大限度提高随机数产生速率的目的。
93.在实际处理中,通过后处理方案完成随机数取值后,为提高获取到的随机数的质量,本技术实施例还可以对随机数进行质量检测,判断获取到的所有目标随机数是否均符合国标要求。例如,参照图3,可以采用与确定熵源熵值的相同方式,针对当前时间段生成的随机数,设置一个滑动时间窗口,在获取到目标随机数后,可以利用滑动时间窗口对目标随机数进行质量监控,或者,将该目标随机数划分为多个样本,利用滑动时间窗口对每一个样本的随机数进行质量监控,通过滑动时间窗口对随机数进行质量监控,可以得到随机数质量信息,随后可以判断随机数质量信息是否符合随机数质量条件,如可以判断随机数质量是否符合国标要求,若随机数质量不符合国标要求,则可以确定随机数质量信息不符合随机数质量条件,随后可以利用机器学习算法根据随机数质量信息重新搜索当前待处理熵源数据的最优参数,以利用新的最优参数从待处理熵源数据中提取足熵随机数,从而更加有效的提高生成的随机数的质量;若随机数质量符合国标要求,则可以将当前目标参数直接进行存储,在下一次需要进行随机数生成时,将该目标参数作为初始参数进行参数优化。
94.在一个可选实施例中,本技术实施例得到目标随机数之后,具体还可以包括:针对
所述目标随机数,确定质量监控窗口;通过所述质量监控窗口对所述目标随机数进行质量监控,得到随机数质量信息;判断所述随机数质量信息是否符合预设的随机数质量条件;若所述随机数质量信息不符合所述随机数质量条件,则通过所述参数优化模型对所述熵源质量增值进行重新优化,得到重新优化参数;基于所述重新优化参数和所述待处理熵源数据,生成优化随机数。
95.综上,本技术实施例通过获取待处理熵源数据,以基于待处理熵源数据的采集时间确定第一滑动窗口,通过第一滑动窗口对待处理熵源数据进行质量优化,得到待处理熵源数据对应的目标熵源熵值,并将目标熵源熵值作为待处理熵源数据的数据质量,随后确定与目标熵源熵值关联的初始熵源熵值,依据目标熵源熵值,结合初始熵源熵值进行动态参数优化,得到目标参数,达到采用滑动窗口机制动态调整后处理参数的目的,随后针对待处理熵源数据进行压缩提取,得到足熵数据,根据目标参数对足熵数据进行取值,得到目标随机数,从而能够在输出合格随机数的前提下,尽可能的提取更多的随机数,达到最大限度提高随机数产生速率的目的,解决了现有的随机数生成方法所存在的问题。
96.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。
97.如图5所示,本技术实施例还提供了一种随机数生成装置500,包括:
98.待处理熵源数据获取模块510,用于获取待处理熵源数据;
99.目标参数确定模块520,用于确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数;
100.动态压缩处理模块530,用于基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数。
101.可选的,所述待处理熵源数据获取模块510,具体用于:从预设的熵池中读取熵源数据,并将所述熵源数据作为所述待处理熵源数据;其中,所述熵池存储有从预设的随机事件中采集的熵源数据。
102.可选的,所述目标参数确定模块520,包括:
103.第一滑动窗口确定子模块,用于基于所述待处理熵源数据的采集时间确定第一滑动窗口;
104.质量优化子模块,用于通过所述第一滑动窗口对所述待处理熵源数据进行质量优化,得到所述待处理熵源数据对应的目标熵源熵值,并将所述目标熵源熵值作为所述待处理熵源数据的数据质量;
105.初始熵源熵值确定子模块,用于确定与所述目标熵源熵值关联的初始熵源熵值;
106.动态参数优化子模块,用于依据所述目标熵源熵值,结合所述初始熵源熵值进行动态参数优化,得到所述目标参数。
107.可选的,所述初始熵源熵值确定子模块,包括:
108.初始熵源数据获取单元,用于确定与所述第一滑动窗口关联的第二滑动窗口,并获取与所述待处理熵源数据关联的初始熵源数据;
109.质量优化单元,用于基于所述第二滑动窗口对所述初始熵源数据进行质量优化,得到所述初始熵源数据对应的初始熵源熵值,并将所述初始熵源熵值作为所述初始熵源数
据的数据质量。
110.可选的,所述动态参数优化子模块,包括:
111.熵源质量增值确定单元,用于基于所述目标熵源熵值和所述初始熵源熵值,确定熵源质量增值;
112.判断单元,用于判断所述熵源质量增值是否大于预设阈值;
113.目标参数确定单元,用于在所述熵源质量增值不大于所述阈值时,将所述初始熵源数据对应的参数作为所述目标参数;
114.输入单元,用于在所述熵源质量增值大于所述阈值时,将所述熵源质量增值和所述初始熵源数据对应的初始参数输入预设的参数优化模型中;
115.动态参数调整单元,用于通过所述参数优化模型对所述熵源质量增值进行动态参数调整,得到所述目标参数。
116.可选的,所述动态压缩处理模块530,包括:
117.压缩提取子模块,用于针对所述待处理熵源数据进行压缩提取,得到足熵数据;
118.取值子模块,用于根据所述目标参数对所述足熵数据进行取值,得到所述目标随机数。
119.可选的,所述随机数生成装置500,包括:
120.质量监控窗口确定模块,用于针对所述目标随机数,确定质量监控窗口;
121.质量监控模块,用于通过所述质量监控窗口对所述目标随机数进行质量监控,得到随机数质量信息;
122.判断模块,用于判断所述随机数质量信息是否符合预设的随机数质量条件;
123.重新优化模块,用于在所述随机数质量信息不符合所述随机数质量条件时,通过所述参数优化模型对所述熵源质量增值进行重新优化,得到重新优化参数;
124.优化随机数生成模块,用于基于所述重新优化参数和所述待处理熵源数据,生成优化随机数。
125.需要说明的是,本技术实施例提供的随机数生成装置可执行本技术任意实施例所提供的随机数生成方法,具备执行随机数生成方法相应的功能和有益效果。
126.在具体实现中,上述随机数生成装置可以集成在设备中,使得该设备可以基于待处理熵源数据的数据质量确定目标参数,并基于待处理熵源数据结合目标参数生成目标随机数,作为电子设备,实现在满足随机数的合规性的前提下,最大限度地提高随机数产生效率。该电子设备可以是由两个或多个物理实体构成,也可以是一个物理实体构成,如电子设备可以是个人计算机(personal computer,pc)、电脑、服务器等,本技术实施例对此不作具体限制。
127.如图6所示,本技术实施例提供提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信;存储器113,用于存放计算机程序;处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的随机数生成方法的步骤。示例性的,随机数生成方法的步骤可以包括如下步骤:获取待处理熵源数据;确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数;基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数。
128.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的随机数生成方法的步骤。
129.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
130.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种随机数生成方法,其特征在于,包括:获取待处理熵源数据;确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数;基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数。2.根据权利要求1所述的方法,其特征在于,所述获取待处理熵源数据,包括:从预设的熵池中读取熵源数据,并将所述熵源数据作为所述待处理熵源数据;其中,所述熵池存储有从预设的随机事件中采集的熵源数据。3.根据权利要求1所述的方法,其特征在于,所述确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数,包括:基于所述待处理熵源数据的采集时间确定第一滑动窗口;通过所述第一滑动窗口对所述待处理熵源数据进行质量优化,得到所述待处理熵源数据对应的目标熵源熵值,并将所述目标熵源熵值作为所述待处理熵源数据的数据质量;确定与所述目标熵源熵值关联的初始熵源熵值;依据所述目标熵源熵值,结合所述初始熵源熵值进行动态参数优化,得到所述目标参数。4.根据权利要求3所述的方法,其特征在于,所述确定与所述目标熵源熵值关联的初始熵源熵值,包括:确定与所述第一滑动窗口关联的第二滑动窗口,并获取与所述待处理熵源数据关联的初始熵源数据;基于所述第二滑动窗口对所述初始熵源数据进行质量优化,得到所述初始熵源数据对应的初始熵源熵值,并将所述初始熵源熵值作为所述初始熵源数据的数据质量。5.根据权利要求4所述的方法,其特征在于,所述依据所述目标熵源熵值,结合所述初始熵源熵值进行动态参数优化,得到所述目标参数,包括:基于所述目标熵源熵值和所述初始熵源熵值,确定熵源质量增值;判断所述熵源质量增值是否大于预设阈值;若所述熵源质量增值不大于所述阈值,则将所述初始熵源数据对应的参数作为所述目标参数;若所述熵源质量增值大于所述阈值,则将所述熵源质量增值和所述初始熵源数据对应的初始参数输入预设的参数优化模型中;通过所述参数优化模型对所述熵源质量增值进行动态参数调整,得到所述目标参数。6.根据权利要求1所述的方法,其特征在于,所述基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数,包括:针对所述待处理熵源数据进行压缩提取,得到足熵数据;根据所述目标参数对所述足熵随机数进行取值,得到目标随机数。7.根据权利要求1至6任一项所述的方法,其特征在于,所述得到目标随机数之后,还包括:针对所述目标随机数,确定质量监控窗口;通过所述质量监控窗口对所述目标随机数进行质量监控,得到随机数质量信息;判断所述随机数质量信息是否符合预设的随机数质量条件;
若所述随机数质量信息不符合所述随机数质量条件,则通过所述参数优化模型对所述熵源质量增值进行重新优化,得到重新优化参数;基于所述重新优化参数和所述待处理熵源数据,生成优化随机数。8.一种随机数生成装置,其特征在于,包括:待处理熵源数据获取模块,用于获取待处理熵源数据;目标参数确定模块,用于确定所述待处理熵源数据的数据质量,并基于所述数据质量确定对应的目标参数;动态压缩处理模块,用于基于所述待处理熵源数据结合所述目标参数进行动态压缩处理,得到目标随机数。9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一项所述的随机数生成方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的随机数生成方法的步骤。

技术总结
本申请涉及一种随机数生成方法、装置、设备及介质,涉及计算机技术领域,该方法包括:获取待处理熵源数据,依据待处理熵源数据进行动态参数优化,得到待处理熵源数据的目标参数,基于待处理熵源数据结合目标参数进行动态压缩,得到目标随机数,通过确定待处理熵源数据的最优参数以作为目标参数,以利用目标参数从待处理熵源数据中进行随机数取数,从而能够在满足随机数的合规性的前提下,最大限度地提高随机数产生效率,进而解决了现有的随机数生成方法所存在的效率低下的问题。方法所存在的效率低下的问题。方法所存在的效率低下的问题。


技术研发人员:李子阳 鲍博武 张伟春
受保护的技术使用者:微位(深圳)网络科技有限公司
技术研发日:2023.04.19
技术公布日:2023/8/1
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐