随机数生成器及生成随机数输出的方法技术

技术编号:27195874 阅读:14 留言:0更新日期:2021-01-31 11:51
本发明专利技术公开了一种随机数生成器,包括静态随机数生成器、动态熵源、计数器及结合电路。静态随机数生成器包括初始随机数池及静态随机数池以从其中之一者输出静态随机数序列。动态熵源用以生成动态熵位。计数器耦接动态熵源以依据动态熵位生成动态随机数序列。结合电路耦接于静态随机数生成器及计数器,依据静态随机数序列及动态随机数序列输出真随机数序列至动态随机数池。当动态随机数池完全更新时即更新静态随机数池。新静态随机数池。新静态随机数池。

【技术实现步骤摘要】
随机数生成器及生成随机数输出的方法


[0001]本专利技术系关于随机数生成,特别是一种随机数生成器及生成随机数输出的方法。

技术介绍

[0002]随机数被广泛应用于资安及统计抽样领域。随机数生成程序指的是生成符合指定分布之不可预测且独立的数字序列。伪随机数生成器使用种子来生成数字序列。不够随机的种子可能会导致不够随机的序列,从而导致不安全的密码系统或不准确的取样结果。

技术实现思路

[0003]本专利技术实施例提供一种随机数生成器,包括静态随机数生成器、至少一动态熵源、计数器及结合电路。静态随机数生成器包括初始随机数池及静态随机数池,用以从初始随机数池及静态随机数池其中之一者输出静态随机数序列。至少一动态熵源用以生成动态熵位。计数器耦接至少一动态熵源,用以依据动态熵位生成动态随机数序列。结合电路耦接于静态随机数生成器及计数器,用以接收静态随机数序列,及依据静态随机数序列及动态随机数序列输出真随机数序列至动态随机数池。当动态随机数池完全更新时即更新静态随机数池。
[0004]本专利技术实施例提供种生成随机数输出的方法,包括在初始化阶段,从初始随机数池生成初始静态随机数序列,依据初始静态随机数序列及初始动态随机数序列生成初始真随机数序列,及依据初始真随机数序列初始化静态随机数池;及在运作阶段,输出随机数输出,从静态随机数池生成后续静态随机数序列,依据后续静态随机数序列及后续动态随机数序列生成后续真随机数序列,及依据后续真随机数序列更新静态随机数池。
附图说明
[0005]图1是本专利技术实施例中一种随机数生成器之方块图。
[0006]图2是本专利技术实施例中另一种随机数生成器之方块图。
[0007]图3显示图1及图2中的计数器之方块图。
[0008]图4是图1及图2中的动态熵源之方块图。
[0009]图5是图1及图2中的随机数生成器生成随机数输出之方法的流程图。
[0010]图6是图5中步骤S502的实现方法之流程图。
[0011]图7是图5中步骤S504的实现方法之流程图。
[0012]其中,附图标记说明如下:
[0013]1,2:随机数生成器
[0014]10:初始随机数池
[0015]11:静态随机数池
[0016]12(1)至12(N):动态熵源
[0017]13:多工器
[0018]14:计数器
[0019]15:静态随机数生成器
[0020]16:结合电路
[0021]17:动态随机数池
[0022]18:更新电路
[0023]20:压缩电路
[0024]140:条件式反馈电路
[0025]142:线性反馈移位寄存器
[0026]40:第一振荡器
[0027]42:第二振荡器
[0028]44:结合电路
[0029]440:正反器
[0030]500:方法
[0031]S502及S504,S602至S612,S701至S712:步骤
[0032]Bc:种子重植入控制位
[0033]E(1)至E(N),E(n):动态熵位
[0034]OSC1:第一振荡信号
[0035]OSC2:第二振荡信号
[0036]Pfb:反馈路径
[0037]Sd:动态随机数序列
[0038]Sel:选择信号
[0039]Ssrn:静态随机数序列
[0040]Ssrn

:压缩后之真随机数序列
[0041]Ssrn(0):初始静态随机数序列
[0042]Ssrn(1):后续静态随机数序列
[0043]Ssrn(2):随机数
[0044]Ssrn

(2):更新的真随机数
[0045]Strn:真随机数序列
[0046]Strn

