首页 / 专利库 / 人工智能 / 嵌入式计算 / 产生随机数的装置及方法

产生随机数的装置及方法

阅读:825发布:2024-02-23

专利汇可以提供产生随机数的装置及方法专利检索,专利查询,专利分析的服务。并且本 发明 提供了产生 硬件 随机数的装置和方法,通过随机 信号 产生 电路 产生亚稳态信号,由随机数获取电路获取该亚稳态信号,并将该亚稳态信号稳定化,得到稳态的随机信号,存储该随机信号并输出随机数。与 现有技术 中的 软件 随机数生成方法相比,本发明提供的装置和方法,可适用于资源有限的 嵌入式系统 ,所生成的随机数是完全随机数,不依赖于随机 种子 ,而且生成的随机数还可以作为随机种子,与软件随机数计算模 块 配合使用,进一步生成高密随机数,从而大大提高软件生成的伪随机数序列的安全性。此外,本发明提供的随机数产生装置不占用CPU资源,而且占用硬件资源极少,生成随机数的速度非常快,只需要几个时钟周期。,下面是产生随机数的装置及方法专利的具体信息内容。

1、一种产生随机数的装置,其特征在于:所述的装置包括随机信号产生电 路和随机数获取电路
所述随机信号产生电路中包括N个多输入端逻辑电路,所述多输入端逻 辑门电路,包括至少两个信号输入端,其中至少有一个信号输入端处于悬空状 态,另一个信号输入端接收使能信号,在该使能信号有效时,在所述多输入端 逻辑门电路的信号输出端产生亚稳态信号,并将所述N个多输入端逻辑门电路 产生的N个亚稳态信号输出到所述随机数获取电路的输入端,N为大于或等于 1的正整数;
所述随机数获取电路接收所述使能信号,在该使能信号有效时获取所述N 个亚稳态信号,进入亚稳态;在该使能信号无效时,停止获取亚稳态信号,并 将获取的亚稳态信号变为稳态的随机信号,存储并输出该稳态的随机信号。
2、如权利要求1所述的装置,其特征在于:所述N个中的每一个多输入 端逻辑门电路中,包括一个或多个逻辑门。
3、如权利要求1或2所述的装置,其特征在于:所述N个中的每一个多 输入端逻辑门电路中,仅包括一个多输入端逻辑门,且该一个多输入端逻辑门 是多输入端与非门或多输入端或门。
4、如权利要求1所述的装置,其特征在于:
所述的随机数获取电路中包括N个存储器,N为大于或等于1的正整数; 所述存储器在所述使能信号有效时,接收所述亚稳态信号;在所述使能信号无 效时,停止接收亚稳态信号,已获得的亚稳态信号变为稳态的随机信号,存储 并输出该稳态的随机信号。
5、如权利要求4所述的装置,其特征在于,所述的随机数获取电路中还 包括:设置在所述N个多输入端逻辑门电路和N个所述存储器之间的N个多 路选择器,N为大于或等于1的正整数;
所述多路选择器的输入端与所述多输入端逻辑门电路的信号输出端相连; 该多路选择器的输出端与所述存储器的输入端相连;
所述多路选择器的控制端接收所述使能信号,当该使能信号有效时,多路 选择器的输入端获取所述多输入端逻辑门电路信号输出端的亚稳态信号,并将 该亚稳态信号通过该多路选择器的输出端发送到所述存储器的输入端;当该使 能信号无效时,停止获取亚稳态信号。
6、如权利要求5所述的装置,其特征在于:所述的存储器是寄存器或存 器。
7、如权利要求6所述的装置,其特征在于:所述的寄存器是D触发器、 JK触发器,RS触发器或T触发器。
8、如权利要求7所述的装置,其特征在于:所述存储器是D触发器,该D 触发器在所述使能信号无效时,进一步向所述多路选择器的一个输入端输出反 馈信号;所述多路选择器通过其输出端将该反馈信号输出到D触发器的输入端。
9、如权利要求1或8所述的装置,其特征在于:该装置进一步包括计算模 ,接收所述随机数获取电路输出的随机信号,并对该随机信号进行数据处理, 输出所需的随机数。
10、一种产生随机数的方法,其特征在于:包括以下步骤:
A、硬件电路产生N个亚稳态信号,N为大于或等于1的正整数;
所述硬件电路包括N个多输入端逻辑门电路,所述多输入端逻辑门电路, 包括至少两个信号输入端,其中至少有一个信号输入端处于悬空状态,另一个 信号输入端接收使能信号,在该使能信号有效时,在所述多输入端逻辑门电路 的信号输出端产生亚稳态信号,并将所述N个多输入端逻辑门电路产生的N个 亚稳态信号输出;
B、在所述使能信号有效时获取步骤A中产生的N个亚稳态信号,进入亚 稳态;在该使能信号无效时,停止获取亚稳态信号,并将获取的亚稳态信号变 为稳态的随机信号,存储并输出各稳态的随机信号。
11、如权利要求10所述的方法,其特征在于:所述步骤B为:当所述使 能信号有效时,所述N个亚稳态信号被输入N个存储器,N为大于或等于1的 正整数;在所述使能信号无效时,所述存储器停止接收亚稳态信号,已获得的 亚稳态信号变为稳态的随机信号,存储并输出各稳态的随机信号。
12、如权利要求11所述的方法,其特征在于:该方法进一步包括:在所述 N个多输入端逻辑门电路和所述N个存储器之间设置N个多路选择器,N为大 于或等于1的正整数;
将所述使能信号同时输入给该多路选择器,当该使能信号有效时,多路选 择器的输入端获取所述多输入端逻辑门电路信号输出的亚稳态信号,并将该亚 稳态信号发送到所述存储器;当该使能信号无效时,停止获取所述亚稳态信号。
13、如权利要求10、11或12所述的方法,其特征在于:该方法进一步从 输出的随机数中,选择出所需位数的数据,作为随机数输出。
14、如权利要求10、11或12所述的方法,
其特征在于:所述对输出的随机数进行数据处理的方法为: 对输出的随机数进行算术运算,将运算后的结果,作为随机 数输出。
15、如权利要求10、11或12所述的方法,其特征在于:该方法进一步包 括,将该随机数作为随机种子,进一步通过软件算法进行处理,得到随机数。

