[go: up one dir, main page]

CN119861903B - 随机数的生成方法、装置、电子设备及存储介质 - Google Patents

随机数的生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN119861903B
CN119861903B CN202510350521.8A CN202510350521A CN119861903B CN 119861903 B CN119861903 B CN 119861903B CN 202510350521 A CN202510350521 A CN 202510350521A CN 119861903 B CN119861903 B CN 119861903B
Authority
CN
China
Prior art keywords
random
target
random number
number generation
round
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
Application number
CN202510350521.8A
Other languages
English (en)
Other versions
CN119861903A (zh
Inventor
赵华龙
王强
包云岗
唐丹
董璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Open Source Chip Research Institute
Original Assignee
Beijing Open Source Chip Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Open Source Chip Research Institute filed Critical Beijing Open Source Chip Research Institute
Priority to CN202510350521.8A priority Critical patent/CN119861903B/zh
Publication of CN119861903A publication Critical patent/CN119861903A/zh
Application granted granted Critical
Publication of CN119861903B publication Critical patent/CN119861903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种随机数的生成方法、装置、电子设备及存储介质,响应于随机数生成指令,基于随机数生成指令,确定随机数生成轮数、被除数以及随机素数种子;针对任一随机数生成轮次,基于目标乘积以及被除数,确定随机数生成轮次对应的目标余数;目标乘积是基于随机素数种子与随机数生成轮次对应的目标随机系数得到的,不同随机数生成轮次对应的目标随机系数不同;在达到随机数生成轮数的情况下,基于多个随机数生成轮次对应的目标余数,确定多个目标随机数。降低了随机数生成过程所需花费的时间,提高了随机数生成效率。同时,无需设置列表存储历史随机数以确保随机性,在确保随机数的随机性的同时,节省了存储空间。

Description

随机数的生成方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及计算机技术领域,特别是涉及一种随机数的生成方法、装置、电子设备及存储介质。
背景技术
随着信息技术的飞速发展,数据处理与信息安全领域对高质量随机数的需求日益增长。传统的不重复随机数发生器,即能依次输出指定区间内多个不重复的随机数,例如设定随机数生成区间为0-100,则不重复随机数发生器会用随机的方式依次输出100个数值,这100个数值互不相同,且取值范围在0-100之间。
相关技术中,随机数的生成是基于随机数发生器和列表来实现的,列表用于存储已经生成并输出的历史随机数,在每生成一个新的随机数R的情况下,需要与列表中的历史随机数依次比较,以确定是否与历史随机数重复,如果列表中不包含随机数R,则将R添加到列表并作为随机数输出;如果列表包含随机数R,则重新生成一个新的随机数并再次进行比较。这样的随机数生成方式由于需要每次将生成的随机数逐个与历史随机数比较,以确保随机数的不重复性以及随机性,导致反复生成随机数花费时间过多,且通过列表存储历史随机数需要占用较大存储空间。
发明内容
本发明实施例提供一种随机数的生成方法、装置、电子设备及存储介质。
为了解决上述问题,本发明实施例公开了一种随机数的生成方法,所述方法包括:
响应于随机数生成指令,基于所述随机数生成指令,确定随机数生成轮数、被除数以及随机素数种子;
针对任一随机数生成轮次,基于目标乘积以及所述被除数,确定所述随机数生成轮次对应的目标余数;所述目标乘积是基于所述随机素数种子与所述随机数生成轮次对应的目标随机系数得到的,不同随机数生成轮次对应的目标随机系数不同;
在达到所述随机数生成轮数的情况下,基于多个所述随机数生成轮次对应的目标余数,确定多个目标随机数。
另一方面,本发明实施例公开了一种随机数的生成装置,所述装置包括:
第一确定模块,用于响应于随机数生成指令,基于所述随机数生成指令,确定随机数生成轮数、被除数以及随机素数种子;
第二确定模块,用于针对任一随机数生成轮次,基于目标乘积以及所述被除数,确定所述随机数生成轮次对应的目标余数;所述目标乘积是基于所述随机素数种子与所述随机数生成轮次对应的目标随机系数得到的,不同随机数生成轮次对应的目标随机系数不同;
第三确定模块,用于在达到所述随机数生成轮数的情况下,基于多个所述随机数生成轮次对应的目标余数,确定多个目标随机数。
又一方面,本发明实施例公开了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的方法。
本发明实施例还公开了一种可读存储介质,其上存储有可执行指令,当由一个或多个处理器执行时,使得所述处理器执行如上述所述的方法。
本发明实施例包括以下优点:本发明实施例中提供的随机数的生成方法中,在接收到随机数生成指令的情况下,基于随机数生成指令,确定随机数生成轮数、被除数以及随机素数种子;针对任一随机数生成轮次,基于随机素数种子与当前随机数生成轮次对应的目标随机系数的目标乘积以及被除数,确定当前随机数生成轮次对应的目标余数;不同随机数生成轮次对应的目标随机系数不同;在达到随机数生成轮数的情况下,基于多个随机数生成轮次对应的目标余数,确定多个目标随机数。这样,通过在每轮随机数生成轮次中,基于随机素数种子与当前随机数生成轮次对应的目标随机系数的目标乘积以及被除数进行取余计算,进而基于得到的目标余数确定目标随机数,可以确保不同随机数生成轮次得到的目标余数互不相同,进而确保多个目标随机数互不相同。由于本发明实施例可以直接通过多轮随机数生成轮次直接得到互不相同的目标随机数,无需通过逐个与历史随机数比较以确定随机数是否重复,降低了随机数生成过程所需花费的时间,提高了随机数生成效率。同时,无需设置列表存储历史随机数以确保随机性,本发明实施例在确保随机数的随机性的同时,节省了存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种随机数的生成方法的步骤流程图;
图2是本发明实施例提供的一种随机数的生成装置的框图;
图3是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例提供的一种随机数的生成方法的步骤流程图,如图1所示,该方法具体可以包括以下步骤:
步骤101、响应于随机数生成指令,基于所述随机数生成指令,确定随机数生成轮数、被除数以及随机素数种子。
本发明实施例中,随机数生成器响应于随机数生成指令,会对随机数生成指令进行解析,基于随机数生成指令确定随机数生成指令指示的随机数生成轮数、被除数以及随机素数种子。具体的,发送给随机数生成器的随机数生成指令中可以直接包含随机数生成轮数、被除数以及随机素数种子,也可以包含随机数生成数量以及目标随机范围,在这种情况下,可以基于随机数生成数量以及目标随机范围,确定随机数生成轮数以及被除数,并随机生成一个随机素数种子。随机数生成指令中包含的信息可以根据实际需求进行设定。
其中,随机数生成轮数用于表征随机数生成过程所要进行的随机数生成轮次的数量。随机素数种子是在随机数生成过程中需要使用的变换系数,随机素数种子可以是随机生成的任一素数,素数(又称质数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。
可选地,本发明实施例还可以包括以下步骤:
步骤201、基于随机数生成需求中的随机数生成数量以及目标随机范围,确定所述随机数生成轮数以及所述被除数。
本发明实施例中,处理器会获取随机数生成需求,其中,随机数生成需求可以是接收外部输入得到的,也可以是根据当前业务进度获取的与当前业务进度匹配的需求。随机数生成需求可以是根据不同应用场景确定的,不同应用场景例如数据通信乱序发送,即发送端将随机乱序的一组数据发送给接收端,接收端再恢复为原始序列,起到加密的效果;随机遍历RAM自检,即将整个RAM区间分成多次自检,定期的依次生成不重复的随机地址,只检查该地址内容。由于地址不重复,最终会完成全部区域的自检。
随机数生成需求中可以包括随机数生成数量、目标随机范围以及数据类型(如整数、浮点数)等。根据随机数生成需求中的随机数生成数量以及目标随机范围,确定随机数生成轮数以及被除数。其中,目标随机范围用于定义随机数生成过程中,随机数的限定范围,即随机数生成过程中只可以在目标随机范围中随机生成一个数值。目标随机范围包括随机数值上限以及随机数值下限,例如目标随机范围为0-10,则随机数值上限为10,随机数值下限为0。
基于随机数生成数量确定随机数生成轮数,并基于目标随机范围,确定被除数。
可选地,步骤201可以包括以下步骤:
步骤301、对所述随机数生成需求进行解析,得到随机数生成数量以及目标随机范围;所述随机数生成数量小于等于所述目标随机范围内所包含的数值的目标数量。
本发明实施例中,对随机数生成需求进行解析,得到随机数生成数量以及目标随机范围。为了确保随机数的不重复性,随机数生成数量小于等于目标随机范围内所包含的数值的目标数量,目标随机范围可以由随机数值上限和随机数值下限构成,目标随机范围内所包含的数值的目标数量可以是由随机数值上限到随机数值下限之间包含的整数的数量。示例性的,若目标随机范围为0-3,0-3之间包含的数值为4个,分别为0、1、2、3,即目标数量为4,则随机数生成数量小于等于4个。
示例性的,可以解析随机数生成需求中的随机数生成数量。如果随机数生成需求中直接指定了数量,则记录该值作为随机数生成数量。如果数量是依赖于某些条件或参数(如系统状态),则根据这些条件和参数动态计算生成随机数生成数量。解析随机数生成需求中的随机数数值范围,通常包括一个随机数值上限和一个随机数值下限,定义了随机数生成范围的闭区间。
步骤302、将所述随机数生成数量确定为所述随机数生成轮数。
本发明实施例中,每个随机数生成轮次用于生成一个目标随机数,因此,随机数生成数量等于随机数生成轮数,即需要生成多少随机数,就要进行多少轮随机数生成轮次。
步骤303、基于所述目标数量,确定所述被除数。
本发明实施例中,可以将随机数值上限以及随机数值下限之间所包含的数值的目标数量,确定为被除数。示例性的,假设目标随机范围为0-3,则被除数可以为4,目标随机范围为2-6,则被除数可以为5。
本发明实施例中,根据随机数生成需求中的随机数生成数量以及目标随机范围,灵活的确定被除数以及随机数生成轮数,在满足随机数生成需求的同时,提高了随机数生成轮数以及被除数的确定效率。
步骤202、随机生成所述随机素数种子。
本发明实施例中,可以预先设定一个素数列表,该素数列表中可以包含多个素数。示例性的,可以在自然数中使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来找到素数,并基于这些素数形成一个素数列表。在素数列表中随机选择一个素数,作为随机素数种子。
可选地,步骤202可以包括以下步骤:
步骤401、将所述被除数的一半确定为随机种子生成下限,以及,将所述被除数的两倍确定为随机种子生成上限。
本发明实施例中,所选随机素数种子会影响结果的表观随机性,为了获得较好的随机效果,设定选择随机素数种子的量级与被除数相近,例如可以为N/2到N*2(N为被除数)之间。
将被除数的一半确定为随机种子生成下限,以及,将被除数的两倍确定为随机种子生成上限。将随机种子生成下限以及随机种子生成上限之间的封闭区间作为随机素数种子的随机选取范围。
步骤402、在所述随机种子生成上限以及所述随机种子生成下限中随机选择素数,作为所述随机素数种子。
本发明实施例中,在随机种子生成上限以及随机种子生成下限中随机选择一个素数,作为随机素数种子。具体的,可以确定随机种子生成上限以及随机种子生成下限所定义的选取范围对应的第一素数列表,在第一素数列表中随机选取一个素数作为随机素数种子。
本发明实施例中,将被除数的一半确定为随机种子生成下限,以及,将被除数的两倍确定为随机种子生成上限,能够提高目标随机数的随机效果,确保目标随机数的随机性。
步骤203、基于所述随机数生成轮数、所述被除数以及所述随机素数种子,生成所述随机数生成指令。
本发明实施例中,基于随机数生成轮数、被除数以及随机素数种子,生成随机数生成指令。随机数生成指令可以是随机数生成器内部生成的指令,也可以是从外部接收到的指令。示例性的,处理器可以将该随机数生成指令发送至随机数生成器。随机数生成器在接收到随机数生成指令的情况下,会对随机数生成指令进行解析,得到随机数生成轮数、被除数以及随机素数种子,进而基于随机数生成轮数、被除数以及随机素数种子进行随机数生成。随机数生成指令也可以是随机数生成器内部生成的,在生成随机数生成指令后,随机数生成器会直接响应于随机数生成指令,对随机数生成指令进行解析,进而基于随机数生成轮数、被除数以及随机素数种子进行随机数生成。示例性的,可以使用编程语言或工具库中的随机数生成函数,基于随机数生成轮数、被除数以及随机素数种子,生成随机数生成指令。
本发明实施例中,基于随机数生成需求,生成随机数生成指令,能够确保随机数的生成符合特定的应用场景需求,从而提高随机数在不同应用场景中的准确性和有效性。
步骤102、针对任一随机数生成轮次,基于目标乘积以及所述被除数,确定所述随机数生成轮次对应的目标余数;所述目标乘积是基于所述随机素数种子与所述随机数生成轮次对应的目标随机系数得到的,不同随机数生成轮次对应的目标随机系数不同。
本发明实施例中,根据同余定理“给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m)”可知,a和b同余的充要条件是a-b能被m整除,即(m|a-b)。其中,两个整数a和b除以同一个整数m,如果得到相同的余数,称为a和b同余。根据上述定理,可以推论得知推论1:如果a-b不能被m整除,则a和b除以m的余数不同。进一步基于推论1可得:取任意素数p,和指定的区间0-N,依次取p,2*p,3*p,…N*p,其除以N的余数各不相同。具体的,由于p为素数,则p无法被N整除,因此,2*p-p=p、3*p-2*p=p…N*p-(N-1)*p=p(相当于a-b)均不能被N(相当于m)整除,则p,2*p,3*p,…N*p,其除以N的余数各不相同。
示例性的,假设p=7,N=10,则:7 % 10 = 7;14 % 10 = 4;21 % 10 = 1;28 % 10 =8;35 % 10 = 5;42 % 10 = 2;49 % 10 = 9;56 % 10 = 6;63 % 10 = 3;70 % 10 = 0,可见各余数互不相同。
基于上述推论,可以基于随机素数种子与当前随机数生成轮次对应的目标系数的目标乘积,以及被除数,进行取余计算,确定当前随机数生成轮次对应的目标余数,使得各随机数生成轮次对应的目标余数互不相同。
其中,不同随机数生成轮次对应的目标随机系数不同,随机数生成轮次对应的目标随机系数是基于前一随机数生成轮次对应的目标随机系数确定的,初始随机数生成轮次对应的目标随机系数为1。各随机数生成轮次对应的目标随机数系数是为了构造当前随机数生成轮次与前一随机数轮次之间的目标乘积之差为随机素数种子的整数倍,进而确保当前随机数生成轮次与前一随机数轮次得到的目标余数不同。当前随机数生成轮次对应的目标随机系数可以基于前一轮随机数生成轮次对应的目标随机系数以1为单位递增确定,例如,各随机数生成轮次对应的目标随机系数可以依次为1、2、3、…,此外,在随机数生成轮数小于被除数的情况下,各随机数生成轮次对应的目标随机系数也可以是小于等于被除数的任一整数,例如,假设被除数为10,随机数生成轮数为3,则3个随机数生成轮次对应的目标随机系数可以分别为3、5、8。
步骤103、在达到所述随机数生成轮数的情况下,基于各所述随机数生成轮次对应的目标余数,确定目标随机数。
本发明实施例中,在达到随机数生成轮数的情况下,可以基于各随机数生成轮次得到的目标余数,确定目标随机数。当随机数值下限为0的情况下,可以直接将各随机数生成轮次得到的目标余数,确定为目标随机数;当随机数值下限不为0的情况下,基于各随机数生成轮次得到的目标余数以及随机数值下限,确定各个目标随机数。
可选地,在所述目标随机范围中的随机数值下限不为0的情况下,步骤203可以包括以下步骤:
步骤501、针对任一所述随机数生成轮次对应的目标余数,将所述随机数生成轮次对应的目标余数与所述随机数值下限的数值相加,得到所述目标随机数。
本发明实施例中,由于被除数是基于随机数值下限以及随机数值上限所包含的数值个数确定的,在目标随机范围中的随机数值下限不为0的情况下,相当于先将目标随机范围替换为以0为随机数值下限的随机数生成范围进行随机数生成的,若在得到目标余数后,确保目标随机数处于原目标随机范围内,则需要在目标余数的基础上,加上随机数值下限,即可使得目标随机数均处于目标随机范围内。
示例性的,假设目标随机范围为2-11,则被除数为10,若随机生成的随机素数种子为7,随机数生成轮数为3,则7 % 10 = 7;14 % 10 = 4;21 % 10 =1。可见,目标余数分别为7、4、1,1不属于目标随机范围,则在目标余数的基础上加上随机数值下限,即2,得到目标随机数为9、6、3,均处于目标随机范围内。
综上所述,本发明实施例中,响应于随机数生成指令,基于随机数生成指令,确定随机数生成轮数、被除数以及随机素数种子;针对任一随机数生成轮次,基于目标乘积以及被除数,确定随机数生成轮次对应的目标余数;目标乘积是基于随机素数种子与随机数生成轮次对应的目标随机系数得到的,不同随机数生成轮次对应的目标随机系数不同;在达到随机数生成轮数的情况下,基于多个随机数生成轮次对应的目标余数,确定多个目标随机数。这样,通过在每轮随机数生成轮次中,基于随机素数种子与当前随机数生成轮次对应的目标随机系数的目标乘积以及被除数进行取余计算,进而基于得到的目标余数确定目标随机数,可以确保不同随机数生成轮次得到的目标余数互不相同,进而确保多个目标随机数互不相同。由于本发明实施例可以直接通过多轮随机数生成轮次直接得到互不相同的目标随机数,无需通过逐个与历史随机数比较以确定随机数是否重复,降低了随机数生成过程所需花费的时间,提高了随机数生成效率。同时,无需设置列表存储历史随机数以确保随机性,本发明实施例在确保随机数的随机性的同时,节省了存储空间。
可选地,步骤102可以包括以下步骤:
步骤601、在所述随机数生成轮次为初始随机数生成轮次的情况下,计算所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,作为目标除数。
本发明实施例中,在随机数生成轮次为初始随机数生成轮次的情况下,即在刚开始生成随机数时,将随机素数种子与当前随机数生成轮次对应的目标随机系数的目标乘积确定为目标除数。
在一种可能的实施方式中,在随机数生成轮数等于被除数的情况下,即在需要生成的随机数数量等于目标随机范围所包含的数值数量的情况下,初始随机数生成轮次对应的目标随机系数可以为1,相应的,下一轮随机数生成轮次对应的目标随机系数可以基于前一轮随机数生成轮次对应的目标随机系数以1为单位递增确定。
在另一种可能的实施方式中,在随机数生成轮数小于被除数的情况下,即在需要生成的随机数数量小于目标随机范围所包含的数值数量的情况下,初始随机数生成轮次对应的目标随机系数可以为小于等于被除数的任一整数,相应的,下一轮随机数生成轮次对应的目标随机系数可以为除前面各随机数生成轮次对应的目标随机系数外小于等于被除数的任一整数。
步骤602、基于所述目标除数与所述被除数的余数,确定所述随机数生成轮次对应的目标余数。
本发明实施例中,基于目标除数与被除数的余数,确定当前随机数生成轮次对应的目标余数。对目标除数与被除数进行取余计算,得到当前随机数生成轮次对应的目标余数。
步骤603、基于所述随机数生成轮次对应的目标随机系数,确定下一随机数生成轮次对应的目标随机系数。
本发明实施例中,基于当前随机数生成轮次对应的目标随机系数,确定下一随机数生成轮次对应的目标随机系数。在随机数生成轮数等于被除数的情况下,即在需要生成的随机数数量等于目标随机范围所包含的数值数量的情况下,下一轮随机数生成轮次对应的目标随机系数可以基于前一轮随机数生成轮次对应的目标随机系数以1为单位递增确定。示例性的,当随机数生成轮数为3,且目标随机范围为0-2的情况下,被除数为3,随机数生成轮数等于被除数,则各随机数生成轮次对应的目标随机系数可以为:1、2、3。在随机数生成轮数小于被除数的情况下,即在需要生成的随机数数量小于目标随机范围所包含的数值数量的情况下,下一轮随机数生成轮次对应的目标随机系数可以为除前面各轮随机数生成轮次对应的目标随机系数外小于等于被除数的任一整数。示例性的,当随机数生成轮数为3,且目标随机范围为0-5的情况下,被除数为6,随机数生成轮数小于被除数,则各随机数生成轮次对应的目标随机系数可以为:3、5、1。
步骤604、基于所述下一随机数生成轮次对应的目标随机系数,从所述计算所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,作为目标除数重新执行,直至达到所述随机数生成轮数。
本发明实施例中,基于下一随机数生成轮次对应的目标随机系数,重新执行步骤501,依次得到每轮随机数生成轮次对应的目标余数,直到随机数生成轮次与随机数生成轮数相匹配,即,达到随机数生成轮数,相应的,得到与随机数生成轮数相匹配数量的目标余数。
本发明实施例中,通过确定不同随机数生成轮次对应的目标随机系数,以取余计算的方式获取目标余数,确保了各目标余数在目标随机范围内的差异性以及乱序性,进而确保了目标随机数在目标随机范围内的随机性。
示例性的,假设随机数生成数量为10,目标随机范围为0-9,则随机数生成轮数为10,被除数为10。随机生成一个随机素数种子为7,由于随机数生成轮数等于被除数,则初始随机数生成轮次对应的目标随机系数为1,初始随机数生成轮次对应的目标余数为:7 % 10= 7。下一轮随机数生成轮次对应的目标随机系数为1+1=2,则下一轮随机数生成轮次对应的目标余数为2*7 % 10 = 4。依次确定下一轮随机数生成轮次对应的目标随机系数,并计算目标余数,直至随机数生成轮次进行10次,第三轮随机数生成轮次至最后一轮随机数生成轮次对应的目标余数的计算过程可以为:3*7 % 10 = 1;4*7 % 10 = 8;5*7 % 10 = 5;6*7 % 10 = 2;7*7 % 10 = 9;8*7 % 10 = 6;9*7 % 10 = 3;10*7 % 10 = 0。可得,各随机数生成轮次对应的目标余数分别为:7、4、1、8、5、2、9、6、3、0,在目标范围的随机数下限为0的情况下,可以直接将各目标余数直接确定为目标随机数,即依次输出了分布在目标随机范围0-10之间且互不相同的10个随机数。
进一步地,对目标范围的随机数值下限不为0的场景进行举例说明:假设随机数生成数量为10,目标随机范围为1-10,则随机数生成轮数为10,被除数为10。随机生成一个随机素数种子为7,由于随机数生成轮数等于被除数,则初始随机数生成轮次对应的目标随机系数为1,初始随机数生成轮次对应的目标余数为:7 % 10 = 7。下一轮随机数生成轮次对应的目标随机系数为1+1=2,则下一轮随机数生成轮次对应的目标余数为2*7 % 10 = 4。依次确定下一轮随机数生成轮次对应的目标随机系数,并计算目标余数,直至随机数生成轮次进行10次,第三轮随机数生成轮次至最后一轮随机数生成轮次对应的目标余数的计算过程可以为:3*7 % 10 = 1;4*7 % 10 = 8;5*7 % 10 = 5;6*7 % 10 = 2;7*7 % 10 = 9;8*7% 10 = 6;9*7 % 10 = 3;10*7 % 10 = 0。可得,各随机数生成轮次对应的目标余数分别为:7、4、1、8、5、2、9、6、3、0,在目标范围的随机数值下限不为0的情况下,需要再各目标余数的基础上加上随机数值下限,得到目标随机数为8、5、2、9、6、3、10、7、4、1,即依次输出了分布在目标随机范围1-9之间且互不相同的10个随机数。
再进一步地,以随机数生成数量小于目标随机范围所包含的数值数量的场景进行举例说明:假设随机数生成数量为3,目标随机范围为2-11,则随机数生成轮数为3,被除数为10。随机生成一个随机素数种子为7,由于随机数生成数量小于目标随机范围所包含的数值数量,即随机数生成轮数小于被除数,则初始随机数生成轮次对应的目标随机系数可以为小于等于被除数的任一整数,例如3。则初始随机数生成轮次对应的目标余数为:3*7 %10 = 1,第二轮随机数生成轮次对应的目标随机系数为除前一轮随机数生成轮次对应的目标随机系数外小于等于被除数的任一整数,例如5,第三轮随机数生成轮次为7。则第二轮随机数生成轮次以及第三轮随机数生成轮次对应的目标余数可以为5*7 % 10 = 5;7*7 % 10= 9。可得,各随机数生成轮次对应的目标余数分别为:1、5、9,在目标范围的随机数值下限不为0的情况下,需要再各目标余数的基础上加上随机数值下限,得到目标随机数为3、7、11,即依次输出了分布在目标随机范围2-11之间且互不相同的3个随机数。
可选地,在随机素数种子的数量为两个的情况下,两个随机素数种子包括第一随机素数种子以及第二随机素数种子。步骤602可以包括以下步骤:
步骤701、计算所述目标除数与所述被除数的余数,得到第一余数。
步骤702、将所述第一余数与第一随机素数种子的乘积,确定为第一除数;所述第一随机素数是两个随机素数种子中除第二随机素数种子之外的随机素数种子,所述第二随机素数种子是确定所述目标除数时使用的随机素数种子。
步骤703、基于所述第一除数与所述被除数的余数,确定所述随机数生成轮次对应的目标余数。
本发明实施例中,所选随机素数种子会影响结果的表观随机性,为了获得较好的随机效果,在每轮随机数生成轮次中可以进行多次迭代,每次选择不同的随机素数种子,进行迭代计算,以确定目标余数。
在随机素数种子为两个的情况下,计算基于第二随机素数种子与当前随机数生成轮次对应的目标随机系数的目标乘积,即目标除数与被除数的余数,得到第一余数。基于第一余数再次进行迭代,即基于第一余数与第一随机素数种子的乘积,作为第一除数。计算第一除数与被除数的余数,得到当前随机数生成轮次对应的目标余数。其中,第一随机素数是两个随机素数种子中除第二随机素数种子之外的随机素数种子,第二随机素数种子是确定目标除数时使用的随机素数种子。
可以理解的是,在随机素数种子为至少两个的情况下,针对每轮随机数生成轮次,可以基于至少两个随机素数种子进行多次迭代。例如,迭代次数可以为8次,以确保随机数的随机性。具体的,针对每轮随机数生成轮次,目标余数的生成流程可以如下:
A)随机生成k个随机素数种子p1...pk,以及起始目标随机系数i=1,随机数生成数量为N,目标随机范围0至N-1,即被除数为N;
B)取第一个随机素数种子p1,计算目标余数y1:y1=p1*i%N
C)取第二个随机素数种子p2,计算余数y2:y2=p2*y1%N
D)取第三个随机素数种子p3,计算目标余数y3:y3=p3*y2%N
......
E)依次取到最后一个随机素数种子pk,计算目标余数xk,即为当前随机数生成轮次输出的第i个目标余数,且由于随机数生成数量等于被除数,相当于xk为输出的第i个不重复的目标随机数。
针对下一轮随机数生成轮次,令i从1变化到N,每次回到B步骤重新计算,即可得到N个目标随机数,这些随机数分布在0到N-1之间,且互不相同。
示例性的,以在目标随机范围0-14之间随机生成15个随机数为例,首先在7.5-30之间随机生成3个随机素数种子分别为:11,17,23,令目标随机系数i从1变化到15,被除数为15,则每轮随机数生成轮次分别基于3个随机素数种子进行迭代的计算结果可以如下(一行代表一轮随机数生成轮次的迭代过程):
1*11%15=11, 11*17%15=7, 7*23%15=11;
2*11%15=7, 7*17%15=14, 14*23%15=7;
3*11%15=3, 3*17%15=6, 6*23%15=3;
4*11%15=14, 14*17%15=13, 13*23%15=14;
5*11%15=10, 10*17%15=5, 5*23%15=10;
6*11%15=6, 6*17%15=12, 12*23%15=6;
7*11%15=2, 2*17%15=4, 4*23%15=2;
8*11%15=13, 13*17%15=11, 11*23%15=13;
9*11%15=9, 9*17%15=3, 3*23%15=9;
10*11%15=5, 5*17%15=10, 10*23%15=5;
11*11%15=1, 1*17%15=2, 2*23%15=1;
12*11%15=12, 12*17%15=9, 9*23%15=12;
13*11%15=8, 8*17%15=1, 1*23%15=8;
14*11%15=4, 4*17%15=8, 8*23%15=4;
15*11%15=0, 0*17%15=0, 0*23%15=0。
可得,每轮输出的目标余数为:11,7,3,14,10,6,2,13,9,5,1,12,8,4,0。相应的,由于随机数值下限为0,则可以直接将目标余数确定为目标随机数,即得到随机分布在0-14之间的15个目标随机数11,7,3,14,10,6,2,13,9,5,1,12,8,4,0。
本发明实施例中,通过在每轮随机数生成轮次中进行多次迭代,提高了随机数的质量,使得随机数更接近于白噪声。
在一种可能的实施方式中,本发明实施例的随机数生成过程可以在芯片中的IP(Intellectual Property),也即具有知识产权的集成电路模块,也可以称为IP核(IPCore)中基于硬件电路实现,具体的,可以使用乘法器电路、除法电路以及取余电路实现,将乘法器电路、除法电路以及取余电路作为1个变换器单元。在一个随机数生成轮次中随机素数种子为1个,即只需要进行一次迭代的情况下,随机数生成器可以包括1个变换器单元。在一个随机数生成轮次中随机素数种子为至少两个,即需要进行多次迭代的情况下,随机数生成器可以包括多个变换器单元,多个变换器单元之间串联连接,用于基于至少两个随机素数种子进行多次迭代,每个变换器单元可以使用一个随机素数种子进行取余计算,并将本次取余计算的结果传递至下一变换器单元,直至迭代结束,将最后一个变换器单元计算得到的余数确定为当前随机数生成轮次对应的目标余数,完成一次当前随机数生成轮次的随机数生成过程。这样,可以用较低的硬件电路成本实现不重复随机数生成,降低了流片成本。同时,可以通过调整变换器单元的数量以调整迭代次数,以得到不同的随机数生成效果。
参照图2,示出了本发明实施例提供的一种随机数的生成装置的框图,如图2所示,该装置具体可以包括:
第一确定模块801,用于响应于随机数生成指令,基于所述随机数生成指令,确定随机数生成轮数、被除数以及随机素数种子;
第二确定模块802,用于针对任一随机数生成轮次,基于目标乘积以及所述被除数,确定所述随机数生成轮次对应的目标余数;所述目标乘积是基于所述随机素数种子与所述随机数生成轮次对应的目标随机系数得到的,不同随机数生成轮次对应的目标随机系数不同;
第三确定模块803,用于在达到所述随机数生成轮数的情况下,基于多个所述随机数生成轮次对应的目标余数,确定多个目标随机数。
本发明实施例提供了一种随机数的生成装置,响应于随机数生成指令,基于随机数生成指令,确定随机数生成轮数、被除数以及随机素数种子;针对任一随机数生成轮次,基于目标乘积以及被除数,确定随机数生成轮次对应的目标余数;目标乘积是基于随机素数种子与随机数生成轮次对应的目标随机系数得到的,不同随机数生成轮次对应的目标随机系数不同;在达到随机数生成轮数的情况下,基于多个随机数生成轮次对应的目标余数,确定多个目标随机数。这样,通过在每轮随机数生成轮次中,基于随机素数种子与当前随机数生成轮次对应的目标随机系数的目标乘积以及被除数进行取余计算,进而基于得到的目标余数确定目标随机数,可以确保不同随机数生成轮次得到的目标余数互不相同,进而确保多个目标随机数互不相同。由于本发明实施例可以直接通过多轮随机数生成轮次直接得到互不相同的目标随机数,无需通过逐个与历史随机数比较以确定随机数是否重复,降低了随机数生成过程所需花费的时间,提高了随机数生成效率。同时,无需设置列表存储历史随机数以确保随机性,本发明实施例在确保随机数的随机性的同时,节省了存储空间。
可选地,所述装置还包括:
第四确定模块,用于基于随机数生成需求中的随机数生成数量以及目标随机范围,确定所述随机数生成轮数以及所述被除数;
第一生成模块,用于随机生成所述随机素数种子;
第二生成模块,用于基于所述随机数生成轮数、所述被除数以及所述随机素数种子,生成所述随机数生成指令。
可选地,所述第四确定模块,包括:
第一解析模块,用于对所述随机数生成需求进行解析,得到随机数生成数量以及目标随机范围;所述随机数生成数量小于等于所述目标随机范围内所包含的数值的目标数量;
第一确定子模块,用于将所述随机数生成数量确定为所述随机数生成轮数;
第二确定子模块,用于基于所述目标数量,确定所述被除数。
可选地,所述第一生成模块,包括:
第三确定子模块,用于将所述被除数的一半确定为随机种子生成下限,以及,将所述被除数的两倍确定为随机种子生成上限;
第一选择模块,用于在所述随机种子生成上限以及所述随机种子生成下限中随机选择素数,作为所述随机素数种子。
可选地,所述第二确定模块802,包括:
第四确定子模块,用于在所述随机数生成轮次为初始随机数生成轮次的情况下,计算所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,作为目标除数;
第五确定子模块,用于基于所述目标除数与所述被除数的余数,确定所述随机数生成轮次对应的目标余数;
第六确定子模块,用于基于所述随机数生成轮次对应的目标随机系数,确定下一随机数生成轮次对应的目标随机系数;
第一执行模块,用于基于所述下一随机数生成轮次对应的目标随机系数,从所述计算所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,作为目标除数重新执行,直至达到所述随机数生成轮数。
可选地,在所述目标随机范围中的随机数值下限不为0的情况下,所述第三确定模块803,包括:
第一计算模块,用于针对任一所述随机数生成轮次对应的目标余数,将所述随机数生成轮次对应的目标余数与所述随机数值下限的数值相加,得到所述目标随机数。
可选地,在所述随机素数种子的数量为两个的情况下,所述第五确定子模块,包括:
第二计算模块,用于计算所述目标除数与所述被除数的余数,得到第一余数;
第七确定子模块,用于将所述第一余数与第一随机素数种子的乘积,确定为第一除数;所述第一随机素数是两个随机素数种子中除第二随机素数种子之外的随机素数种子,所述第二随机素数种子是确定所述目标除数时使用的随机素数种子;
第八确定子模块,用于基于所述第一除数与所述被除数的余数,确定所述随机数生成轮次对应的目标余数。
参照图3,是本发明实施例提供的电子设备的结构示意图。如图3所示,所述电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述实施例的随机数的生成方法。可执行指令可以组成程序。
本发明实施例提供了一种可读存储介质,其上存储有可执行指令,当由一个或多个处理器执行时,使得所述处理器执行前述实施例的随机数的生成方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。需要指出的是,本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种指令流文件生成方法、一种指令流文件生成装置、一种电子设备及一种可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种随机数的生成方法,其特征在于,所述方法包括:
对随机数生成需求进行解析,得到随机数生成数量以及目标随机范围;所述随机数生成数量小于等于所述目标随机范围内所包含的数值的目标数量;
将所述随机数生成数量确定为随机数生成轮数;
基于所述目标数量,确定除数;
随机生成随机素数种子;
基于所述随机数生成轮数、所述除数以及所述随机素数种子,生成随机数生成指令;
响应于所述随机数生成指令,针对任一随机数生成轮次,基于所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,确定目标被除数,并对所述目标被除数以及所述除数进行取余计算,确定所述随机数生成轮次对应的目标余数;不同随机数生成轮次对应的目标随机系数不同,所述目标随机系数为小于等于除数的整数;
在达到所述随机数生成轮数的情况下,基于多个所述随机数生成轮次对应的目标余数,确定多个目标随机数。
2.根据权利要求1所述的方法,其特征在于,所述随机生成随机素数种子,包括:
将所述除数的一半确定为随机种子生成下限,以及,将所述除数的两倍确定为随机种子生成上限;
在所述随机种子生成上限以及所述随机种子生成下限中随机选择素数,作为所述随机素数种子。
3.根据权利要求1所述的方法,其特征在于,所述基于所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,确定目标被除数,并对所述目标被除数以及所述除数进行取余计算,确定所述随机数生成轮次对应的目标余数,包括:
在所述随机数生成轮次为初始随机数生成轮次的情况下,计算所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,作为目标被除数;
对所述目标被除数与所述除数进行取余计算,确定所述随机数生成轮次对应的目标余数;
基于所述随机数生成轮次对应的目标随机系数,确定下一随机数生成轮次对应的目标随机系数;
基于所述下一随机数生成轮次对应的目标随机系数,从所述计算所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,作为目标被除数重新执行,直至达到所述随机数生成轮数。
4.根据权利要求1所述的方法,其特征在于,在所述目标随机范围中的随机数值下限不为0的情况下,所述基于多个所述随机数生成轮次对应的目标余数,确定多个目标随机数,包括:
针对任一所述随机数生成轮次对应的目标余数,将所述随机数生成轮次对应的目标余数与所述随机数值下限的数值相加,得到所述目标随机数。
5.根据权利要求3所述的方法,其特征在于,在所述随机素数种子的数量为两个的情况下,所述对所述目标被除数与所述除数进行取余计算,确定所述随机数生成轮次对应的目标余数,包括:
计算所述目标被除数与所述除数的余数,得到第一余数;
将所述第一余数与第一随机素数种子的乘积,确定为第一被除数;所述第一随机素数是两个随机素数种子中除第二随机素数种子之外的随机素数种子,所述第二随机素数种子是确定所述目标被除数时使用的随机素数种子;
基于所述第一被除数与所述除数的余数,确定所述随机数生成轮次对应的目标余数。
6.一种随机数的生成装置,其特征在于,所述装置包括:
用于对随机数生成需求进行解析,得到随机数生成数量以及目标随机范围的模块;所述随机数生成数量小于等于所述目标随机范围内所包含的数值的目标数量;
用于将所述随机数生成数量确定为随机数生成轮数的模块;
用于基于所述目标数量,确定除数的模块;
用于随机生成随机素数种子的模块;
用于基于所述随机数生成轮数、所述除数以及所述随机素数种子,生成随机数生成指令的模块;
用于响应于所述随机数生成指令,针对任一随机数生成轮次,基于所述随机素数种子与所述随机数生成轮次对应的目标随机系数的目标乘积,确定目标被除数,并对所述目标被除数以及所述除数进行取余计算,确定所述随机数生成轮次对应的目标余数的模块;不同随机数生成轮次对应的目标随机系数不同,所述目标随机系数为小于等于除数的整数;
用于在达到所述随机数生成轮数的情况下,基于多个所述随机数生成轮次对应的目标余数,确定多个目标随机数的模块。
7.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至5中任一项所述的随机数的生成方法。
8.一种可读存储介质,其特征在于,其上存储有可执行指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1至5中任一项所述的随机数的生成方法。
CN202510350521.8A 2025-03-24 2025-03-24 随机数的生成方法、装置、电子设备及存储介质 Active CN119861903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202510350521.8A CN119861903B (zh) 2025-03-24 2025-03-24 随机数的生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202510350521.8A CN119861903B (zh) 2025-03-24 2025-03-24 随机数的生成方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN119861903A CN119861903A (zh) 2025-04-22
CN119861903B true CN119861903B (zh) 2025-06-27