:压缩后之真随机数序列
[0047]Srno:随机数输出
具体实施方式
[0048]如本文所用,术语“真正随机”是指比特流或数据序列之汉明权重(hamming weight)及装置间(inter-device,ID)汉明距离(hamming distance)实质上为50%,并且最小熵值(min-entropy)实质上为1。汉明权重测量比特流中非零符元的期望值,以百分比形式表示。ID汉明距离测量响应于相同诘问(challenge)而由两个静态熵源生成的两个静态熵比特流之间的汉明距离。最小熵是比特流之熵值下限,测量比特流的不可预测性。
[0049]图1本专利技术实施例中一种随机数生成器1之方块图。首先随机数生成器1可依据来自初始随机数池的数据更新动态随机数池,接着以连续及迭代方式将来自动态随机数池的
数据更新至静态随机数池。此外,随机数生成器1可依据例如确定性随机位生成器或密码系统等外部电路的请求,从动态随机数池中提取随机数输出Srno。初始随机数池可包括固定的数据,用于使用随机数生成器1的所有装置。装置可以是现场可程序门阵列(field programmable gate arrays,FPGA)。静态随机数池可不断变化且对所有装置的静态随机数池都是独特的。
[0050]随机数生成器1可包括静态随机数生成器15、动态熵源12(1)至12(N)、计数器14、结合电路16、动态(lively)随机数池17及更新电路18,N为正整数。静态随机数生成器15可包括初始随机数池10、静态随机数池11及多工器13。动态熵源12(1)至12(N)可耦接于计数器14。初始随机数池10及静态随机数池11可耦接于多工器13。多工器13及计数器14可耦接于结合电路16。结合电路16可耦接于动态随机数池17。更新电路18可耦接于动态随机数池17及静态随机数池11。虽然本实施例中使用多个动态熵源12(1)至12(N),但本专利技术的范围也包括在随机数生成器1中只采用一个动态熵源12(1)。
[0051]随机数生成器1可以初始化阶段及运作阶段运作。在初始化阶段期间,初始随机数池10可生成初始静态随机数序列Ssrn(0),多工器13可依据选择信号Sel选择来自初始随机数池10的初始静态随机数序列Ssrn(0)作为静态随机数序列Ssrn。初始化阶段可在随机数生成器1开机或启动时使用,选择信号Sel可由外部控制电路生成。在运作阶段期间,静态随机数池11可生成后续随机数序列Ssrn(1),多工器13可依据选择信号Sel从静态随机数池11中选择后续随机数序列Ssrn(1)作为静态随机数序列Ssrn。运作阶段可在启动或更新静态随机数池11时使用。虽然在实施例中采用多工器13以在来自初始随机数池10的数据及来自静态随机数池11的数据之间进行选择,但本专利技术的范围也包括从随机数生成器1中移除多工器13,取而代之的是随机数生成器1可包括选择电路以依据适当的时序致能初始随机数池10及静态随机数池11其中之一者,从而从被致能之随机数池输出静态随机数序列S本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种随机数生成器,其特征在于,包括:一静态随机数生成器,包括一初始随机数池及一静态随机数池,用以从所述初始随机数池及所述静态随机数池其中之一者输出一静态随机数序列;至少一动态熵源,用以生成一动态熵位;及一计数器,耦接所述至少一动态熵源,用以依据所述动态熵位生成一动态随机数序列;及一结合电路,耦接于所述静态随机数生成器及所述计数器,用以接收所述静态随机数序列,及依据所述静态随机数序列及所述动态随机数序列输出一真随机数序列至一动态随机数池(lively random number pool);其中,当所述动态随机数池完全更新时即更新所述静态随机数池。2.根据权利要求1所述的随机数生成器,其特征在于,其中,所述静态随机数生成器还包括:一多工器,耦接于所述初始随机数池及所述静态随机数池,用以从所述初始静态随机数池之一初始真随机数序列及所述静态随机数池之一后续静态真随机数序列中选择其中之一者作为所述静态随机数序列。3.根据权利要求1所述的随机数生成器,其特征在于,还包括:一更新电路,耦接于所述静态随机数池及所述动态随机数池,用以对所述动态随机数池中的多个随机数施加一压缩及一非线性函数以在所述动态随机数池完全更新时生成多个更新的真随机数,并将所述多个更新的真随机数更新至所述静态随机数池。4.根据权利要求1所述的随机数生成器,其特征在于,其中所述定时器包括:一条件式反馈电路,耦接于所述至少一动态熵源及所述结合电路,并用以依据所述动态熵位及所述真随机数序列中的一预定位生成一种子重植入(reseeding)控制位;及一线性回馈移位寄存器,耦接于所述条件反馈电路及所述结合电路之间,用以依据所述种子重植入控制位进行种子重植入。5.根据权利要求4所述的随机数生成器,其特征在于,其中,所述条件式反馈电路用以在每个时钟周期中生成所述种子重植入控制位。6.根据权利要求1所述的随机数生成器,其特征在于,还包括:一压缩电路,耦接于所述结合电路及所述动态随机数池,用以将所述真随机数序列压缩为一压缩后之真随机数序列;其中所述压缩后之真随机数序列用以更新所述动态随机数池。7.根据权利要求1所述的随机数生成器,其特征在于,其中:所述真随机数序列用以更新所述动态随机数池。8.根据权利要求1所述的随机数生成器,其特征在于,其中:当所述动态随机数池之多个更新随机数的一数量达到一目标数量时,所述动态随机数池即为完全更新。9.根据权利要求1所述的随机数生成器,其特征在于,其中:当所述动态随机数池之一更新时长达到一目标时长时,所述动态随机数池即为完全更新。10.根据权利要求1所述的随机数生成器,其特征在于,还包括:一非易失性内存,用以储存所述静态随机数池更新之多个随机数。
11.根据权利要求1所述的随机数生成器,其特征在于,其中,所述初始随机数池是物理不可复制函数(physically unclonable function,PUF)单元数组或具有独立且相同分布的随机变量(independent and identically distributed random variables,...

【专利技术属性】
技术研发人员:吴孟益邵启意杨青松
申请(专利权)人:熵码科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1