说明书全文

技术领域

发明涉及计算机数据领域,特别是指产生随机数的装置及方法

背景技术

随机数在加密等很多领域有很重要的用途。在现有技术中,在嵌入式系 统中产生随机数主要使用软件算法完成,而用硬件实现类似的算法代价很 大。这类算法需要随机种子,用来生成介于指定数值区间的伪随机数序列。
现有技术中的随机数生成方法有以下几个缺点:
1)由于使用软件算法需要占用嵌入式系统中宝贵的CPU资源。
2)由于使用软件算法,需要很多条CPU指令才能完成随机数的计算。 需要较长时间才能完成。
3)由于随机数算法生成的本质上是伪随机数,特别依赖随机种子,如 果知道随机种子和算法,则根据上述的随机种子将可得到完全相同的随机数 序列,由此可见,通过现有方法得到的随机数存在着一定的安全险。

发明内容

有鉴于此,本发明的目的是提供简单高效的硬件随机数产生装置及方 法,能通过硬件装置迅速产生随机数。
本发明提供一种产生随机数的装置,包括随机信号产生电路和随机数获取 电路。
所述随机信号产生电路中包括N个多输入端逻辑电路,所述多输入端逻 辑门电路,包括至少两个信号输入端,其中至少有一个信号输入端处于悬空状 态,另一个信号输入端接收使能信号,在该使能信号有效时,在所述多输入端 逻辑门电路的信号输出端产生亚稳态信号,并将所述N个多输入端逻辑门电路 产生的N个亚稳态信号输出到所述随机数获取电路的输入端,N为大于或等于 1的正整数;
所述随机数获取电路接收所述使能信号,在该使能信号有效时获取所述N 个亚稳态信号,进入亚稳态;在该使能信号无效时,停止获取亚稳态信号,并 将已获取的亚稳态信号变为稳态的随机信号,存储并输出该稳态的随机信号。
所述N个中的每一个多输入端逻辑门电路中,包括一个或多个逻辑门。
所述N个中的每一个多输入端逻辑门电路中,仅包括一个多输入端逻辑门, 且该一个多输入端逻辑门是多输入端与非门或多输入端或门。
所述的存储器是D触发器、JK触发器,RS触发器或T触发器等寄存器或 存器。如果所述存储器是D触发器,该D触发器在所述使能信号无效时,进 一步向所述多路选择器的一个输入端输出反馈信号;所述多路选择器通过其输 出端将该反馈信号输出到D触发器的输入端。
本发明提供的装置中,所述的随机数获取电路中还包括:设置在所述多输 入端逻辑门电路和所述存储器之间的多路选择器。所述多路选择器的输入端与 所述多输入端逻辑门电路的信号输出端相连;该多路选择器的输出端与所述存 储器的输入端相连;所述多路选择器的控制端接收所述使能信号,当该使能信 号有效时,多路选择器的输入端获取所述多输入端逻辑门电路信号输出端的亚 稳态信号,并将该亚稳态信号通过该多路选择器的输出端发送到所述存储器的 输入端;当该使能信号无效时,停止获取亚稳态信号。
本发明提供的装置中,还可以进一步包括计算模,接收所述随机数获取 电路输出的随机信号,并对该随机信号进行数据处理,输出所需的随机数。
本发明提供一种产生随机数的方法,包括以下步骤:
A、硬件电路产生N个亚稳态信号,N为大于或等于1的正整数;
所述硬件电路包括N个多输入端逻辑门电路,所述多输入端逻辑门电路, 包括至少两个信号输入端,其中至少有一个信号输入端处于悬空状态,另一个 信号输入端接收使能信号,在该使能信号有效时,在所述多输入端逻辑门电路 的信号输出端产生亚稳态信号,并将所述N个多输入端逻辑门电路产生的N个 亚稳态信号输出;
B、在所述使能信号有效时获取步骤A中产生的N个亚稳态信号,进入亚 稳态;在该使能信号无效时,停止获取亚稳态信号,并将获取的亚稳态信号变 为稳态的随机信号,存储并输出各稳态的随机信号。
所述步骤B为:当所述使能信号有效时,所述N个亚稳态信号被输入N 个存储器,N为大于或等于1的正整数;在所述使能信号无效时,所述存储器 停止接收亚稳态信号,将已获得的亚稳态信号变为稳态的随机信号,存储并输 出各稳态的随机信号。
本发明提供的方法进一步包括:在所述N个多输入端逻辑门电路和所述N 个存储器之间设置N个多路选择器,N为大于或等于1的正整数。将所述使能 信号同时输入给所述N个多路选择器,当该使能信号有效时,多路选择器的输 入端获取所述多输入端逻辑门电路信号输出的亚稳态信号,并将该亚稳态信号 发送到所述存储器;当该使能信号无效时,停止获取所述亚稳态信号。
根据本发明提供的方法,还可以进一步对输出的随机数进行数据处理,输 出所需位数的随机数。所述对输出的随机数进行数据处理的方法可以为:从输 出的随机数中,选择出所需位数的数据,作为随机数输出;所述对输出的随机 数进行数据处理的方法也可以为:对输出的随机数进行算术运算,将运算后的 结果,作为随机数输出;还可以将该随机数作为随机种子,进一步通过软件算 法进行处理,得到随机数。
本发明提供的产生硬件随机数装置和方法,通过随机信号产生电路产生 亚稳态信号,由随机数获取电路获取该亚稳态信号,并将该亚稳态信号稳定 化,得到稳态的随机信号,存储该随机信号并输出随机数。
所述随机信号产生电路中包括多输入端逻辑门电路,该多输入端逻辑门 电路的至少一个信号输入端处于悬空状态,另一个输入端接收所述使能信 号,并在该使能信号有效时,在电路的信号输出端产生亚稳态信号。
通过本发明提供的装置和方法,所生成的随机数是完全随机数,不依赖 于随机种子,而且生成的随机数还可以作为随机种子,与软件随机数计算模 块配合使用,进一步生成高密随机数,从而大大提高软件生成的伪随机数序 列的安全性。
此外,本发明提供的随机数产生装置可适用于资源有限的嵌入式系统, 不占用CPU资源,而且占用硬件资源极少,生成随机数的速度非常快,只 需要几个时钟周期。
附图说明
图1为本发明提供的硬件随机数产生装置实施例示意图;
图2为根据本发明提供的方法产生随机数的实施例示意图。

