CN113835679A - 一种随机数的生成方法、装置及系统 - Google Patents

一种随机数的生成方法、装置及系统 Download PDF

Info

Publication number
CN113835679A
CN113835679A CN202111162914.4A CN202111162914A CN113835679A CN 113835679 A CN113835679 A CN 113835679A CN 202111162914 A CN202111162914 A CN 202111162914A CN 113835679 A CN113835679 A CN 113835679A
Authority
CN
China
Prior art keywords
random number
time period
unit time
generation mode
random numbers
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.)
Granted
Application number
CN202111162914.4A
Other languages
English (en)
Other versions
CN113835679B (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 Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
Original Assignee
Beijing Eswin Computing Technology Co Ltd
Haining Eswin IC Design Co Ltd
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 Eswin Computing Technology Co Ltd, Haining Eswin IC Design Co Ltd filed Critical Beijing Eswin Computing Technology Co Ltd
Priority to CN202111162914.4A priority Critical patent/CN113835679B/zh
Publication of CN113835679A publication Critical patent/CN113835679A/zh
Application granted granted Critical
Publication of CN113835679B publication Critical patent/CN113835679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Pinball Game Machines (AREA)

Abstract

本发明公开了一种随机数的生成方法、装置及系统,涉及安全芯片制作技术领域,满足日益对随机数的随机性和不可预测性的高质量需求。本发明的主要技术方案为:获取第一单位时间段内生成的随机数个数;通过将第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,第二单位时间段是与第一单位时间段相邻的后一个单位时间段,随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式,根据所选择的第二单位时间段内对应的随机数生成模式,生成随机数。

Description

一种随机数的生成方法、装置及系统
技术领域
本发明涉及安全芯片制作领域,尤其涉及一种随机数的生成方法、装置及系统。
背景技术
在网络安全技术领域,特别是涉及到加密协议,数据通讯等方面,系统对随机数的要求较高,需要满足随机数不可重复性,不可预测性的基本要求。随机数主要是依赖随机数生成器而得到的,随机数生成器分为真随机数生成器和伪随机数生成器,以下对真随机数生成器和伪随机数生成器的优缺点进行简单的介绍:
真随机数生成器熵源的采集通常是从物理噪声中获得初始随机数据,最终生成真随机数质量较高,但随机数生成机制通常基于数字逻辑硬件实现,因此生成速度较慢。
伪随机数生成器是依赖种子和具体生成随机数算法实现的,生成的随机数质量严重依赖种子的发生与算法的质量,但是伪随机数的生成也存在生成速度较快的优点。
目前,可以利用真随机数生成器和伪随机数生成器的优点而将两者结合实现随机数的生成方法,例如,利用真随机数生成器生成可信度更好的种子,将种子传入伪随机数生成器的算法中处理,以期望提高生成随机数的速度。
但是,该方法仍然是依赖伪随机数生成器的算法所实现的,最终生成的随机数仍然是伪随机数,只是相当于对单独使用伪随机数生成器生成伪随机数进行的优化方案而已,得到的伪随机数质量虽有提高,但仍然只是伪随机数,难以满足日益对随机数的随机性和不可预测性的高质量需求。
发明内容
有鉴于此,本发明提供了一种随机数的生成方法、装置及系统,主要目的在于随着单位时间段内需求随机数个数多少变化,切换不同随机数生成器参与生成随机数操作,能够灵活地满足不同生成随机数数量的需求,以及根据不同需求,得到随机数可以既有真随机数又有伪随机数,从而加强了生成随机数的随机性和不可预测性。
为了达到上述目的,本发明主要提供如下技术方案:
本申请第一方面提供了一种随机数的生成方法,该方法包括:
获取第一单位时间段内生成的随机数个数;
通过将所述第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,所述第二单位时间段是与所述第一单位时间段相邻的后一个单位时间段,所述随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式。
根据所选择的所述第二单位时间段内对应的随机数生成模式,生成随机数。
在本申请第一方面的一些变更实施方式中,所述通过将所述第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,包括:
若累计所述第一单位时间段内生成的随机数个数小于或等于所述第一阈值,则确定在所述第二单位时间段内选择所述第一生成模式;
若累计所述第一单位时间段内生成的随机数个数大于所述第一阈值且小于所述第二阈值,则确定在所述第二单位时间段内选择所述第二生成模式;
若累计所述第一单位时间段内生成的随机数个数大于或等于所述第二阈值,则确定在所述第二单位时间段内选择所述第三生成模式。
在本申请第一方面的一些变更实施方式中,若确定在所述第二单位时间段内选择了所述第二生成模式,则所述根据所选择的所述第二单位时间段内对应的随机数生成模式,生成随机数,包括:
在所述第二单位时间段内接收随机数生成请求信息;
响应于所述随机数生成请求信息,按照随机数种子在第一种子存储池中的排列顺序,从所述排列顺序中逐个获取目标种子,所述第一种子存储池存储了以0和1组成的随机数种子序列;
通过识别所述目标种子在所述随机数种子序列中对应的比特位,切换调用真随机数生成器或伪随机数生成器执行生成随机数操作,得到生成的随机数。
在本申请第一方面的一些变更实施方式中,所述通过识别所述目标种子在所述随机数种子序列中对应的比特位,切换调用真随机数生成器或伪随机数生成器执行生成随机数操作,得到生成的随机数,包括:
若识别所述目标种子在所述随机数种子序列中对应的比特位为0,则选择真随机数生成器执行生成随机数操作,得到生成的随机数;若识别所述目标种子在所述随机数种子序列中对应的比特位为1,则选择伪随机数生成器执行生成随机数操作,得到生成的随机数;或者,
若识别所述目标种子在所述随机数种子序列中对应的比特位为1,则选择真随机数生成器执行生成随机数操作,得到生成的随机数;若识别所述目标种子在所述随机数种子序列中对应的比特位为0,则选择伪随机数生成器执行生成随机数操作,得到生成的随机数
在本申请第一方面的一些变更实施方式中,所述方法还包括:
利用物理传感器收集物理噪声;
利用种子生成器处理所述物理噪声,生成随机数种子;
将多个所述随机数种子划分成三组;
将第一组随机数种子存储到所述第一种子存储池中,所述第一种子存储池用于支持所述第二生成模式生成随机数;
将第二组随机数种子存储到第二种子存储池中,所述第二种子存储池内的随机数种子不可复用,用于支持所述第一生成模式生成随机数;
将第三组随机数种子存储到第三种子存储池中,所述第三种子存储池内的随机数种子可复用,用于支持所述第三生成模式生成随机数。
本申请第二方面提供了一种随机数的生成装置,该装置包括:
获取单元,用于获取第一单位时间段内生成的随机数个数;
判断单元,用于通过将所述获取单元获取到的第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,所述第二单位时间段是与所述第一单位时间段相邻的后一个单位时间段,所述随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式。
生成单元,用于根据所述判断单元所选择的所述第二单位时间段内对应的随机数生成模式,生成随机数。
在本申请第二方面的一些变更实施方式中,所述判断单元包括:
累计模块,用于累计所述第一单位时间段内生成的随机数个数小于或等于所述第一阈值、或累计所述第一单位时间段内生成的随机数个数大于所述第一阈值且小于所述第二阈值、或累计所述第一单位时间段内生成的随机数个数大于或等于所述第二阈值;
确定模块,用于当累计所述第一单位时间段内生成的随机数个数小于或等于所述第一阈值时,则确定在所述第二单位时间段内选择所述第一生成模式;或,
当累计所述第一单位时间段内生成的随机数个数大于所述第一阈值且小于所述第二阈值时,确定在所述第二单位时间段内选择所述第二生成模式;或,
当累计所述第一单位时间段内生成的随机数个数大于或等于所述第二阈值时,确定在所述第二单位时间段内选择所述第三生成模式。
本申请第三方面提供了一种随机数的生成系统,应用于如上所述的随机数的生成方法,所述系统包括:
物理传感器,用于采集物理噪声;
种子生成器,连接所述物理传感器,用于根据所述物理噪声生成随机数种子;
种子存储池,连接所述种子生成器,用于存储所述随机数种子;
真随机数生成器,连接所述种子存储池,用于根据所述随机数种子生成真随机数;
伪随机数生成器,连接所述种子存储池,用于根据所述随机数种子生成伪随机数;
计数器,连接所述真随机数生成器和所述伪随机数生成器,用于累计单位时间段内生成随机数个数;
控制电路,连接所述计数器、所述真随机数生成器和所述伪随机数生成器,用于通过将所述第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,所述第二单位时间段是与所述第一单位时间段相邻的后一个单位时间段,所述随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的随机数的生成方法。
本申请第五方面提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的随机数的生成方法。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供了一种随机数的生成方法、装置及系统,本发明是首先获取一个单位时间段内生成随机数个数,然后利用该单位时间段内生成随机数个数与两个阈值进行比较,从而判断相邻的后一个单位时间段内所需选择的随机数生成模式,具体是在从第一生成模式(即只使用真随机数生成器生成随机数的生成模式)、第二生成模式(即混合使用真随机数生成器和伪随机数生成器生成随机数的生成模式)、第三生成模式(即只使用伪随机数生成器生成随机数的生成模式)中选择一种生成模式,去执行生成随机数操作。本发明是根据前一个时间段内生成随机数个数去选择相邻后一个单位时间段内的随机数生成模式以执行相应生成随机数操作,继而相当于是根据前一个时间段内生成随机数个数预判了当下随机数生成需求,从而根据不同需求切换选择不同随机数生成器参与生成随机数操作,得到随机数可以既有真随机数又有伪随机数,从而加强了生成随机数的随机性和不可预测性。相较于现有技术,解决了现有方法只是对伪随机数生成器应用的优化而得到的仍是伪随机数,导致了难以满足日益对随机数的随机性和不可预测性的高质量需求的技术问题。本发明能够灵活地满足不同生成随机数数量的需求,同时也提高了生成随机数的质量。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种随机数的生成方法流程图;
图2为本发明实施例提供的另一种随机数的生成方法流程图;
图3为本发明实施例提供的随机数的生成系统的框架示意图;
图4为本发明实施例提供的随机数的生成方法流程示意图;
图5为本发明实施例提供的一种随机数的生成装置的组成框图;
图6为本发明实施例提供的另一种随机数的生成装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种随机数的生成方法,该方法的执行主体为设备上的随机数生成功能模块,这个随机数生成功能模块主要的作用就是生成随机数,以支持其他功能模块获取随机数以及利用随机数实现相关加密应用服务的需求。本发明实施例提供的方法主要是根据前一个单位时间段内累计生成随机数个数,进一步确定切换选择在相邻的后一个单位时间段内由什么样的随机数生成器而执行生成随机数操作,如图1所示,对此本发明实施例提供以下具体步骤:
101、获取第一单位时间段内生成的随机数个数。
其中,需要说明的是,本发明实施例所指的“第一单位时间段”可以是一个随机数生成功能模块初始工作的第一个单位时间段,也可以是在随机数功能模块工作的过程中任选的一个单位时间段,本发明实施例强调“第一单位时间段”目的是相较于后续提及的“第二单位时间段”而言的,并且以“第一”和“第二”目的是区别指代具有时间先后顺序的相邻个两个单位时间段。
其中,随机数生成功能模块安置在硬件设备的电路板里,在电路板上电后,随机数生成功能模块启动开始工作。随机数生成功能模块会不断地接收到其他功能模块发送的随机数生成请求信息,具体的,随机数生成功能模块接收到随机数生成请求信息对应的时间间隔,还是依赖于其他功能模块具体实际业务需求而定。
在本发明实施例中,如果“第一单位时间段”是随机数生成功能模块初始工作对应的第一个单位时间段,那么当接收到随机数生成请求信息时就可以立即执行生成随机数操作,具体的,可以只选择真随机数生成器或只选择伪随机数生成器参与生成随机数操作,又或者可以选择这两个随机数生成器参与执行操作。但优选的,由于是初始单位时间段,如果接收到生成随机数请求信息比较少,又或者出于生成更高随机数质量的考虑,优先的,只选择真随机数生成器执行生成随机数操作。
示例性的,这个初始单位时间段可以为随机数生成功能模块刚启动的第一个单位时间段,此时随机数生成功能模块刚启动工作时还未生成随机数,初始工作状态中接收到的随机数生成请求信息也会相对较少些,那么对生成随机数的速度要求也不会过高,此时可以只选择真随机数生成器执行操作满足需求,即:应该更侧重考虑生成随机数的质量,而不是速度,所以调用真随机数生成器生成真随机数。
在本发明实施例中,如果“第一单位时间段”不是随机数生成功能模块初始工作对应的第一个单位时间段,那么该“第一单位时间段”也会存在相邻的前一个单位时间段,那么具体则根据下述步骤102的解释说明,本“第一单位时间段”相当于是某个单位时间段对应的相邻的后有一个单位时间段,因此本“第一单位时间段”也会遵循步骤102的具体实施方法执行生成随机数操作,具体陈述参见如下步骤102。
102、通过将第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式。
其中,第二单位时间段是与第一单位时间段相邻的后一个单位时间段,随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式。
在本发明实施例中,对于不同实际业务需求,单位时间段内随机数生成功能模块可能会不断接收到大量随机数生成请求信息,对于这些大量随机数生成请求信息如果先统计需求数量,再生成随机数操作,难免会耗费大量处理成本,以及进一步的即使接收到了随机数生成请求信息但也会发生未成功生成随机数的异常情况,等等诸多因素。因此为了节约随机数生成功能模块的处理成本,提高处理效率,本发明实施例不去根据随机数生成请求信息去统计随机数需求的个数而立即生成随机数,而选择了一种代替的操作方法为:以前一个单位时间段内生成的随机数个数去预判相邻的后一个单位时间段内对于随机数的需求量。
这主要是因为在随机数生成器不断接收到随机数生成请求信息的过程中,假设接收到请求信息就立即去生成随机数,那么经分析一段时间范围的随机数个数生成情况可知:随着单位时间被划分的越细微(如单位时间为1毫秒),那么相邻单位时间段内生成随机数个数之间数量差越小,因此就可以利用前一个单位时间段已生成的随机数个数预判相邻的后一个单位时间段内需求随机数个数是“需求较少”、“需求一般”或“需求较大”了。
以及进一步的,本发明实施例给出选择哪种随机数生成模式的具体实施方法为:将前一个单位时间段内已经生成的随机数个数与两个阈值进行比较,根据比较结果去判断前一个单位时间段内生成随机数个数是多或少,继而预判相邻后一个单位时间段内随机数需求量是多或少,来选择不同随机数生成模式。
对于上述提及的三种随机数生成模式,只使用真随机数生成器执行操作,得到随机数质量高但效率低;只使用伪随机数生成器执行操作,得到随机数数量多,即效率高但质量不如真随机数。因此第一生成模式适合“随机数需求量少”的生成随机数操作;第二生成模式适合“随机数需求量一般或适中”的生成随机数操作;第三生成模式适合“随机数需求量较大”的生成随机数操作。
103、根据所选择的第二单位时间段内对应的随机数生成模式,生成随机数。
在本发明实施例中,根据步骤102判断选择出第二单位时间段内所需随机数生成模式,执行生成随机数操作。
以上,本发明实施例提供了一种随机数的生成方法,本发明实施例是首先获取一个单位时间段内生成随机数个数,然后利用该单位时间段内生成随机数个数与两个阈值进行比较,从而判断相邻的后一个单位时间段内所需选择的随机数生成模式,具体是在从第一生成模式(即只使用真随机数生成器生成随机数的生成模式)、第二生成模式(即混合使用真随机数生成器和伪随机数生成器生成随机数的生成模式)、第三生成模式(即只使用伪随机数生成器生成随机数的生成模式)中选择一种生成模式,去执行生成随机数操作。本发明实施例是根据前一个时间段内生成随机数个数去选择相邻后一个单位时间段内的随机数生成模式以执行相应生成随机数操作,继而相当于是根据前一个时间段内生成随机数个数预判了当下随机数生成需求,从而根据不同需求切换选择不同随机数生成器参与生成随机数操作,得到随机数可以既有真随机数又有伪随机数,从而加强了生成随机数的随机性和不可预测性。相较于现有技术,解决了现有方法只是对伪随机数生成器应用的优化而得到的仍是伪随机数,导致了难以满足日益对随机数的随机性和不可预测性的高质量需求的技术问题。本发明实施例能够灵活地满足不同生成随机数数量的需求,同时也提高了生成随机数的质量。
为了对上述实施例做出更加详细的说明,本发明实施例还提供了另一种随机数的生成方法,如图2所示,该方法是对上述实施例的细化陈述或补充陈述,对此本发明实施例提供以下具体步骤:
201、获取第一单位时间段内生成的随机数个数。
在本发明实施例中,对本步骤的陈述,参见步骤101,此处不再赘述。
202a、若累计第一单位时间段内生成的随机数个数小于或等于第一阈值,则确定在第二单位时间段内选择第一生成模式,该第一生成模式为调用真随机数生成器生成随机数。
其中,第一阈值和第二阈值是需要根据具体硬件架构及芯片计算能力进行适当设置的,主要依据为系统满载荷生成真随机数的能力,不同硬件架构可以对这两个值灵活设置。比如,对于一个芯片,满载荷生成真随机数的能力为单位时间段内生成M个,那么可以将M的80%,设置为第二阈值,将M的40%设置为第一阈值。
在本发明实施例中,利用第一单位时间段内生成的真随机数个数与第一阈值和第二阈值比较,继而衡量这个真随机数个数是符合“生成较少”或“生成一般”或“生成较多”中哪个标准,由于本发明实施例是利用前一个单位时间段内生成随机数个数预判后一个单位时间段内随机数的需求量,因此利用上述与与第一阈值和第二阈值比较操作,也就间接地相当于衡量预判了后一个单位时间段随机数的需求量符合“需求较少”或“需求一般”或“需求较多”中哪个标准。
示例性的,若第一单位时间段内生成的真随机数个数小于或等于第一阈值,则判定这个真随机数个数是符合“生成较少”,相应的,衡量预判了后一个单位时间段随机数的需求量符合“需求较少”的标准。
若第一单位时间段内生成的真随机数个数大于或等于第二阈值,则判定这个真随机数个数是符合“生成较多”,相应的,衡量预判了后一个单位时间段随机数的需求量符合“需求较多”的标准。
若第一单位时间段内生成的真随机数个数大于第一阈值且小于第二阈值,则判定这个真随机数个数是符合“生成一般”,相应的,衡量预判了后一个单位时间段随机数的需求量符合“需求一般”的标准。
在本发明实施例中,若累计第一单位时间段内对应生成的真随机数个数小于或等于第一阈值,相应地会衡量预判第二单位时间段内随机数需求量为“需求较少”,所以此时可以选择只调用真随机数生成器在第二单位时间段内执行生成真随机数操作,即优先考虑生成质量更好的随机数,同时由于需求量较少,所以即使利用真随机数生成器执行操作不如伪随机数生成器效率高,但最终也不会在满足随机数需求量上造成什么不利影响。
202b、若累计第一单位时间段内生成的随机数个数大于第一阈值且小于第二阈值,则确定在第二单位时间段内选择第二生成模式,该第二生成模式为调用真随机数生成器和伪随机数生成器生成随机数。
在本发明实施例中,若累计第一单位时间段内对应生成的真随机数个数大于第一阈值且小于第二阈值时,相应地衡量预判第二单位时间段内随机数需求量为“需求一般”,所以此时不必优先考虑随机数质量或速度,可以调用真随机数生成器和伪随机数生成器在第二单位时间段内执行生成随机数操作。
示例性的,假设衡量预判第二单位时间段内随机数需求量为2000个,则可以考虑其中的50%利用真随机数生成器操作,而其他50%利用伪随机数生成器操作,据此实现了真随机数生成器和伪随机数生成器的组合协同操作,但具体的如何具体地实现这种组合协同操作,以上50%对50%仅是一种例举,本发明实施例不做限定。
202c、若累计第一单位时间段内生成的随机数个数大于或等于第二阈值,则确定在第二单位时间段内选择第三生成模式,该第三生成模式为调用伪随机数生成器生成随机数。
在本发明实施例中,若累计第一单位时间段内对应生成的真随机数个数大于或等于第二阈值时,相应地会衡量预判第二单位时间段内随机数需求量为“需求较多”,所以此时应该优先考虑随机数生成效率,从而可以选择只调用伪随机数生成器在第二单位时间段内执行生成伪随机数操作。
203、根据所选择的第二单位时间段内对应的随机数生成模式,生成随机数。
需要说明的是,生成随机数是需要使用随机数种子的,那么首先具体解释下生成并存储随机数种子的具体实施方法,可以包括如下:
首先,利用物理传感器收集物理噪声,比如:环境中的声噪声,光噪声,电路元件里的点噪声。收集到的噪声,此时为模拟信号。
其次,利用种子生成器处理物理噪声,生成随机数种子。具体包括:对收集到物理噪声对应的模拟信号,进入放大信号处理,再经过模数转换操作转换为数字电信号,再经过一些复杂过程(如:锁相环来保持信号,经过比较器判定信号为0还是1,校验器对随机数进行校验),最终生成了以0和1序列组成的随机数种子。
最后,将生成的大量随机数种子划分成三组,相应构建三个不同种子存储池,以分别用于支持三种随机数生成模式。
示例性的,划分成组的方式为不平均分,分别为包含种子较少、一般和比较多的三组。应对于上述提及的不同三种随机数生成模式,本发明将不同数量组的种子存储到不同存储池内,以用于支持不同随机数生成模式所提供的随机数生成服务,具体解释说明如下:
示例性的,种子存储池,也就是种子存储器,可以为flash存储器或先进先出(First Input First Output,FIFO)存储器,利用这两种存储器,掉电后不擦除,这样掉电之前种子存储池内随机数种子,在下次上电后仍可以使用。
由于第一生成模式是适应于随机数需求量较少的情况,目的是优先要求生成随机数质量而非速度,且生成的是真随机数。那么可以选择将包含随机数种子较少的一组种子存储到FIFO存储器内,构建一个种子存储池,并且设置该组内随机数种子不可复用,即这个种子存储池内随机数种子只能被使用一次,若所有种子都被使用过,则需要等待种子生成器生成新的种子并补充进来。如此操作目的是,加强了生成真随机数的随机性和不可预测性。
由于第二生成模式是适应于随机数需求量一般的情况,目的是尽量平衡生成随机数质量和速度两个因素,且生成的随机数中包含了真随机数和伪随机数。那么可以将三组种子数量中排位在中间的一组种子存储到FIFO存储器,构建一个种子存储池。并且设置该组内随机数种子不可复用,该组内种子主要用于生成真随机数和伪随机数。
由于第三生成模式是适应于当随机数需求量较多的情况,目的是优先考虑生成随机数的速度而非质量,且生成的是伪随机数。那么可以选择将包含随机数种子较多的一组种子存储到flash存储器,构建一个种子存储池,并且设置该组内随机数种子可以复用,即当种子使用速度太快而来不及补充时,可以继续使用已用过的种子生成伪随机数。此处操作目的是,提高了生成伪随机数的效率。
下面,在本发明实施例中,对于确定了第二单位时间段对应的随机数生成模式之后,那么应对不同随机数生成模式使用不同种子存储池内种子生成随机数的具体实施方法,进行详细的解释说明如下:
首先是,若确定在第二单位时间段内选择了第一生成模式,那么在第二单位时间段内接收到生成随机数请求信息时,调用随机数生成器从支持第一生成模式的种子存储池中获取随机数种子,以完成生成真随机数操作,该种子存储池内存储随机种子不可被复用,如若被使用完,则需要等待种子生成器生成新的种子并补充进来,再进行下一步执行生成真随机数操作。
其次是,若确定在第二单位时间段内选择了第二生成模式,那么在第二单位时间段内接收到生成随机数请求信息时,调用真随机数生成器和伪机数生成器从支持第二生成模式的种子存储池中获取随机数种子,以完成生成伪随机数操作,具体操作过程步骤,可以包括如下:
第一步骤,在第二单位时间段内接收随机数生成请求信息,响应于随机数生成请求信息,按照种子存储池内随机数种子排列顺序,逐个获取目标种子。
需要说明的是,在支持第二生成模式的种子存储池中是存储了以0和1组成的随机数种子序列,那么当需要从种子存储池中获取一个目标种子时,也是按照这个随机数种子序列的首位至末位的排序而遍历获取的。
第二步骤,通过识别目标种子在随机数种子序列中对应的比特位,切换调用真随机数生成器或伪随机数生成器执行生成随机数操作。
示例性的,若识别目标种子在随机数种子序列中对应的比特位为0,则选择真随机数生成器执行生成随机数操作;若识别目标种子在随机数种子序列中对应的比特位为1,则选择伪随机数生成器执行生成随机数操作。
示例性的,或者也可以是比特位0对应伪随机数生成器操作,比特位1对应对应真随机数生成器操作。
在本发明实施例中,通过识别比特位方式切换是调用真随机数生成器或伪随机数生成器执行生成随机数操作,得到随机数包含真随机数和伪随机数,从而间接加强了第二种随机数生成模式生成随机数的随机性和不可预测性。
最后是,若确定在第二单位时间段内选择了第三生成模式,那么在第二单位时间段内接收到生成随机数请求信息时,调用伪机数生成器从支持第三生成模式的种子存储池中获取随机数种子,以完成生成伪随机数操作。该种子存储池内存储随机种子是可被复用的,但是种子存储池内种子是按照排列顺序被逐个使用的,从而若种子都被使用过,则按照这个排列顺序再被二次使用,以避免出现某些种子被使用次数太多而其他种子被使用次数太少的情况。
以上,需要说明的是,对于将第一单位时间段内生成随机数个数分别与第一阈值、第二阈值进行比较得到比较结果,可以添加flag标识。
示例性的,假设第一单位时间段内生成真随机数个数为N,若N≤第一阈值,则标记flag=-1;若N≥第二阈值,则标记flag=1;若第一阈值<N<第二阈值,则标记flag=0。那么将flag标识与相应随机数生成模式执行绑定,从而在方便于随机数生成功能模块高效的识别到比较结果的同时,也方便于高效地确定根据该比较结果应该应用哪种随机数生成模式。
进一步的,本发明实施例还提供了一个随机数生成系统,应用于如上实施例提供的随机数的生成方法,如图3所示,该系统包括:物理传感器、种子生成器、种子存储池、真随机数生成器、伪随机数生成器、计数器和控制电路。
物理传感器,用于采集物理噪声;
种子生成器,连接物理传感器,用于根据物理噪声生成随机数种子;
种子存储池,连接种子生成器,用于存储随机数种子;
真随机数生成器,连接种子存储池,用于根据随机数种子生成真随机数;
伪随机数生成器,连接种子存储池,用于根据随机数种子生成伪随机数;
计数器,连接真随机数生成器和伪随机数生成器,用于累计单位时间段内生成随机数个数;
控制电路,连接计数器、真随机数生成器和伪随机数生成器,用于通过将第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,第二单位时间段是与第一单位时间段相邻的后一个单位时间段,随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式。
进一步的,结合图3所示的系统,本发明实施例例举了生成随机数的简易流程示意图,如图4。那么基于随机数生成系统(如图3)中控制电路判断的在第二单位时间段内所选择的随机数生成模式,图4中示出了:TRNG指代真随机数生成器,用于在第一生成模式下执行生成随机数操作;PRNG指代伪随机数生成器,用于在第三生成模式下执行生成随机数操作;RNG选择器,用于在第二生成模式下执行随机数生成操作,具体的,在第二生成模式下还是根据从种子存储池中所选择的目标种子在随机数种子序列中对应的比特位为0或1,由RNG选择器执行切换选择是由真随机数生成器执行操作或是由伪随机数生成器执行相应操作。图4中,随机数序列是指前一个单位时间段内流入的随机数组成的序列,根据随机数序列,计数器可以计数对应的随机数个数。
在图4中计数器进行累计前一个单位时间段对应随机数个数,并将累计随机数个数与第一阈值和第二阈值进行比较,根据比较结果就能够预判选取的随机数生成模式(即在第一生成模式、第二生成模式和第三生成模式中三种择一选择)。需要说明的是,得到比较结果后需要对计数器清零,用于方便对相邻的后一个单位时间段内生成随机数个数的累计操作。
如图4所示,根据不同比较结果会确定相邻的后一个单位时间段内选择是由真随机数生成器、伪随机数生成器执行生成随机数操作,又或者是,由RNG选择器执行切换选择是由真随机数生成器生成真随机数或是由伪随机数生成器生成伪随机数。
进一步的,作为对上述图1、图2所示方法的实现,本发明实施例提供了一种随机数的生成装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于灵活地满足不同随机数生成需求生成更加高质量的随机数,具体如图5所示,该装置包括:
获取单元31,用于获取第一单位时间段内生成的随机数个数;
判断单元32,用于通过将所述获取单元获取到的第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,所述第二单位时间段是与所述第一单位时间段相邻的后一个单位时间段,所述随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式。
生成单元33,用于根据所述判断单元所选择的所述第二单位时间段内对应的随机数生成模式,生成随机数。
进一步的,如图6所示,所述判断单元32包括:
累计模块321,用于累计所述第一单位时间段内生成的随机数个数小于或等于所述第一阈值、或累计所述第一单位时间段内生成的随机数个数大于所述第一阈值且小于所述第二阈值、或累计所述第一单位时间段内生成的随机数个数大于或等于所述第二阈值;
确定模块322,用于当累计所述第一单位时间段内生成的随机数个数小于或等于所述第一阈值时,则确定在所述第二单位时间段内选择所述第一生成模式;或,
当累计所述第一单位时间段内生成的随机数个数大于所述第一阈值且小于所述第二阈值时,确定在所述第二单位时间段内选择所述第二生成模式;或,
当累计所述第一单位时间段内生成的随机数个数大于或等于所述第二阈值时,确定在所述第二单位时间段内选择所述第三生成模式。
进一步的,如图6所示,若确定在所述第二单位时间段内选择了所述第二生成模式,所述生成单元33包括:
接收模块331,用于在所述第二单位时间段内接收随机数生成请求信息;
获取模块332,用于响应于所述接收模块331接收到的随机数生成请求信息,按照随机数种子在第一种子存储池中的排列顺序,从所述排列顺序中逐个获取目标种子,所述第一种子存储池存储了以0和1组成的随机数种子序列;
切换模块333,用于通过识别所述获取模块332获取到的目标种子在所述随机数种子序列中对应的比特位,切换调用真随机数生成器或伪随机数生成器执行生成随机数操作,得到生成的随机数。
进一步的,如图6所示,所述切换模块333包括:
识别子模块3331,用于识别所述目标种子在所述随机数种子序列中对应的比特位为0,或识别所述目标种子在所述随机数种子序列中对应的比特位为1;
选择子模块3332,用于当识别所述目标种子在所述随机数种子序列中对应的比特位为0时,选择真随机数生成器执行生成随机数操作,得到生成的随机数;用于当识别所述目标种子在所述随机数种子序列中对应的比特位为1时,选择伪随机数生成器执行生成随机数操作,得到生成的随机数;
选择子模块3332除了执行以上功能操作之外,又或者,还可以执行如下功能操作:
选择子模块3332,用于当识别所述目标种子在所述随机数种子序列中对应的比特位为1时,选择真随机数生成器执行生成随机数操作,得到生成的随机数;用于当识别所述目标种子在所述随机数种子序列中对应的比特位为0时,选择伪随机数生成器执行生成随机数操作,得到生成的随机数。
进一步的,如图6所示,所述装置还包括:
收集单元34,用于利用物理传感器收集物理噪声;
所述生成单元33,还用于利用种子生成器处理所述收集单元34收集的物理噪声,生成随机数种子;
划分单元35,用于将多个所述生成单元得到的随机数种子划分成三组;
存储单元36,用于将第一组随机数种子存储到所述第一种子存储池中,所述第一种子存储池用于支持所述第二生成模式生成随机数;
所述存储单元36,还用于将第二组随机数种子存储到第二种子存储池中,所述第二种子存储池内的随机数种子不可复用,用于支持所述第一生成模式生成随机数;
所述存储单元36,还用于将第三组随机数种子存储到第三种子存储池中,所述第三种子存储池内的随机数种子可复用,用于支持所述第三生成模式生成随机数。
综上所述,本发明实施例提供了一种随机数的生成方法、装置及系统,本发明实施例是首先获取一个单位时间段内生成随机数个数,然后利用该单位时间段内生成随机数个数与两个阈值进行比较,从而判断相邻的后一个单位时间段内所需选择的随机数生成模式,具体是在从第一生成模式(即只使用真随机数生成器生成随机数的生成模式)、第二生成模式(即混合使用真随机数生成器和伪随机数生成器生成随机数的生成模式)、第三生成模式(即只使用伪随机数生成器生成随机数的生成模式)中选择一种生成模式,去执行生成随机数操作。本发明是根据前一个时间段内生成随机数个数去选择相邻后一个单位时间段内的随机数生成模式以执行相应生成随机数操作,继而相当于是根据前一个时间段内生成随机数个数预判了当下随机数生成需求,从而根据不同需求切换选择不同随机数生成器参与生成随机数操作,得到随机数可以既有真随机数又有伪随机数,从而加强了生成随机数的随机性和不可预测性。相较于现有技术,解决了现有方法只是对伪随机数生成器应用的优化而得到的仍是伪随机数,导致了难以满足日益对随机数的随机性和不可预测性的高质量需求的技术问题。本发明实施例能够灵活地满足不同生成随机数数量的需求,同时也提高了生成随机数的质量。
所述随机数的生成装置包括处理器和存储器,上述获取单元判断单元和生成单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来随着单位时间段内需求随机数个数多少变化,切换不同随机数生成器参与生成随机数操作,能够灵活地满足不同生成随机数数量的需求,以及根据不同需求,得到随机数可以既有真随机数又有伪随机数,从而加强了生成随机数的随机性和不可预测性。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的随机数的生成方法。
本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的随机数的生成方法。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种随机数的生成方法,其特征在于,所述方法包括:
获取第一单位时间段内生成的随机数个数;
通过将所述第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,所述第二单位时间段是与所述第一单位时间段相邻的后一个单位时间段,所述随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式;
根据所选择的所述第二单位时间段内对应的随机数生成模式,生成随机数。
2.根据权利要求1所述的方法,其特征在于,所述通过将所述第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,包括:
若累计所述第一单位时间段内生成的随机数个数小于或等于所述第一阈值,则确定在所述第二单位时间段内选择所述第一生成模式;
若累计所述第一单位时间段内生成的随机数个数大于所述第一阈值且小于所述第二阈值,则确定在所述第二单位时间段内选择所述第二生成模式;
若累计所述第一单位时间段内生成的随机数个数大于或等于所述第二阈值,则确定在所述第二单位时间段内选择所述第三生成模式。
3.根据权利要求1或2所述的方法,其特征在于,若确定在所述第二单位时间段内选择了所述第二生成模式,则所述根据所选择的所述第二单位时间段内对应的随机数生成模式,生成随机数,包括:
在所述第二单位时间段内接收随机数生成请求信息;
响应于所述随机数生成请求信息,按照随机数种子在第一种子存储池中的排列顺序,从所述排列顺序中逐个获取目标种子,所述第一种子存储池存储了以0和1组成的随机数种子序列;
通过识别所述目标种子在所述随机数种子序列中对应的比特位,切换调用真随机数生成器或伪随机数生成器执行生成随机数操作,得到生成的随机数。
4.根据权利要求3所述的方法,其特征在于,所述通过识别所述目标种子在所述随机数种子序列中对应的比特位,切换调用真随机数生成器或伪随机数生成器执行生成随机数操作,得到生成的随机数,包括:
若识别所述目标种子在所述随机数种子序列中对应的比特位为0,则选择真随机数生成器执行生成随机数操作,得到生成的随机数;若识别所述目标种子在所述随机数种子序列中对应的比特位为1,则选择伪随机数生成器执行生成随机数操作,得到生成的随机数;或者,
若识别所述目标种子在所述随机数种子序列中对应的比特位为1,则选择真随机数生成器执行生成随机数操作,得到生成的随机数;若识别所述目标种子在所述随机数种子序列中对应的比特位为0,则选择伪随机数生成器执行生成随机数操作,得到生成的随机数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
利用物理传感器收集物理噪声;
利用种子生成器处理所述物理噪声,生成随机数种子;
将多个所述随机数种子划分成三组;
将第一组随机数种子存储到所述第一种子存储池中,所述第一种子存储池用于支持所述第二生成模式生成随机数;
将第二组随机数种子存储到第二种子存储池中,所述第二种子存储池内的随机数种子不可复用,用于支持所述第一生成模式生成随机数;
将第三组随机数种子存储到第三种子存储池中,所述第三种子存储池内的随机数种子可复用,用于支持所述第三生成模式生成随机数。
6.一种随机数的生成装置,其特征在于,所述装置包括:
获取单元,用于获取第一单位时间段内生成的随机数个数;
判断单元,用于通过将所述获取单元获取到的第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,所述第二单位时间段是与所述第一单位时间段相邻的后一个单位时间段,所述随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式。
生成单元,用于根据所述判断单元所选择的所述第二单位时间段内对应的随机数生成模式,生成随机数。
7.根据权利要求6所述的装置,其特征在于,所述判断单元包括:
累计模块,用于累计所述第一单位时间段内生成的随机数个数小于或等于所述第一阈值、或累计所述第一单位时间段内生成的随机数个数大于所述第一阈值且小于所述第二阈值、或累计所述第一单位时间段内生成的随机数个数大于或等于所述第二阈值;
确定模块,用于当累计所述第一单位时间段内生成的随机数个数小于或等于所述第一阈值时,则确定在所述第二单位时间段内选择所述第一生成模式;或,
当累计所述第一单位时间段内生成的随机数个数大于所述第一阈值且小于所述第二阈值时,确定在所述第二单位时间段内选择所述第二生成模式;或,
当累计所述第一单位时间段内生成的随机数个数大于或等于所述第二阈值时,确定在所述第二单位时间段内选择所述第三生成模式。
8.一种随机数的生成系统,其特征在于,应用于如权利要求1至5中任一项所述的随机数的生成方法,所述系统包括:
物理传感器,用于采集物理噪声;
种子生成器,连接所述物理传感器,用于根据所述物理噪声生成随机数种子;
种子存储池,连接所述种子生成器,用于存储所述随机数种子;
真随机数生成器,连接所述种子存储池,用于根据所述随机数种子生成真随机数;
伪随机数生成器,连接所述种子存储池,用于根据所述随机数种子生成伪随机数;
计数器,连接所述真随机数生成器和所述伪随机数生成器,用于累计单位时间段内生成随机数个数;
控制电路,连接所述计数器、所述真随机数生成器和所述伪随机数生成器,用于通过将所述第一单位时间段内生成的随机数个数与第一阈值以及第二阈值进行比较,判断选择第二单位时间段内对应的随机数生成模式,所述第二单位时间段是与所述第一单位时间段相邻的后一个单位时间段,所述随机数生成模式包括:调用真随机数生成器生成随机数的第一生成模式、调用真随机数生成器和伪随机数生成器生成随机数的第二生成模式以及调用伪随机数生成器生成随机数的第三生成模式。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的随机数的生成方法。
10.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的随机数的生成方法。
CN202111162914.4A 2021-09-30 2021-09-30 一种随机数的生成方法、装置及系统 Active CN113835679B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111162914.4A CN113835679B (zh) 2021-09-30 2021-09-30 一种随机数的生成方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111162914.4A CN113835679B (zh) 2021-09-30 2021-09-30 一种随机数的生成方法、装置及系统

Publications (2)

Publication Number Publication Date
CN113835679A true CN113835679A (zh) 2021-12-24
CN113835679B CN113835679B (zh) 2023-09-29

Family

ID=78967920

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111162914.4A Active CN113835679B (zh) 2021-09-30 2021-09-30 一种随机数的生成方法、装置及系统

Country Status (1)

Country Link
CN (1) CN113835679B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116301721A (zh) * 2022-12-27 2023-06-23 北京海泰方圆科技股份有限公司 一种随机数生成方法、装置、电子设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204657A1 (en) * 2008-02-13 2009-08-13 Infineon Technologies Ag Hybrid random number generator
US20140344321A1 (en) * 2013-05-15 2014-11-20 Elliptic Technologies Inc. Automatic control system and method for a true random number generator
CN104317551A (zh) * 2014-10-17 2015-01-28 北京德加才科技有限公司 一种超高安全的真随机数生成方法及真随机数生成系统
CN107025092A (zh) * 2017-06-16 2017-08-08 合肥工业大学 一种基于latch 结构真随机数发生器的随机数提取方法
CN109274484A (zh) * 2017-07-17 2019-01-25 科大国盾量子技术股份有限公司 一种对数据进行保密增强的方法及量子密钥分发终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204657A1 (en) * 2008-02-13 2009-08-13 Infineon Technologies Ag Hybrid random number generator
US20140344321A1 (en) * 2013-05-15 2014-11-20 Elliptic Technologies Inc. Automatic control system and method for a true random number generator
CN104317551A (zh) * 2014-10-17 2015-01-28 北京德加才科技有限公司 一种超高安全的真随机数生成方法及真随机数生成系统
CN107025092A (zh) * 2017-06-16 2017-08-08 合肥工业大学 一种基于latch 结构真随机数发生器的随机数提取方法
CN109274484A (zh) * 2017-07-17 2019-01-25 科大国盾量子技术股份有限公司 一种对数据进行保密增强的方法及量子密钥分发终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈爽;曹素梅;左金印;: "随机数发生器检测与设计", 信息安全与通信保密, no. 12, pages 109 - 111 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116301721A (zh) * 2022-12-27 2023-06-23 北京海泰方圆科技股份有限公司 一种随机数生成方法、装置、电子设备及介质
CN116301721B (zh) * 2022-12-27 2023-09-19 北京海泰方圆科技股份有限公司 一种随机数生成方法、装置、电子设备及介质

Also Published As

Publication number Publication date
CN113835679B (zh) 2023-09-29

Similar Documents

Publication Publication Date Title
CN102023890B (zh) 一种用于设置事务优先级的数据处理装置和方法
CN101021742B (zh) 用于刀片系统的节流管理的方法和系统
CN113835679A (zh) 一种随机数的生成方法、装置及系统
CN111708513A (zh) 一种伪随机数种子生成方法及相关产品
JP2011181392A (ja) 電圧監視システム、電圧監視装置及び情報設定方法
CN115904719B (zh) 数据采集方法、装置、电子设备及存储介质
CN113595773A (zh) 信息处理方法、装置、电子设备和存储介质
CN110333984B (zh) 接口异常检测方法、装置、服务器及系统
CN111277626A (zh) 服务器升级方法、装置、电子设备及介质
CN114371954A (zh) 一种微服务系统的自动恢复方法
CN115754413A (zh) 示波器及数据处理方法
CN111309475B (zh) 一种检测任务执行方法及设备
US6862702B2 (en) Address counter for addressing synchronous high-frequency digital circuits, in particular memory devices
CN112649666A (zh) 芯片的扫频装置、方法和电子设备
JP2009529722A (ja) 追跡データを生成するための機器、方法、およびコンピュータ・プログラム製品
EP1055999A2 (en) Processor system with address coprocessor
JP2022049825A (ja) 性能分析方法及び性能分析プログラム
CN111104289A (zh) 一种gpu集群的效率检查系统及方法
CN112649667A (zh) 芯片的扫频装置、方法和电子设备
CN112613594B (zh) 算法编排方法、装置、计算机设备及存储介质
CN116521351A (zh) 多线程任务调度方法、装置、存储介质及处理器
EP3792764A1 (en) Barrier synchronization circuit, barrier synchronization method, and parallel information processing apparatus
JP2970707B2 (ja) 時間スイッチメモリ監視方式
CN117829230A (zh) 通过计算电路实现卷积运算的方法、装置、介质及设备
CN117827146A (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
CB02 Change of applicant information

Address after: Room 263, block B, science and technology innovation center, 128 Shuanglian Road, Haining Economic Development Zone, Haining City, Jiaxing City, Zhejiang Province, 314400

Applicant after: Haining yisiwei IC Design Co.,Ltd.

Applicant after: Beijing yisiwei Computing Technology Co.,Ltd.

Address before: Room 263, block B, science and technology innovation center, 128 Shuanglian Road, Haining Economic Development Zone, Haining City, Jiaxing City, Zhejiang Province, 314400

Applicant before: Haining yisiwei IC Design Co.,Ltd.

Applicant before: Beijing yisiwei Computing Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant