首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 附图 / 产生随机数据

产生随机数据

阅读:772发布:2022-08-14

专利汇可以提供产生随机数据专利检索,专利查询,专利分析的服务。并且一种产生随机数据的方法,该方法包括:重复地完成一系列操作;这一系列操作包括:处理籽值以产生结果值,该结果值用作随后一系列操作中的籽值,并产生输出随机数据;其中这一系列操作还包括:确定是否有预定数量新的真随机数据,和若有这种数据,则根据新的真随机数据至少 修改 产生的结果值。,下面是产生随机数据专利的具体信息内容。

1.一种产生随机数据的方法,该方法包括:重复地完成一系列 操作;这一系列操作包括:处理籽值以产生结果值,该结果值用作随 后一系列操作中的籽值,并产生输出随机数据;其中这一系列操作还 包括:
确定是否有预定数量新的真随机数据;和
若有这种数据,则根据新的真随机数据至少修改产生的结果 值。
2.按照权利要求1的方法,其中所述修改步骤包括:在产生结 果值之前修改籽值。
3.按照权利要求2的方法,其中所述修改步骤包括:对籽值中 至少一些位与新的真随机数据对应位进行异或运算。
4.按照以上权利要求中任一个的方法,其中输出随机数据是通 过处理结果值产生的。
5.按照以上权利要求中任一个的方法,其中真随机数据是通过 比较两个振荡器的速率产生的。
6.按照权利要求5的方法,其中仅仅一个振荡器是晶控振荡 器。
7.按照权利要求5或6的方法,其中在另一个振荡器的预定振 荡次数内,通过计数一个振荡器的振荡次数,产生真随机数据。
8.按照权利要求7的方法,其中真随机数据是所述振荡次数最 低有效位中的1位或多位。
9.按照权利要求7或8的方法,包括:根据所述振荡次数最高 有效位中的至少1位,调整一个振荡器的速率。
10.按照权利要求5至9中任一个的方法,其中一个振荡器 的速率至少是另一个振荡器速率的100倍。
11.按照权利要求5至10中任一个的方法,其中一个振荡器 产生用于射频调制或解调通信数据的信号
12.按照权利要求11的方法,其中另一个振荡器产生用于空闲 通信周期定时的信号。
13.一种产生随机数据的装置,该装置包括:
真随机数据的数据源;
存储籽值的存储器;和
处理装置,用于进行一系列操作,这一系列操作包括:处理籽 值以产生存储器中存储的结果值,用作随后一系列操作中的籽值,并 产生输出随机数据;其中这一系列操作还包括:
确定是否有预定数量新的真随机数据;和
若有这种数据,则根据新的真随机数据,至少修改产生的结果 值。
14.一种包括权利要求13所述的装置的通信装置。
15.一种产生随机数据的方法,该方法基本上是参照附图所描 述的方法。
16.一种产生随机数据的装置,该装置基本上是参照附图所描 述的装置。

说明书全文

技术领域

发明涉及产生随机数据,例如,用在加密和验证系统中。

背景技术

多数加密和验证系统要求调用随机数,例如,用于产生验证期 间的复杂问题。这种例子是DES和RSA。在提供典型的安全等级系 统中,要求的随机数位长度约在50至150的范围内。形成这类真随 机数的一种方法是数字化噪声模拟值,例如,电压电平,并利用数字 化结果的最低有效位形成随机数。然而,这种方法需要一些时间收集 足够多的位以形成典型加密系统所要求的这种长度随机数。所以,在 大多数的情况下,取而代之的是利用产生伪随机数的算法。这种算法 产生的数据不是真随机数据,而是确定性数据。因此,这种方法有这 样一个缺点,若算法及其籽值是已知的,则可以预测伪随机数,使第 三方能够解密或破译验证方案。
所以,需要一种能够快速产生随机数的方法,该随机数有这样 的性质,不能根据以前的数据预测产生的下一个数据。

发明内容