Family

ID=95393186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202510350521.8A Active CN119861903B (zh) 2025-03-24 2025-03-24 随机数的生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN119861903B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553659A (zh) * 2016-01-15 2016-05-04 福建超瑞创原信息技术有限公司 一种快速生成大素数的方法和装置
CN116243887A (zh) * 2022-12-06 2023-06-09 北京海泰方圆科技股份有限公司 软件随机数生成方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11109859A (ja) * 1997-10-06 1999-04-23 Nec Corp 擬似乱数発生方法および装置
JP3661663B2 (ja) * 2002-04-19 2005-06-15 日本電気株式会社 乱数生成装置、乱数生成方法、乱数生成プログラムおよびオーディオ復号装置と復号方法
FR2897964B1 (fr) * 2006-02-28 2017-01-13 Atmel Corp Procede de calcul numerique incluant la division euclidienne
CN119225912A (zh) * 2023-06-29 2024-12-31 腾讯科技(深圳)有限公司 基于区块链的多方计算验证方法、装置、设备及存储介质
CN117873431B (zh) * 2024-03-13 2024-07-16 杭州金智塔科技有限公司 基于国密sm4算法的随机数生成方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105553659A (zh) * 2016-01-15 2016-05-04 福建超瑞创原信息技术有限公司 一种快速生成大素数的方法和装置
CN116243887A (zh) * 2022-12-06 2023-06-09 北京海泰方圆科技股份有限公司 软件随机数生成方法及装置

