一种产生真随机数的方法

文档序号:6338232阅读:239来源:国知局
专利名称:一种产生真随机数的方法
技术领域
本发明涉及一种产生随机数的方法,尤其涉及一种产生真随机数的方法。
背景技术
在安全技术领域里,随机数尤其是真随机数的产生至关重要。在很多情况下真随机数决定加密算法是否安全,加密强度是否足够强。通常情况下产生真随机数的办法是使用伪随机数序列产生器,但伪随机数序列产生器产生的数虽然是随机数,但其序列顺序是固定的,因此被称为伪随机数。为了产生真随机数,在设计过程中通常需要增加额外的电路,比如专门的非易失性存储器存储随机数种子等等,通常的设计形式增加了系统的复杂度和设计成本。如何能在电路设计中找到一种设计简单、易于实现产生真随机数的方法为本发明要解决的技术问题。

发明内容
本发明目的提供一种产生真随机数的方法,在通常电路中随机数序列产生器应用中,不增加额外的设计电路而产生真随机数,满足电路设计需求。一种产生真随机数的方法,包含以下内容
电路设计中包含一个伪随机数序列产生器,通常的线性反馈移位寄存器即可实现上述伪随机数序列产生器。伪随机数序列产生器启动之后处于自由运行的状态,不停更新并产生新的随机数。确定特定时间采样点,电路对伪随机数序列产生器采样,得到一个随机数。 为保证数据的真随机性,本发明利用采样时间点的随机性来确保真随机性。本发明真随机数的产生主要利用电路中异步时钟之间相位的不确定性来实现。电路设计中包含一个以上时钟,各时钟之间是独立的,为异步时钟,异步时钟的时钟相位是不确定的。为增加随机性,有两种方式一种是将输出采样信号在不同时钟域之间多传递几次。每跨一次时钟域,即多一倍的可能的随机数。跨越次数足够多,随机性就足够强;另一种方法为电路中某一时钟采用电路中内部的振荡器产生。通过利用内建震荡器频率易受环境影响(如工艺、温度、电压的影响),则其输出采样信号由于时钟的不稳定性而增加随机性。


图1随机数与采样输出示意图
图2本发明提供的真随机数产生及采样示意图。
具体实施方案以下根据各附图对本发明提出的产生真随机数的方法进一步详细说明。如图1中所示,举例说明假设伪随机数序列产生器工作在时钟CLKB,采样电路
3工作在时钟CLKA。伪随机数序列产生器处于自由运行状态,因此连续不断的产生随机数 A(t),A(t+l),…。输出采样信号从低到高表示对输出采样。由于异步时钟的不确定性,数据可能采样到A(t+3),也有可能采样到A(t+4)。采用上述方法,如果CLKA和CLKB都很精确,则产生的随机数只有两种可能,随机性仍然不是很强。为了增加随机性通常有两种办法,一种是将输出采样信号在不同时钟域之间多传递几次。每跨一次时钟域,就多一倍的可能的随机数。跨越次数足够多,随机性就足够强。另外一种方法更为简单、有效。假设其中的任何一个时钟,例如CLKA不是很精确, 并且容易受电路周围环境,如电压、温度和工艺的影响。举例说,CLKA是由芯片内部的振荡器产生。芯片内建的振荡器,不同于晶振,其振荡频率容易受外界环境影响,且起振期间频率一直处于变化中。所以如果芯片内建的振荡器频率变化率为1%(通常芯片内部的振荡器频率变化随着温度,电压,以及工艺变化有10% 20%的变化),那么输出采样信号的时间点也有1%的变化。如附图2中所示,从电路上电复位开始,输出采样由于其产生时钟的不稳定性,上升沿从A(IOOOO)到A(IOOlOO)变化。所以可能采样到A (10000)到A(IOOlOO) 之间的任何数,从而随机性大大增加。
权利要求
1.一种产生真随机数的方法,其特征在于利用采样点的不确定性来实现(1)伪随机数序列产生器在启动后处于自由运行的状态,不停更新并产生新的随机数;(2)确定采样点,电路对伪随机数序列产生器采样,采样点随机,得到一个真随机数。
2.如权利要求1所述的一种产生真随机数的方法,其特征在于所述增加采样点随机性的实现方式为一种是将输出采样信号在不同时钟域之间传递多次;另一种为电路中某一时钟采用电路中内建的振荡器产生。
3.如权利要求1或2所述的一种产生真随机数的方法,其特征在于所述输出采样信号在不同时钟域之间多次传递时,每多跨一次时钟域,多一倍的随机性。
4.如权利要求1或2所述的一种产生真随机数的方法,其特征在于所述内建震荡器频率易受环境影响的因素,其输出采样信号因时钟的不稳定性而增加随机性。
全文摘要
本发明提供一种产生真随机数的方法,在不增加电路额外设计的前提下利用采样时间点的随机性来确保真随机性。伪随机数序列产生器启动之后处于自由运行的状态,即不停更新并产生新的随机数。在特定时间采样点,电路对伪随机数序列产生器采样,得到一个随机数。本发明真随机数的产生利用采样点的不确定性来实现。同时包含两种增加随机性的实现方式一种是将输出采样信号在不同时钟域之间多传递几次;另一种为电路中某一时钟采用电路中内部的振荡器产生。通过本发明提供的方法,使得应用电路设计简单、易于实现,且满足电路设计中真随机数产生的需求。
文档编号G06F7/58GK102566968SQ20101058270
公开日2012年7月11日 申请日期2010年12月10日 优先权日2010年12月10日
发明者官志勇, 汤晓岚 申请人:上海华虹集成电路有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1