按照本发明的一个方面,提供一种产生随机数据的方法,该方 法包括:重复地完成一系列操作,这一系列操作包括:处理籽值以产 生结果值,该结果值用作随后一系列操作中的籽值,并产生输出随机 数据;其中这一系列操作还包括:确定是否有预定数量新的真随机数 据;若有这种数据,则根据新的真随机数据至少修改产生的结果值。
按照本发明的第二方面,提供一种产生随机数据的装置,该装 置包括:真随机数据的数据源;存储籽值的存储器;和处理装置,用 于进行一系列操作;这一系列操作包括:处理籽值以产生存储器中存 储的结果值,用作随后进行一系列操作中的籽值并产生输出随机数 据;其中这一系列操作还包括:确定是否有预定数量新的真随机数 据;若有这种数据,则根据新的真随机数据至少修改产生的结果值。
最好是,所述修改步骤包括:在产生结果值之前修改籽值。或 者,修改步骤可以包括:修改另一个籽值,或修改结果值。所述修改 步骤最好包括:对籽值中至少一些位与新的真随机数据对应位进行异 或运算或加法运算。籽值可以是单个变量的修改或者从一个变量到另 一个变量的变换。
输出随机数据最好是通过处理结果值产生的。
通过至少部分是在随机数发生器之外的随机过程测量,合适地 产生真随机数据,例如,通过比较两个振荡器的速率。
最好是,仅仅一个振荡器是晶控振荡器。另一个振荡器是可以 安装在集成电路上。最好是,与另一个振荡器比较,一个振荡器是更 准确和/或更稳定和/或更不易受环境变化的影响。在另一个振荡器的 预定振荡次数内,通过计数一个振荡器的振荡次数,可以产生真随机 数据。最好是,所述另一个振荡器是两个振荡器中较慢的振荡器。
真随机数据可以是所述振荡次数最低有效位中的1位或多位。
附图说明
参照附图,借助于例子描述本发明,其中:
图1是包括随机数发生器的通信装置方框图;和
图2说明用于产生随机数的算法步骤。

具体实施方式