Also Published As

Publication number Publication date
CN119861903A (zh) 2025-04-22

Similar Documents

Publication Publication Date Title
US11403284B2 (en) System for data sharing platform based on distributed data sharing environment based on block chain, method of searching for data in the system, and method of providing search index in the system
CN110262773B (zh) 一种计算机数据处理方法及装置
TWI772842B (zh) 用於判定一n維張量之元素之記憶體位址之設備、系統、及方法
EP3321819B1 (en) Device, method and program for securely reducing an amount of records in a database
CN106327340B (zh) 一种金融网络的异常节点集合侦测方法及装置
CN111932257B (zh) 一种区块链并行化处理方法及装置
US20150120797A1 (en) Methods, systems, and computer readable media for selecting numbers from multiple ranges
CN113141255B (zh) 用于在处理设备、对应的处理设备和计算机程序产品中对数据执行密码运算的方法
US20210149985A1 (en) Method and apparatus for processing large-scale distributed matrix product
CN114138231A (zh) 执行矩阵乘法运算的方法、电路及soc
CN107122303B (zh) 一种测试方法及装置
CN113347249B (zh) 一种作业加载方法、装置及设备
CN111160560A (zh) 预估模拟量子计算所需资源的方法、系统
CN119861903B (zh) 随机数的生成方法、装置、电子设备及存储介质
CN110119265A (zh) 乘法运算实现方法、装置、计算机存储介质及电子设备
CN112464157B (zh) 向量排序方法与排序系统
CN116225373A (zh) 一种数据处理方法、装置、计算机设备及存储介质
Jang et al. An efficient SNARK for field-programmable and RAM circuits
CN112182593A (zh) 一种数据处理方法、装置和电子设备
CN116488829A (zh) 一种基于零知识证明的二层数据校验方法、设备及存储介质
CN111461178B (zh) 数据处理方法、系统及装置
CN119440480B (zh) 一种用于程序合成的方法及装置
CN112035850B (zh) 一种数据处理方法、装置和电子设备
CN114595486B (zh) 零数据识别方法、装置、可读存储介质及电子设备
CN114003667B (zh) 一种高效并行数据对齐方法、系统及装置

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