具体实施方式

根据本发明提供的产生硬件随机数的装置和方法,通过随机信号产生电 路产生亚稳态信号,由随机数获取电路获取该亚稳态信号,并将已获取的亚 稳态信号稳定化,得到稳态的随机信号,存储该随机信号并输出随机数。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明 作进一步的详细描述。
图1为本发明提供的硬件随机数产生装置实施例示意图。如图1所示, 该装置中包括随机信号产生电路110、随机数获取电路120和计算模块130。 随机信号产生电路110接收使能信号,在该使能信号有效时产生亚稳态信 号,并将该亚稳态信号输出到随机数获取电路120;随机数获取电路120接 收所述使能信号,在该使能信号有效时获取该亚稳态信号,进入亚稳态,在 该使能信号无效时停止获取亚稳态信号,并将已获取的亚稳态信号变为稳态 的随机信号,存储并输出该稳态的随机信号。所述稳态的随机信号可以直接 作为随机数输出,也可以输出到计算模块130,经过处理后输出随机数。
所述随机信号产生电路110中包括多输入端逻辑门电路,该多输入端逻 辑门电路至少有两个信号输入端,其中一个信号输入端处于悬空状态,另一 个信号输入端接收使能信号,当该使能信号有效时,在所述多输入端逻辑门 电路的信号输出端将产生处于不确定状态的亚稳态信号。
如图1所示的本实施例中,随机信号产生电路110中包括两输入与非门 111,随机数获取电路120中包括多路选择器121和存储器122。
其中,两输入与非门111的一个输入端悬空,另一个输入端接收使能信 号。当需要采集随机数时,所述使能信号发出一个高电平脉冲信号,将该使 能信号置于有效状态,即高电平状态,则在两输入与非门111输出端产生亚 稳态信号,该亚稳态信号通过多路选择器121的一个输入端,被发送到多路 选择器121中。
多路选择器121的控制端接收使能信号。当该使能信号处于有效状态 时,多路选择器121获取所述两输入非门111输出端的亚稳态信号,并通过 其输出端将该亚稳态信号发送到存储器122的输入端。
当使能信号随着所述高电平脉冲的结束而变为低电平无效状态时,多路 选择器121停止获取亚稳态信号,已获取的亚稳态信号,即存储器122的输 入端信号,也从亚稳态恢复到稳定状态,产生一个稳态的随机信号输入存储 器122,并相应地在其输出端得到一个稳态的随机信号。
如图1所示,所述随机数获取电路120中的存储器122为D触发器。 当所述使能信号处于无效状态时,多路选择器121的一个输入端停止获取随 机信号产生电路110的亚稳态信号,而另一个输入端接收存储器122输出的 反馈信号,并将其输出到存储器122的输入端,并相应地在存储器122的输 出端得到一个与反馈信号相同的随机信号。这样,通过上述的信号反馈设计, 使得当使能信号无效时,在存储器122的输出端能够获取一个稳态的随机信 号,并保存在所述信号反馈电路中,直到下一次使能信号处于有效状态。
在如图1所示的本发明的随机数产生装置实施例中,存储器122为D 触发器。实际上,本发明中可选用的存储器122还可以是JK触发器、RS触 发器或T触发器等具有保存数据功能的寄存器或锁存器,当然所述用于保存 稳定的随机信号的信号反馈电路的连接方式也需要作相应改变。由于存储器 反馈电路的设计是本领域内普通技术人员所公知的技术方案,因而此处不再 一一进行说明。
本发明提供的产生随机数的装置,其输出随机数的位数范围是由如图1 所示的随机信号产生电路110中的两输入与非门的数量和随机数获取电路 120中存储器的数量决定的。图1中仅表示出两个存储器122的连接情况, 实际上,各存储器的连接情况都是相同的。相应地,如图1所示的随机数获 取电路120中,仅表示出两个多路选择器121的连接情况,实际上,各多路 选择器121的连接情况都是相同的,多路选择器121与相应的存储器122一 一相连。同样相应地,如图1所示的随机信号产生电路110中,仅表示出两 个多输入端逻辑门电路111的连接情况,实际上,各多输入端逻辑门电路 111的连接情况都是相同的,多输入端逻辑门电路111与相应的多路选择器 121一一相连。
在如图1所示的装置中,多输入端逻辑门电路的数量一般是与多路选择 器及存储器的数量相等的。如果随机信号产生电路110中仅有1个两输入与 非门111,相应地,随机数获取电路120中也仅有1个多路选择器121和1 个存储器122,则仅获取1个稳态的随机信号,得到的随机数位数为1位。 因此,如果以N来表示一个等于或大于1的正整数,则如图1所示的本发 明提供的装置中,所述随机信号产生电路110包含N个多输入端逻辑门电 路,所述随机数获取电路包含N个多路选择器和N个存储器;上述N个多 输入端逻辑门电路产生N个亚稳态信号分别输入N个多路选择器,N个多 路选择器分别将N个亚稳态信号输出给N个存储器,N个存储器分别存储 并输出N个随机信号,并可生成的N位二进制随机数。
在如图1所示的本发明的随机数产生装置实施例中,所述随机信号产生 电路110中的多输入端逻辑门电路仅使用了一个单独的两输入与非门111以 产生亚稳态信号。实际上,采用其他多输入端的逻辑门器件,也同样可以产 生亚稳态信号。例如,可以使用一个单独的两输入或门,以替代如图1中所 示的两输入与非门111,并使其一个输入端悬空,另一个输入端接收使能信 号。在这种情况下,当不需要产生随机数时,使能信号保持高电平的无效状 态,关闭随机数获取功能;当需要产生随机数时,使能信号产生一个低电平 脉冲,控制所述两输入或门在输出端产生亚稳态信号,并开启随机数获取功 能。这样,通过类似的方式,最后同样可得到随机数。
更进一步地说,还可以使用包含多个逻辑门的多输入端逻辑门电路来产 生亚稳态信号。所述多输入端逻辑门电路至少有两个信号输入端,其中一个 信号输入端处于悬空状态,另一个输入端接收使能信号,当该使能信号有效 时使得该电路的输出端信号处于亚稳态。根据上述多输入端逻辑门电路中逻 辑门的不同选择和组合方式,当需要获取随机数时,可以相应地选择发出高 电平脉冲信号或低电平脉冲信号,使使能信号处于有效状态,控制所述多输 入端逻辑门电路在输出端产生亚稳态信号,并开启随机数获取功能。
图2为根据本发明提供的方法产生随机数的实施例示意图。在本实施例 中,通过随机信号产生电路产生亚稳态信号,由随机数获取电路获取该亚稳 态信号,并将该亚稳态信号稳定化,得到稳态的随机信号,存储该随机信号 并输出随机数。
在如图2所示的本实施例中,采用使能信号,即一个电平脉冲信号,来 控制亚稳态信号的产生和获取。当该使能信号有效时,控制随机信号产生电 路产生亚稳态信号,并控制随机数获取电路获取该亚稳态信号;当该使能信 号无效时,停止获取亚稳态信号并将已获取的亚稳态信号其稳定化,得到稳 态的随机信号,保存该随机信号并输出随机数。具体步骤如下:
步骤210,当不需要产生随机数时,将使能信号置于无效状态,关闭随 机数获取功能。
步骤220,当需要产生随机数时,通过电平脉冲信号,将使能信号置于 有效状态,开启随机数获取功能,所述处于有效状态的使能信号控制随机信 号产生电路产生亚稳态信号,同时控制随机数获取电路获取该亚稳态信号。
步骤230,电平脉冲信号结束,使能信号处于无效状态,随机数获取电 路停止获取亚稳态信号,已获取的亚稳态信号稳定化,得到稳态的随机信号, 并保存该随机信号。
步骤240,处理随机信息,得到随机数,输出随机数。
在如图2所示的根据本发明提供的方法产生随机数的实施例中,所述的 亚稳态信号是通过所述随机信号产生电路中的多输入端逻辑门电路产生的。 该多输入端逻辑门电路至少有一个信号输入端处于悬空状态,另一个信号输 入端接收使能信号,当该使能信号有效时,在所述多输入端逻辑门电路输出 端产生亚稳态信号。该多输入端逻辑门电路中既可以仅包含一个单独的多输 入端逻辑门,如多输入端与非门或多输入端或门,也可以包含多个逻辑门的 组合。根据上述多输入端逻辑门电路中逻辑门的不同选择和组合方式,所述 的用于使能控制的脉冲信号可以相应地选择是高电平脉冲信号或低电平脉 冲信号。
在如图2所示的根据本发明提供的方法产生随机数的实施例中,所述的 随机数获取电路中包括多路选择器,所述使能信号在有效状态时控制该多路 选择器获取所述随机信号产生电路产生的亚稳态信号,并在无效状态时控制 多路选择器停止获取亚稳态信号,并将已获取的亚稳态信号稳定化,得到稳 态的随机信号,存储该随机信号并输出随机数。
如图2所示的随机数产生方法中,所述随机信号是与上述的多输入端逻 辑门电路的数量相关的。每个多输入端逻辑门电路都可以用来产生一个随机 信号,如果多输入端逻辑门电路的数量为32,则步骤230中得到的稳态的 随机信号为32位二进制随机信号。
本发明可根据实际要求获取所需随机数,如获取指定的数值范围内的随 机数。因此,对于如图2步骤230中所述的随机信号,以获取32位随机信 号为例,对其进行不同的后续处理,均可得到随机数。如步骤230中所述的 随机信号,可按照以下几种方式进行处理:
1)上述的32位随机信号,实际上也可以看作一个32位的二进制随机 数,如果所需的是一个32位二进制随机数,则实际上这个32位二进制随机 数,不需进一步的处理,即为所需随机数。
2)根据上述的32位随机信号,可按照实际需要从中随机抽取若干位的 值,作为二进制码字进行组合,得到初始随机数,即所需随机数。
3)根据上述方式1)或2)中得到的随机数,对其进行算术运算,得到 算术随机数,即所需随机数。
4)将上述1)、2)或3)方式得到的随机数,作为随机种子进一步输 出到软件计算模块中,并通过软件中的随机数算法得到高密随机数,作为所 需的随机数输出。
5)对于上述2)、3)或4)所示的方式,还可以进行相互组合,形成 新的获取随机数的方式。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