图1的装置包括:伪随机数发生器1。图示的随机数发生器包含 处理器2,该处理器包括:通用处理硬件3;非易失性程序存储器 4,用于存储处理硬件3的程序代码;和易失性临时存储存储器5, 用于处理硬件进行处理操作。然而,可以利用包括硬线处理设备和混 合硬件/软件实施例的任何合适数据处理装置。伪随机数发生器有输 入端6,借助于输入端可以在输出端7请求输出随机数据。随机数发 生器可以接入真随机数据的数据源8。在该图的实施例中,数据源8 是在随机数发生器之外,而且在通信装置中有另一个功能。然而,数 据源可以是在随机数发生器之内和/或可以具有形成随机数据的专用 功能。
数据源8最好包括存储真随机位的存储器10,随机数发生器可 以利用这些得到的真随机位。随机数发生器可以通过链路11接入该 存储器,用于确定有多少个真随机位,读出得到的真随机位,和一旦 利用其中的真随机位之后,复位该存储器。
当随机数发生器1在输入端6接收到随机数据调用时,处理装 置2进行以下描述的一系列处理步骤以产生随机数。然后,随机数发 生器在输出端7输出该随机数。当随机数发生器被调用时,处理装置 安排成接入临时存储器5中存储的籽值,完成把籽值作为输入的算 法,并基于该籽值产生随机数据和另一个籽值,存储这个籽值用于该 算法的下一次迭代。作为该算法的一部分,处理装置确定是否能从数 据源8得到新的真随机数据,这个新的真随机数据在算法前一次迭代 中还没有使用过。若可以有这种数据,则根据新的真随机数据,处理 装置修改本次迭代中原先采用的籽值,并利用修改的籽值作为本次迭 代的基础;否则,利用原先采用的籽值作为本次迭代的基础。按照这 种方法,在得到真随机数据时,利用这个随机数据使形成的随机数据 更随机化,而不必等到真随机数据可用时形成数据。这种方法有一个 重要的优点,在输出端7收集到足够数据可以预测下一个输出数据 时,籽值按照不可预测的方法发生了变化。
现在描述可以利用的一个算法例子。
在执行该算法前,必须确定若干个常数值。在设计或构造随机 数发生器时,即,在系统建立时,可以合适地确定这些常数值。这些 常数值如以下所示:
N代表约为800的整数。
L是可以从数据源8得到的若干个真随机位。
K1和K2是小的费素数,例如,3,17,257和65537(K1和 K2可以相等)。
p1和p2是长度为N/2的不同素数。若“强-S-素数”定义为素 数p,其中S是非负整数,则p-1的强-(S-1)-素数因子至少是p的 位长度的3/4,强-0-素数就是素数;选取p1和p2为强-2-素数。
M是p1与p2的乘积。
一旦计算了M,p1和p2最好被不可恢复地丢弃或高度保密地 存储。
在进行该算法时调用的这些常数值:L,K1,K2和M最好存储 在非易失性存储器4中。
在算法的每次迭代中,籽值用作该算法的输入。算法修改这个 籽值,修改的籽值作为该算法下一次迭代的籽值。用作下一次迭代的 籽值存储在临时存储器5的特定位置9。算法需要的初始籽值是第一 次迭代的输入,调用初始籽值产生随机数据。形成初始籽值的一种方 法是,从数据源8中收集一系列随机位,并把这些随机位存储在特定 位置9中相继位的位置。形成初始籽值的另一种方法是,在非易失性 存储器4中存储另一个常数值;装入该常数值到特定的位置9;然 后,完成该算法的多次迭代,在调用相继迭代时,利用数据源8中的 随机数据修改籽值。当启动通信装置时(例如,在接通电源时),可 以采用这些方法中任何一种方法,因此,随机数发生器做好使用的准 备,它保持一个真随机籽值。
图2表示该算法的流程图
在调用该算法以产生随机数时,得到特定位置9中存储的籽值 (图2中步骤30)。从特定位置得到的籽值作为变量x进行存储。 然后,检查存储器10以发现数据源8中是否有L个真随机位(步骤 31)。
若有L个真随机位,则把这些随机位装入到变量z中并使存储 器11复位。然后,根据这些真随机位,执行该算法的步骤32以修改 变量x。变量x的修改是设置它等于:
(xz)mod M
其中符号代表x的L个预定位中每1位与z的对应位进行异或 运算。异或运算的结果简约成模M,为了使它保持在该算法的算术界 限内。在系统建立时可以规定x中哪些位与z中哪些位进行异或运 算。
若没有真随机位,则不修改x。
然后,产生从随机数发生器输出的随机数据,并作为变量v进 行存储。变量v设置成等于xK1模M(步骤35)。v的值作为在输出 端7可以得到的随机位。
然后,在变量w中形成该算法下一次迭代的籽值,变量w设置 成等于(x+1)K2模M(步骤33)。
最后,w的值存储到特定位置9用于代替以前的籽值,并允许 它作为下一次迭代中x的初始值。
取代籽值与真随机位的的异或运算,也可以利用其他的方法。 例如,在适当的算法中,可以根据随机数据修改输入籽值之外的另一 个籽值。具体地说,在以上的算法中,可以修改输出籽值。可以利用 异或运算以外的其他运算,例如,算术位移或加法运算。
可以有多种产生真随机数据的方法。这些例子包括:使装置中 模拟传感器的噪声模拟值数字化,例如,温度传感器14中的电压电 平;或用户在键盘16上各次按键之间的时间间隔。一种优选的方法 是利用一对振荡器12,13,这两个振荡器有不同的短期准确度 平,即,抖动’,且最好有基本不同的速率。
图1的装置是无线电通信装置。振荡器12是相对快速,相对准 确并有相对低抖动的振荡器。振荡器12用于射频调制传输信号,它 的合适频率为几十兆赫芝,例如,GSM基系统的13或26MHz。振 荡器13是较慢速,较不准确并有较大抖动的振荡器,该振荡器可用 于快速振荡器关断时各个周期之间的间隔定时。振荡器13的频率可 以是几千赫芝。高准确度振荡器12适合于来自晶体的定时,而低准 确度振荡器13是基于简单的电阻和定容器电路,该电路可以是与处 理器2相同的集成电路。因此,振荡器12与振荡器13的频率之间很 可能发生漂移,例如,由于温度的变化和由于电阻器中热噪声的随机 起状。
为了产生随机数据,计数器16计数快速振荡器在预定次数慢速 振荡器周期内的翻转次数,这个预定次数最好是很小的数。所以,利 用这些最低有效位中的1位或多位作为随机数据。例如,在快速振荡 器的频率为16MHz和慢速振荡器的频率为1kHz时,在典型的条件 下,可以利用这个计数的最低1位或2位作为随机数据。这个计数是 周期性进行的,其结果位存储在存储器10中。因此,在完成计数之 后,随机数发生器可以有新的数据。在随机数发生器上次调用之后还 没有完成计数,则不能得到新的数据,在此情况下,随机数发生器仍 然可以提供输出数据,因为它可以确定是否有新的真随机数据。
处理器可以是形成随机数的专用装置,或可以完成其他的功 能。在后者的情况下,处理器产生的随机数可以在该处理器随后实施 的其他操作中进行处理。
本发明可以包括此处暗示或明示公开的任何特征或这些特征的 组合,或任何的推广,不管它是否与本申请的发明有关。鉴于以上的 描述,显而易见,本领域专业人员在本发明的范围内可以作各种改 动。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