CN112379858B - 随机数的产生方法及装置、电子设备和可读存储介质 - Google Patents
随机数的产生方法及装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN112379858B CN112379858B CN202011269007.5A CN202011269007A CN112379858B CN 112379858 B CN112379858 B CN 112379858B CN 202011269007 A CN202011269007 A CN 202011269007A CN 112379858 B CN112379858 B CN 112379858B
- Authority
- CN
- China
- Prior art keywords
- random
- random access
- access memory
- trigger signal
- trigger
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000015654 memory Effects 0.000 claims description 65
- 238000005265 energy consumption Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
Classifications
-
- 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/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种随机数的产生方法及装置、电子设备和可读存储介质,其中,该方法包括:向随机存储器输入触发信号以触发执行写操作;在所述写操作成功的情况下,产生第一随机数;在所述写操作未成功的情况下,产生第二随机数,其中,所述第一随机数和所述第二随机数为二值数据中的数据。通过本申请,解决了现有技术中通过持续输出脉冲信号以产生随机数,导致产生随机数的过程能耗大以及资源占用大的问题。
Description
技术领域
本申请涉及计算机领域,具体涉及一种随机数的产生方法及装置、电子设备和可读存储介质。
背景技术
目前,对于二值随机数的产生常用的方式是:持续输出脉冲信号,并在需要产生随机数时,读取当前脉冲信号的数值,将当前采集到的数值作为随机数。但是这种产生随机数的方式需要在一定时间内持续输出脉冲信号,导致其产生随机数的过程能耗大、资源占用大等问题。
发明内容
本申请实施例提供了一种随机数的产生方法及装置、电子设备和可读存储介质,以解决现有技术中通过持续输出脉冲信号以产生随机数,导致产生随机数的过程能耗大以及资源占用大的问题。
为了解决上述技术问题,本申请是这样实现的:
第一方面,提供了一种随机数的产生方法,包括:向随机存储器输入触发信号以触发执行写操作;在所述写操作成功的情况下,产生第一随机数;在所述写操作未成功的情况下,产生第二随机数,其中,所述第一随机数和所述第二随机数为二值数据中的数据。
第二方面,提供了一种随机数的产生装置,包括:随机存储器,用于接收触发信号以触发执行写操作;控制器,用于在所述写操作成功的情况下,产生第一随机数;或在所述写操作未成功的情况下,产生第二随机数,其中,所述第一随机数和所述第二随机数为二值数据中的数据。
第三方面,本申请实施例还提供了一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例还提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
在本申请中,可以通过向随机存储器输入触发信号以触发执行写操作,进而在写操作成功或未成功的情况下,产生第一随机数和第二随机数,该第一随机数和第二随机数为二值数据中的数据,从而可实现随机产生随机数的方式,无需持续向随机存储器输入触发信号,从而解决了现有技术中通过持续输出脉冲信号以产生随机数,导致产生随机数的过程能耗大以及资源占用大的问题。
附图说明
图1是本申请实施例的随机数的产生方法的流程图;
图2a是本申请实施例的随机处理器产生随机数的示意图一;
图2b是本申请实施例的随机处理器产生随机数的示意图二;
图2c是本申请实施例的随机处理器产生随机数的示意图三;
图3是本申请实施例的输入电压与写操作成功概率之间的关系示意图;
图4是本申请实施例的随机数的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请的描述中,需要理解的是,术语“第一”、“第二”仅由于描述目的,且不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的随机数的产生方法进行详细地说明。
本申请实施例提供了一种随机数的产生方法,图1是本申请实施例的随机数的产生方法的流程图,如图1所示,该方法的步骤:
步骤S102,向随机存储器输入触发信号以触发执行写操作;
步骤S104,在写操作成功的情况下,产生第一随机数;
步骤S106,在写操作未成功的情况下,产生第二随机数,其中,第一随机数和第二随机数为二值数据中的数据。
通过本申请实施例中的步骤S102至步骤S106,可以通过向随机存储器输入触发信号以触发执行写操作,进而在写操作成功或未成功的情况下,产生第一随机数和第二随机数,该第一随机数和第二随机数为二值数据中的数据,从而可实现随机产生随机数的方式,无需持续向随机存储器输入触发信号,从而解决了现有技术中通过持续输出脉冲信号以产生随机数,导致产生随机数的过程能耗大以及资源占用大的问题。
需要说明的是,本申请实施例中的二值数据包括0和1,即第一随机数可以是1,第二随机数可以为0;也可以是第一随机数为0,第二随机数为1。当然,上述二值数据包括0和1仅仅是举例说明,其他的二值数据组合也是可以的,例如二值数据为2和1,或3和5,或4和7等等。在本申请中并不限定二值数据的具体取值情况,具体取值可以根据实际情况进行确定。
在本申请实施例的可选实施方式中,本申请实施例中的随机存储器的数量为可以一个或多个。
在本申请实施例的可选实施方式中,在随机存储器的数量为一个的情况下,对于本申请实施例中的向随机存储器输入触发信号以触发执行写操作得到随机数的方式,进一步可以包括:
步骤S11,向随机存储器输入多个触发信号以触发执行多次写操作;其中,随机存储器在每一次触发下具有对应的写操作的成功概率;
步骤S12,根据多次写操作的结果产生对应的多个随机数;
步骤S13,对多个随机数中的随机数执行第一操作,直到获得唯一的随机数;其中,第一操作包括以下之一:异或操作、同或操作。
需要说明的是,在多个随机数的数量为偶数时,对多个随机数中的两两随机数执行第一操作,直到多个随机数均被执行第一操作,并继续对第一操作的结果中的两两结果再次执行第一操作直到获得唯一的随机数;在多个随机数的数量为奇数时,对多个随机数中的两两随机数执行第一操作,直到多个随机数中只剩一个随机数未被执行第一操作,并继续对由第一操作的结果和剩下的随机数组成的组合中的两两对象执行第一操作直到获得唯一的随机数;其中,第一操作的结果为随机数。
此外,随机存储器在每一次触发下具有对应的写操作的成功概率是指:对于同一个随机存储器在不同的触发信号下,每一次的写操作的成功概率可能相同或者不同,在实际应用场景中,不同的触发信号对应的写操作的成功概率基本上是不相同的。
通过上述步骤S11至步骤S13,如果以同或操作,且输入的多个触发信号的数量为8为例,每一次写操作的成功概率分别为10%、20%、30%、40%、50%、60%、70%、70%;其两两组合进行同或操作得到随机数为1的概率分别为:(10%*20%+90%*80%)=74%,(30%*40%+70%*60%)=54%,(50%*60%+50%*40%)=50%,(70%*70%+30%*30%)=58%,对于上述结果两两之间再进行同或操作为:(74%*54%+26%*46%)=51.9%,(50%*58%+50%*42%)=50%,再对上述结果进行同或操作:(51.9%*50%+48.1%*50%)=50%。也就是说,对于最终得到随机数为1的概率50%,而如果是直接对每一次的成功概率求平均数,则为(10%+20%+30%+40%+50%+60%+70%+70%)/8=43.75%。
在本申请实施例的另一个可选实施方式中,如果以输入的多个触发信号的数量为4为例:每一次写操作的成功概率分别为:10%、20%、40%、70%时,两两做同或最后得到1(写成功)的概率为:第一组为1的概率(10%*20%)+(90%*80%)=74%,第二组为1的概率(40%*70%+60%*30%)=46%,两组的结果在同或,74%*46%+28%*54%=48.08%,而如果是直接对每一次的成功概率求平均数,则为(10%+20%+30%+40%+70%)=35%。可见,通过本申请实施例的上述方式,相对于这组概率的平均概率而言,通过同或取数的方式,将获得1的概率居中,即使得最终随机数为1的概率倾向于50%。
需要说明的是,上述是以同或操作为例,对于异或操作也是类似的处理方式,而且对于最终随机数为0的概率也是倾向于50%。由于随机存储器受温度影响大,导致写成功的概率未必如输入时如触发信号中预期的那样,或者,获得为1的概率也未必均衡分布(即为50%),通过本申请中的方式,在不同的触发信号下写成功的几率也是不同的,最终使得获得1的概率趋向于50%,从而大大降低了由温度给随机存储器带来的影响。
在具体应用场景中,对于具体产生随机数的过程为:上述该单个随机存储器输入8个触发信号后,由于每一个随机数的概率是与随机存储器的写操作成功或失败的概率相关的,例如产生了8个随机数:1,0,1,1,0,0,1,0;其中,对该8个个随机数可以两两进行同或操作,例如进行异或操作的组合为(1⊙0),(1⊙1),(0⊙0),(1⊙0),其结果为:0,1,0,1,对该结果两两继续进行异或操作,例如:(0⊙1),(0⊙1),其结果为:0,0,对该结果继续进行异或操作:(0⊙0),其结果为1,则本次向单个随机存储器输入8个触发信号两两之间执行同或操作,直到获得唯一的随机数1。
同样地,对于异或操作,如果该单个随机存储器输入8个触发信号后,
产生了8个随机数:1,0,1,1,0,0,1,0;其中该8个随机数可以两两进行异或操作,例如进行异或操作的组合为(1⊕0),(1⊕1),(0⊕0),(1⊕0),其结果为:1,0,1,0,对该结果两两继续进行异或操作,例如:(1⊕0),(1⊕0),其结果为:1,1,对该结果继续进行异或操作:(1⊕1),其结果为0,则本次向单个随机存储器输入8个触发信号两两之间执行异或操作,直到获得唯一的随机数0。
需要说明的是,上述8个触发信号仅仅是举例说明,也可以其他数量的触发信号,例如,5,10,20,100等等,在本申请并不限定其具体取值或范围,可以根据实际情况进行相应的取值。而且上述进行异或操作或同或操作的随机数可以是事先确定好的组合,也可以是从该多个(上述举例中则是8个)随机数中两两随机组合进行同或或异或操作,即在本申请中也对此并不限定其两两组合的规则。
在本申请实施例的另一个可选实施方式中,在随机存储器的数量为多个的情况下,向随机存储器输入触发信号以触发执行写操作得到随机数的方式,进一步可以包括:
步骤S21,向多个随机存储器分别输入一个或多个触发信号以触发执行多次写操作;其中,在触发信号的触发下每一个所述随机存储器具有对应写操作的成功概率;
步骤S22,根据多次写操作的结果产生对应的多个随机数;
步骤S23,对多个随机数中的随机数执行第一操作,直到获得唯一的随机数;其中,第一操作包括以下之一:异或操作、同或操作。
需要说明的是,在多个随机数的数量为偶数时,对多个随机数中的两两随机数执行第一操作,直到多个随机数均被执行第一操作,并继续对第一操作的结果中的两两结果再次执行第一操作直到获得唯一的随机数;在多个随机数的数量为奇数时,对多个随机数中的两两随机数执行第一操作,直到多个随机数中只剩一个随机数未被执行第一操作,并继续对由第一操作的结果和剩下的随机数组成的组合中的两两对象执行第一操作直到获得唯一的随机数;其中,第一操作的结果为随机数。
虽然在步骤S21至步骤S23涉及到的是多个随机存储器,但是对于每一个随机存储器在触发信号的触发下,其写操作的成功概率可以是相同或不同的,在具体应用场景中大概率是不相同的。上述步骤S11至步骤S13中一个随机存储器产生多个随机数,相当于是多个相同的随机存储器产生多个随机数,相当于该步骤S21至步骤S23的特殊情况,即该多个的随机存储器产生随机数数为1的结果与上述步骤S11至步骤S13是类似的,即最终使得获得1的概率也是趋向于50%,也大大降低了由温度给随机存储器带来的影响。
对于上述步骤S21至步骤S23,在具体应用场景中以异或操作,随机存储器的数量为5个,且第一操作为异或操作为例,如图2a所示,每个随机存储器输入一个触发信号,通过该随机存储器产生随机数之后,两两随机数进行异或操作,得到的结果两两继续进行异或操作,直到得到唯一的随机存储器。如果以异或操作,随机存储器的数量为5个,且第一操作为同或操作为例,如图2b所示,每个随机存储器输入一个触发信号,通过该随机存储器产生随机数之后,两两随机数进行异或操作,得到的结果两两继续进行异或操作,直到得到唯一的随机存储器。
需要说明的是,上述图2a和图2b进行是举例说明,在本申请实施例中随机存储器的数量可以是8、15、50等,可以根据实际情况进行相应的设置。另外,两两进行异或或同或操作的随机数可以是按照预设规则设置的。
在本申请实施例的另一个可选实施方式中,在随机存储器的数量为多个的情况下,向随机存储器输入触发信号以触发执行写操作得到随机数的方式,进一步可以包括:
S1,向第i阶的随机存储器输入触发信号以触发执行写操作,其中,多个随机存储器形成N阶随机处理器,i为小于或等于N的正整数,且第i阶随机存储器的数量为2i-1个,且2i-1个随机存储器由多个组合组成,每一个组合包括1个第一随机存储器和1个第二随机存储器,第i阶随机存储器的输出端同时连接i+1阶的第一组合中的第一随机存储器和i+1阶第一组合中的第二随机存储器;i阶的随机存储器为i阶的第一组合中的第一随机存储器或i阶的第一组合中的第二随机存储器;
S2,在i阶的随机存储器写操作成功时,向i+1阶的第一组合中的第一随机存储器发送触发信号,以触发i+1阶的第一组合中的第一随机存储器产生触发信号;在i阶的随机存储器写操作失败时,向i+1阶的第一组合中的第二随机存储器产生触发信号,以触发i+1阶的第一组合中的第二随机存储器产生触发信号;
S3,重复执行S1和S2,直到i的取值为N-1;其中,在i的取值为N-1的情况下,第i+1阶的第一组合中的第一随机存储器产生第一随机数,以触发i+1阶的第一组合中的第二随机存储器产生第二随机数;第一随机数或第二随机数为最终的随机数;i为小于N的正整数。
对于上述步骤S1至S3,以N的取值为4为例,则第1阶1个随机存储器,第2阶2个随机存储器,第3阶4个随机存储器,第4阶8个随机存储器,如果是向第2阶的第一随机存储器输入触发信号,如图2c所示,如果是从第1阶输入触发信号,该第1阶触发信号写操作成功后向第2阶的第一随机存储器输入触发信号,此时该第2阶的第一随机存储器写操作失败,写操作失败后,向第3阶的第一组合中的第二随机存储器输入触发信号,此时该第3阶的第一组合中的第二随机存储器也是写操作失败,写操作失败后向第4阶的第二组合中的第二随机存储器输入触发信号,此时第4阶的第二组合中的第二随机存储器写操作成功,写操作成功后输出最终的随机数(例如为1)。
需要说明的是,在上述图2c中,也可以是直接从第2阶或第3阶的某一个第一随机存储器或第二随机存储器输入触发信号,执行过程与上述图2c中的过程类似,直到第4阶的某一个第一随机存储器或第二随机存储器输出最终的随机数。此外,上述图2c中的4阶随机存储器也仅仅是举例说明,在本申请实施例中的其他方式,也可以是其他阶的随机存储器,例如5阶、8阶等等,可以根据实际情况进行相应的设置。另外,图2c中的随机存储器的写操作成功或失败,是根据实际情况确定的。
通过图2c中多个存储器形成多层概率叠加,形成了复杂多随机发生器提升了写操作成功与否的不可预测性。
在本申请实施例的可选实施方式中,本申请实施例中的随机存储器优选为非挥发性的磁性随机存储器MRAM。
在本申请实施例的可选实施方式中,对于本申请实施例中步骤S102涉及到的向随机存储器输入触发信号以触发执行写操作的方式,进一步可以包括:
步骤S102-11,设置与触发信号对应的触发信号参数,其中,触发信号参数的取值与写操作的成功概率关联;
步骤S102-12,向随机存储器输入触发信号,基于触发信号的触发信号参数触发执行写操作。
通过上述步骤S102-11和步骤S102-12,可以设置与写操作的成功概率关联的触发信号参数,已调整写操作成功的概率。在本申请实施例中以触发信号为脉冲信号为例,则本申请实施例中的触发信号参数包括以下至少一项:触发信号的脉冲宽度、触发信号的脉冲振幅、用于调整触发信号的输入电压、单位时间内输入触发信号的次数。
例如,触发信号的脉冲宽度为20ns,输入电压为1.5V,单位时间内输入触发信号的次数为10次等。上述取值仅仅是举例取值,在不同的应用场景中可以根据实际情况进行相应的取值。
基于上述本申请实施例中为了能够调整写操作的成功概率,在触发执行写操作之后,本申请实施例中的方法还可以包括:
步骤S103,对触发信号参数的取值进行调整。
本申请实施例中的触发信号参数与写操作的成功概率相关联;例如,当前单位时间为1s,当前1s内输入触发信号的次数为40次,为了能够得到更多写操作成功所产生的随机数,可以将1s内输入触发信号的次数提高到60次,或者,为了减少操作成功所产生的随机数,可以将1s内输入触发信号的次数降低到20次。对于脉冲宽度,如果当前触发信号的脉冲宽度为20ns,由于脉冲宽度的取值是与写操作成功的概率是关联的,如果是脉冲宽度的取值越大,其写操作的成功概率越高,则为了写操作的成功概率更高,则可以调整当前脉冲宽度为30ns,40ns等等,反之,如果为了写操作的成功概率更低,则可以调整当前脉冲宽度为10ns等等。当然,在其他应用场景中,可以是在一指定脉冲宽度下,其写操作成功率为100%,高于或低于该脉冲宽度,其写操作成功率呈指数倍下降。例如,写操作成功率为100%的脉冲宽度为50ns,则在脉宽宽度或40ns或60ns的情况下,其成功率为60%或者更低。当然,上述仅仅是举例说明,在具体应用场景中,可以根据实际情况对触发信号参数的取值进行相应的调整。
对于触发信号参数中的其他参数,也是类似的处理方式,即可以调整触发信号的脉冲振幅、用于调整触发信号的输入电压,其中,对于触发信号的输入电压与写操作成功概率的对应关系,如图3所示。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
图4是本申请实施例的随机数的产生装置的结构示意图,如图4所示,该装置包括:
随机存储器42,用于接收触发信号以触发执行写操作;
控制器44,用于在写操作成功的情况下,产生第一随机数;或在写操作未成功的情况下,产生第二随机数,其中,第一随机数和第二随机数为二值数据中的数据。
通过本申请实施例中的装置,可以通过向随机存储器输入触发信号以触发执行写操作,进而在写操作成功或未成功的情况下,产生第一随机数和第二随机数,该第一随机数和第二随机数为二值数据中的数据,从而可实现随机产生随机数的方式,无需持续向随机存储器输入触发信号,从而解决了现有技术中通过持续输出脉冲信号以产生随机数,导致产生随机数的过程能耗大以及资源占用大的问题。
可选地,本申请实施例中的随机存储器42进一步可以包括:设置单元,用于设置与触发信号对应的触发信号参数,其中,触发信号参数的取值与写操作的成功概率关联;输入单元,用于向随机存储器输入触发信号,基于触发信号的触发信号参数触发执行写操作。
可选地,本申请实施例中的触发信号为脉冲信号。基于此,本申请实施例中的触发信号参数包括以下至少一项:触发信号的脉冲宽度、触发信号的脉冲振幅、用于调整触发信号的输入电压、单位时间内输入触发信号的次数。
在本申请实施例的可选实施方式中,在触发执行写操作之后,本申请实施例的装置还可以包括:调整模块,用于对触发信号参数的取值进行调整。
可选地,在随机存储器的数量为一个的情况下,本申请实施例中的控制器44,还用于执行以下步骤:
S1,向随机存储器输入多个触发信号以触发执行多次写操作;其中,随机存储器在每一次触发下具有对应的写操作的成功概率;
S2,根据多次写操作的结果产生对应的多个随机数;
S3,对多个随机数中的随机数执行第一操作,直到获得唯一的随机数;其中,第一操作包括以下之一:异或操作、同或操作。
可选地,在随机存储器的数量为多个的情况下,本申请实施例中控制器44,还用于执行以下步骤:
S1,向多个随机存储器分别输入一个或多个触发信号以触发执行多次写操作;其中,其中,在触发信号的触发下每一个所述随机存储器具有对应写操作的成功概率;
S2,根据多次写操作的结果产生对应的多个随机数;
S3,对多个随机数中的随机数执行第一操作,直到获得唯一的随机数;其中,第一操作包括以下之一:异或操作、同或操作。
可选地,在随机存储器的数量为多个的情况下,本申请实施例中的控制器44,还用于执行以下步骤:
S1,向第i阶的随机存储器输入触发信号以触发执行写操作,其中,多个随机存储器形成N阶随机处理器,i为小于或等于N的正整数,且第i阶随机存储器的数量为2i-1个,且2i-1个随机存储器由多个组合组成,每一个组合包括1个第一随机存储器和1个第二随机存储器,第i阶随机存储器的输出端同时连接i+1阶的第一组合中的第一随机存储器和i+1阶第一组合中的第二随机存储器;i阶的随机存储器为i阶的第一组合中的第一随机存储器或i阶的第一组合中的第二随机存储器;
S2,在i阶的随机存储器写操作成功时,向i+1阶的第一组合中的第一随机存储器发送触发信号,以触发i+1阶的第一组合中的第一随机存储器产生触发信号;在i阶的随机存储器写操作失败时,向i+1阶的第一组合中的第二随机存储器产生触发信号,以触发i+1阶的第一组合中的第二随机存储器产生触发信号;
S3,重复执行S1和S2,直到i的取值为N-1;其中,在i的取值为N-1的情况下,第i+1阶的第一组合中的第一随机存储器产生第一随机数,以触发i+1阶的第一组合中的第二随机存储器产生第二随机数;第一随机数或第二随机数为最终的随机数;i为小于N的正整数。
可选的,本申请实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现上述对抗样本的生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要注意的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述对抗样本的生成方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种随机数的产生方法,其特征在于,包括:
向随机存储器输入触发信号以触发执行写操作;
在所述写操作成功的情况下,产生第一随机数;
在所述写操作未成功的情况下,产生第二随机数,其中,所述第一随机数和所述第二随机数为二值数据中的数据;
在所述随机存储器的数量为多个的情况下,向随机存储器输入触发信号以触发执行写操作得到随机数,包括:
S1,向第i阶的随机存储器输入触发信号以触发执行写操作,其中,多个所述随机存储器形成N阶随机处理器,i为小于或等于N的正整数,且所述第i阶随机存储器的数量为2i-1个,且所述2i-1个随机存储器由多个组合组成,每一个组合包括1个第一随机存储器和1个第二随机存储器,所述第i阶随机存储器的输出端同时连接i+1阶的第一组合中的第一随机存储器和i+1阶所述第一组合中的第二随机存储器;所述i阶的随机存储器为所述i阶的第一组合中的第一随机存储器或所述i阶的第一组合中的第二随机存储器;
S2,在所述i阶的随机存储器写操作成功时,向所述i+1阶的第一组合中的第一随机存储器发送触发信号,以触发所述i+1阶的第一组合中的第一随机存储器产生触发信号;在所述i阶的随机存储器写操作失败时,向所述i+1阶的第一组合中的第二随机存储器产生触发信号,以触发所述i+1阶的第一组合中的第二随机存储器产生触发信号;
S3,重复执行所述S1和S2,直到i的取值为N-1;其中,在i的取值为N-1的情况下,第i+1阶的第一组合中的第一随机存储器产生第一随机数,以触发所述i+1阶的第一组合中的第二随机存储器产生第二随机数;所述第一随机数或第二随机数为最终的随机数;i为小于N的正整数。
2.根据权利要求1所述的方法,其特征在于,向随机存储器输入触发信号以触发执行写操作,包括:
设置与所述触发信号对应的触发信号参数,其中,所述触发信号参数的取值与所述写操作的成功概率关联;
向所述随机存储器输入所述触发信号,基于所述触发信号的触发信号参数触发执行所述写操作。
3.根据权利要求2所述的方法,其特征在于,所述触发信号为脉冲信号。
4.根据权利要求3所述的方法,其特征在于,所述触发信号参数包括以下至少一项:所述触发信号的脉冲宽度、所述触发信号的脉冲振幅、用于调整所述触发信号的输入电压、单位时间内输入所述触发信号的次数。
5.根据权利要求2所述的方法,其特征在于,在触发执行写操作之后,所述方法还包括:
对所述触发信号参数的取值进行调整。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述随机存储器的数量为一个或多个。
7.根据权利要求6所述的方法,其特征在于,在所述随机存储器的数量为一个的情况下,向随机存储器输入触发信号以触发执行写操作得到随机数,包括:
向所述随机存储器输入多个触发信号以触发执行多次写操作;其中,所述随机存储器在每一次触发下具有对应的写操作的成功概率;
根据多次写操作的结果产生对应的多个随机数;
对所述多个随机数中的随机数执行第一操作,直到获得唯一的随机数;其中,所述第一操作包括以下之一:异或操作、同或操作。
8.根据权利要求6所述的方法,其特征在于,在所述随机存储器的数量为多个的情况下,向随机存储器输入触发信号以触发执行写操作得到随机数,包括:
向多个所述随机存储器分别输入一个或多个触发信号以触发执行多次写操作;其中,在所述触发信号的触发下每一个所述随机存储器具有对应写操作的成功概率;
根据多次写操作的结果产生对应的多个随机数;
对所述多个随机数中的随机数执行第一操作,直到获得唯一的随机数;其中,所述第一操作包括以下之一:异或操作、同或操作。
9.根据权利要求7或8所述的方法,其特征在于,对所述多个随机数中的随机数执行第一操作,直到获得唯一的随机数,包括:
在所述多个随机数的数量为偶数时,对所述多个随机数中的两两随机数执行第一操作,直到所述多个随机数均被执行所述第一操作,并继续对所述第一操作的结果中的两两结果再次执行第一操作直到获得唯一的随机数;
在所述多个随机数的数量为奇数时,对所述多个随机数中的两两随机数执行第一操作,直到所述多个随机数中只剩一个随机数未被执行所述第一操作,并继续对由所述第一操作的结果和剩下的随机数组成的组合中的两两对象执行第一操作直到获得唯一的随机数;其中,所述第一操作的结果为随机数。
10.根据权利要求1至5中任一项所述的方法,其特征在于,所述随机存储器为非挥发性的磁性随机存储器MRAM。
11.一种随机数的产生装置,其特征在于,包括:
随机存储器,用于接收触发信号以触发执行写操作;
控制器,用于在所述写操作成功的情况下,产生第一随机数;或在所述写操作未成功的情况下,产生第二随机数,其中,所述第一随机数和所述第二随机数为二值数据中的数据;
在所述随机存储器的数量为多个的情况下,所述控制器,还用于执行以下步骤:
S1,向第i阶的随机存储器输入触发信号以触发执行写操作,其中,多个所述随机存储器形成N阶随机处理器,i为小于或等于N的正整数,且所述第i阶随机存储器的数量为2i-1个,且所述2i-1个随机存储器由多个组合组成,每一个组合包括1个第一随机存储器和1个第二随机存储器,所述第i阶随机存储器的输出端同时连接i+1阶的第一组合中的第一随机存储器和i+1阶所述第一组合中的第二随机存储器;所述i阶的随机存储器为所述i阶的第一组合中的第一随机存储器或所述i阶的第一组合中的第二随机存储器;
S2,在所述i阶的随机存储器写操作成功时,向所述i+1阶的第一组合中的第一随机存储器发送触发信号,以触发所述i+1阶的第一组合中的第一随机存储器产生触发信号;在所述i阶的随机存储器写操作失败时,向所述i+1阶的第一组合中的第二随机存储器产生触发信号,以触发所述i+1阶的第一组合中的第二随机存储器产生触发信号;
S3,重复执行所述S1和S2,直到i的取值为N-1;其中,在i的取值为N-1的情况下,第i+1阶的第一组合中的第一随机存储器产生第一随机数,以触发所述i+1阶的第一组合中的第二随机存储器产生第二随机数;所述第一随机数或第二随机数为最终的随机数;i为小于N的正整数。
12.根据权利要求11所述的装置,其特征在于,所述随机存储器包括:
设置单元,用于设置与所述触发信号对应的触发信号参数,其中,所述触发信号参数的取值与所述写操作的成功概率关联;
输入单元,用于向所述随机存储器输入所述触发信号,基于所述触发信号的触发信号参数触发执行所述写操作。
13.根据权利要求12所述的装置,其特征在于,所述触发信号为脉冲信号。
14.根据权利要求13所述的装置,其特征在于,所述触发信号参数包括以下至少一项:所述触发信号的脉冲宽度、所述触发信号的脉冲振幅、用于调整所述触发信号的输入电压、单位时间内输入所述触发信号的次数。
15.根据权利要求12所述的装置,其特征在于,在触发执行写操作之后,所述装置还包括:
调整模块,用于对所述触发信号参数的取值进行调整。
16.根据权利要求11所述的装置,其特征在于,在所述随机存储器的数量为一个的情况下,所述控制器,还用于执行以下步骤:
向所述随机存储器输入多个触发信号以触发执行多次写操作;其中,所述随机存储器在每一次触发下具有对应的写操作的成功概率;
根据多次写操作的结果产生对应的多个随机数;
对所述多个随机数中的随机数执行第一操作,直到获得唯一的随机数;其中,所述第一操作包括以下之一:异或操作、同或操作。
17.根据权利要求11所述的装置,其特征在于,在所述随机存储器的数量为多个的情况下,所述控制器,还用于执行以下步骤:
向多个所述随机存储器分别输入一个或多个触发信号以触发执行多次写操作;其中,在所述触发信号的触发下每一个所述随机存储器具有对应写操作的成功概率;
根据多次写操作的结果产生对应的多个随机数;
对所述多个随机数中的随机数执行第一操作,直到获得唯一的随机数;其中,所述第一操作包括以下之一:异或操作、同或操作。
18.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现包括如权利要求1-10中任一项所述的随机数的产生方法的步骤。
19.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现包括如权利要求1-10中任一项所述的随机数的产生方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011269007.5A CN112379858B (zh) | 2020-11-13 | 2020-11-13 | 随机数的产生方法及装置、电子设备和可读存储介质 |
PCT/CN2021/129710 WO2022100595A1 (zh) | 2020-11-13 | 2021-11-10 | 随机数的产生方法及装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011269007.5A CN112379858B (zh) | 2020-11-13 | 2020-11-13 | 随机数的产生方法及装置、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112379858A CN112379858A (zh) | 2021-02-19 |
CN112379858B true CN112379858B (zh) | 2024-01-26 |
Family
ID=74582183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011269007.5A Active CN112379858B (zh) | 2020-11-13 | 2020-11-13 | 随机数的产生方法及装置、电子设备和可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112379858B (zh) |
WO (1) | WO2022100595A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112379858B (zh) * | 2020-11-13 | 2024-01-26 | 北京灵汐科技有限公司 | 随机数的产生方法及装置、电子设备和可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0782069A1 (en) * | 1995-12-25 | 1997-07-02 | Nec Corporation | Pseudorandom number generator |
CN106708471A (zh) * | 2017-03-23 | 2017-05-24 | 成都为远信安电子科技有限公司 | 一种全数字逻辑电路实现的真随机数发生器 |
CN110989972A (zh) * | 2019-12-05 | 2020-04-10 | 清华大学 | 随机数的生成方法及随机数生成器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140108478A1 (en) * | 2012-10-15 | 2014-04-17 | Qualcomm Incorporated | Magnetic tunnel junction based random number generator |
US11531524B2 (en) * | 2018-09-24 | 2022-12-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | Magnetoresistive random-access memory (MRAM) random number generator (RNG) and a related method for generating a random bit |
CN112379858B (zh) * | 2020-11-13 | 2024-01-26 | 北京灵汐科技有限公司 | 随机数的产生方法及装置、电子设备和可读存储介质 |
CN112379859B (zh) * | 2020-11-13 | 2023-08-18 | 北京灵汐科技有限公司 | 二值采样的处理方法及装置、对抗样本的生成方法及装置 |
-
2020
- 2020-11-13 CN CN202011269007.5A patent/CN112379858B/zh active Active
-
2021
- 2021-11-10 WO PCT/CN2021/129710 patent/WO2022100595A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0782069A1 (en) * | 1995-12-25 | 1997-07-02 | Nec Corporation | Pseudorandom number generator |
CN106708471A (zh) * | 2017-03-23 | 2017-05-24 | 成都为远信安电子科技有限公司 | 一种全数字逻辑电路实现的真随机数发生器 |
CN110989972A (zh) * | 2019-12-05 | 2020-04-10 | 清华大学 | 随机数的生成方法及随机数生成器 |
Also Published As
Publication number | Publication date |
---|---|
CN112379858A (zh) | 2021-02-19 |
WO2022100595A1 (zh) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430045B (zh) | 一种基于分布式共识算法的随机数生成方法 | |
CN111143107B (zh) | 一种fpga单粒子反转校验电路和方法 | |
US9507662B2 (en) | Expanded error correction codes | |
US10135466B2 (en) | Data sending method and apparatus | |
US11294763B2 (en) | Determining significance levels of error values in processes that include multiple layers | |
CN112379858B (zh) | 随机数的产生方法及装置、电子设备和可读存储介质 | |
CN112379859B (zh) | 二值采样的处理方法及装置、对抗样本的生成方法及装置 | |
CN113300716A (zh) | 循环冗余校验码的生成方法、设备以及计算机可读介质 | |
WO2022156759A1 (zh) | 产生脉冲信号的方法、装置、电子设备和可读存储介质 | |
CN114389752B (zh) | 循环冗余校验码生成方法、装置、设备、介质和程序产品 | |
CN114138231B (zh) | 执行矩阵乘法运算的方法、电路及soc | |
CN109669669B (zh) | 误码生成方法及误码生成器 | |
CN109766214A (zh) | 一种最优h矩阵生成方法及装置 | |
CN102520908A (zh) | 一种伪随机数生成器及伪随机数生成方法 | |
JP2002330192A (ja) | 試験信号発生装置及び方法並びにポアソン分布エラー信号発生器及び発生方法 | |
CN109656514B (zh) | 随机数产生系统及其随机数产生方法 | |
CN108287771A (zh) | 一种数据校验方法、装置及设备 | |
KR20120082230A (ko) | 랜덤 코드 발생회로를 포함하는 반도체 장치 및 반도체 시스템과, 데이터 프로그래밍 방법 | |
US10516418B2 (en) | Hybrid type iterative decoding method and apparatus | |
CN113055027B (zh) | 可变位宽的ldpc编码方法、编码器、ssd及存储介质 | |
CN115829000A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111025178B (zh) | 一种电源模块主备切换的稳定性测试方法及相关组件 | |
CN114911647A (zh) | 多项式可配的并行crc硬件实现方法、装置和计算机设备 | |
Fu et al. | On the locality of some optimal ternary codes with dimension 6 | |
US20230283298A1 (en) | Data error correction circuit and data transmission method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |