具有增强后向保密的随机比特流生成器的制造方法

文档序号:6505676阅读:267来源:国知局
具有增强后向保密的随机比特流生成器的制造方法
【专利摘要】本发明公开了具有增强后向保密的随机比特流生成器,该用于生成随机比特流的随机比特流生成器包括多个反馈移位寄存器,被配置为存储表示随机比特流生成器的内部状态的多个比特值,其中,每个反馈移位寄存器包括寄存器输入和寄存器输出。随机比特流生成器还包括布尔输出函数,配置为从多个反馈寄存器接收多个寄存器输出,执行多个寄存器输出的第一布尔组合,并提供相应输出比特,其中,多个连续输出比特形成随机比特流。随机比特流生成器还包括反馈回路,配置为执行输出比特与至少一个反馈移位寄存器的至少一个寄存器反馈比特的第二布尔组合,使得至少一个反馈移位寄存器的寄存器输入是输出比特的函数。还公开了一种生成随机比特流的方法。
【专利说明】具有增强后向保密的随机比特流生成器
【技术领域】
[0001]本发明的实施方式涉及一种随机比特流生成器。本发明的另一实施方式涉及一种生成随机比特流的方法。本发明的另一实施方式涉及一种其上存储有生成随机比特流的方法的计算机可读数字存储媒介。本发明的进一步实施方式涉及用于混合随机数生成器(RNG)中的密钥流生成器的增强后向保密。
【背景技术】
[0002]混合随机数生成器通常包括真随机数生成器(TRNG)和密码后处理。真随机数生成器利用物理不可预测的效应(放射性衰变、热噪声、振荡器抖动等)来生成随机数。通常,物理随机过程被数字化,由此获得随机比特序列。随机比特序列通常称为原始数据序列。通常进一步对原始数据进行数学后处理以便消除一些技术相关影响,比如偏差,即,O和I不平衡。结果得到用于应用(例如,用于生成密码钥)的随机(比特)序列。
[0003]就混合随机数生成器而言,密码后处理连接于真随机数生成器下游。

【发明内容】

[0004]本发明的实施方式提供一种用于生成随机比特流的随机比特流生成器。所述随机比特流生成器包括多个反馈移位寄存器、布尔输出函数以及反馈回路。多个反馈移位寄存器被配置为存储表示随机比特流生成器的内部状态的多个比特值。每个反馈移位寄存器均包括用于接收寄存器输入数据的寄存器输入和用于提供寄存器输出数据的寄存器输出。布尔输出函数配置为接收由多个反馈寄存器提供的寄存器输出数据,执行寄存器输出数据的第一布尔组合,并提供相应输出比特。多个连续输出比特形成随机比特流。反馈回路配置为执行输出比特与至少一个反馈移位寄存器的至少一个寄存器反馈比特的第二布尔组合,使得至少一个反馈移位寄存器的寄存器输入数据是输出比特的函数。
[0005]本发明的另一实施方式提供一种随机比特流生成器,其包括内部状态存储器、输出函数以及内部状态修改器。内部状态存储器配置为存储随机比特流生成器的内部状态。输出函数被配置为使用当前内部状态的至少一部分来确定随机比特流的当前输出比特。内部状态修改器配置为利用当前内部状态的至少另一部分和随机比特流的当前输出比特来修改内部状态。
[0006]本发明的进一步实施方式提供一种用于生成随机比特流的随机比特流生成器,该生成器包括:用于存储多个比特值的装置,用于确定随机比特流的连续输出比特的装置,以及用于更新内部状态的装置。由存储装置存储的多个比特值表示随机比特流生成器的内部状态。用于确定随机比特流的连续输出比特的装置基于表示内部状态的比特值的一部分的布尔组合来这样做。用于更新内部状态的装置基于随机比特流的连续输出比特的当前输出比特和随机比特流生成器的当前内部状态来这样做。
[0007]本发明的进一步实施方式提供一种生成随机比特流的方法。所述方法包括:从状态存储器中读取生成随机比特流的方法的当前内部状态的第一部分,当前内部状态的第一部分用多个比特值表示;基于表示当前内部状态的第一部分的多个比特值的布尔组合确定随机比特流的新输出比特;基于新输出比特和当前内部状态的第二部分确定下一内部状态的至少一个新输入比特值;以及将新输入比特值提供给状态存储器以便将当前内部状态修改成下一内部状态。
[0008]本发明的又一实施方式提供一种生成随机比特流的方法,所述方法包括:利用生成随机比特流的方法的当前内部状态的一部分确定随机比特流的当前输出比特;以及利用当前内部状态的至少另一部分和当前输出比特修改内部状态。
[0009]本发明的又一实施方式提供一种计算机可读数字存储媒介,其上存储具有在计算机上运行时用于执行前两段中任意一段中描述的生成随机比特流的方法的程序代码的计算机程序。
【专利附图】

【附图说明】
[0010]利用附图来描述本发明的实施方式,其中:
[0011]图1是混合随机数生成器(HRNG)的示意框图;
[0012]图2是密码后处理的操作的示意图;
[0013]图3示出了尤其根据高级加密标准(AES)的分组加密器的输入和输出;
[0014]图4示出了利用几个AES实例来对混合RNG进行密码后处理的示意框图;
[0015]图5示出了流加密器的示意框图;
[0016]图6示出了密钥流模式下的流加密器;
[0017]图7示出了根据实施方式的密钥流反馈模式下的流加密器;
[0018]图8示出了根据又一实施方式的流加密器的示意框图;
[0019]图9示出了根据实施方式的随机比特流生成器的示意框图;
[0020]图10示出了根据又一实施方式的随机比特流生成器;
[0021]图11示出了根据实施方式的生成随机比特流的方法的示意流程图;
[0022]图12示出了根据又一实施方式的生成随机比特流的方法的示意流程图;
[0023]图13示出了根据某些实施方式的具有增强后向保密的混合随机数生成器的示意框图;
[0024]图14示出了根据某些又一实施方式的具有增强后向保密的混合随机数生成器的示意框图;
[0025]图15示出了不具有增强后向保密的混合随机数生成器的示意框图;
[0026]图16示出了具有利用散列函数实现的增强后向保密的混合随机数生成器的示意框图;
[0027]图17示出了根据某些实施方式的具有通过EBS模块中生成的比特序列对内部状态产生的永久影响实现的增强后向保密的混合随机数生成器的示意框图;
[0028]图18示出了根据某又一实施方式的具有通过EBS模块中生成的比特序列对HRNG输出序列产生的永久影响实现的增强后向保密的混合随机数生成器的示意框图;
[0029]图19示出了根据某些进一步实施方式的具有增强后向保密的混合随机数生成器的示意框图。【具体实施方式】
[0030]在利用附图详细描述本发明的以下实施方式之前,要指出的是相同元件或具有相同功能的元件设置有相同或相似参考编号,并且通常省略对设置有相同或相似参考编号的元件进行重复描述。因此,对具有相同或相似参考编号的元件提供的描述可相互交换。在以下描述中,陈述多个细节以便对本发明的实施方式进行更彻底的解释。然而,对本领域技术人员显而易见的是,即使没有这些具体细节也可实施本发明的实施方式。在其他情况下,已知的结构和设备以框图的形式示出,而不详细示出,以免淡化本发明的实施方式。另外,下文描述的不同实施方式的特征可以相互结合,除非特别注明。
[0031]图1示出了混合随机数生成器(HRNG)的示意框图。HRNG包括物理噪声源1、数字转换器2、数学后处理4以及密码后处理6。物理噪声源1、数字转换器2和数学后处理4通常是真随机数生成器(TRNG)的一部分。所有这四个方框,即物理噪声源1、数字转换器2、数学后处理4以及密码后处理6,表示混合随机数生成器(HRNG)。
[0032]当在硬件中实现时,实现密码后处理的密码算法通常需要一大部分区域。
[0033]真随机比特输入密码后处理6中的比率可以改变。例如,按照5:1的比率,密码后处理6具有真随机比特的压缩机的功能。比率可以为1:1,在这种情况下,密码后处理6具有真随机比特的扰码器的功能。该比率甚至可以高达1:512,在这种情况下,密码后处理6具有作为扩展器的性能。在后一种情况下,混合RNG增强了 RNG的性能:在相同的时间期间,除TRNG单独能够应用之外,提供更多的随机数以便供HRNG应用。
[0034]因为随机数生成器(RNG)被并入至许多产品中并在无数密码应用中起着重要作用,所以也经常利用规定需要由随 机数生成器实现的最低标准的标准化组织、政府机关和/或其他组织对这些随机数生成器进行估计。相对新增加的需求是所谓的“增强后向保密”(也称为“回溯阻抗”),理解如下。让我们假设TRNG出现故障并且密码后处理继续以自主方式运行。在这样做的过程中,密码后处理产生伪随机数。假设rl,r2,r3,…是密码后处理产生的比特序列(即,伪随机序列)。密码后处理6具有通常为几百比特数量级的存储器。该存储器在时刻t的内容被称为密码算法在时刻t的内部状态并以此指定为St。通过输出函数,在时刻t根据内部状态St算出输出比特rt,即,第个伪随机比特。随后,内部状态St通过执行“下一状态函数”而转换为后继状态St+1。根据St+1,算出输出比特rt+1,以此类推。
[0035]当密码后处理6以自主方式发挥作用(并由此构成伪随机数生成器,也称为确定性随机数生成器)时,生成(准无形)内部状态序列S1, S2,S3,…,其接着提供伪随机序列r1;r2, r3,…。图2中示意性地示出了这种情况。
[0036]后向保密卿,常规后向保密)指的是,当攻击者了解时刻t之后生成的所有伪随机比特(或大量这些比特)时,攻击者一定不会算出事先生成的伪随机比特。换句话说,即使攻击者了解伪随机比特r1001, r1002,..., r5_,他也一定不会算出比特r999。通常,利用所有合理的密码算法来处理该性能。
[0037]增强后向保密是比后向保密更严格的要求:假设攻击者了解解时刻t之后生成的所有伪随机比特,另外还了解时刻t时的内部状态St。根据增强后向保密的概念,攻击者应该不能确定事先生成的伪随机比特。一般情况下,密码算法不展示这个性能。密码算法设计背后的原理几乎总是如下,内部状态是保密的。实际上,以下内容适用于大多数密码算法:密码算法被视为在人们算出密码钥(密钥恢复攻击)时或在人们算出内部状态(状态恢复攻击)时被破坏。
[0038]因此,需要扩展、升级或修改密码算法,以便展现出所需的“增强后向保密”的特性。
[0039]密码算法的一个实例是高级加密标准(AES)。这是128位分组加密器。输入和输出具有128位,S卩,输入数据的128位块逐块进行加密并产生输出数据的128位块(所采用的密钥长度通常也为128位)。
[0040]图3示意性地示出了利用128位密钥来对输入数据的128位块进行AES加密以获得输出数据的128位块。
[0041]当混合RNG中高级加密标准被用作算法后处理时,需要使用AES几次,以获得增强后向保密。在图4中以框图的形式示意性地示出了这种情况。
[0042]在时刻n,内部状态包括两个128位块412,414。第一块412包含第一状态SI (η),第二块414包含第二状态S2 (η)。第一状态SI (η)提供给第一 AES实例422作为输入并提供给第二 AES实例424作为密钥。第二状态S2 (η)提供给第二 AES实例424作为输入并提供给第一 AES实例422作为密钥(点线)。此外,第一状态SI (η)还通过128位异或函数432与第一 AES实例422的128位输出异或组合。类似地,内部状态S2 (η)的第二 128位块通过第二 128位异或函数434与第二 AES实例424的输出异或组合。在第一异或函数432的输出上,获得第一块Sl(n+l)442,S卩,时间η+1时的下一内部状态的前半部分。在第二异或函数423的输出上,获得时间η+1时的内部状态的第二块S2 (η+1) 444。通过这种方式,借助组件422,432,424和434来实现“下一状态函数”。
[0043]为了确定混合RNG的输出,第一 128位块SI (η) 412和第二 128位块S2 (η) 414通过异或函数455进行异或组合。异或函数455的输出提供给另一个AES实例457作为密钥,该AES实例457接收第二 128位块S2 (η)作为输入。第二 128位块S2 (η)还提供给异或函数459以便与另一个AES实例457的输出进行异或组合。然后在128位异或函数459的输出上可获得混合RNG的输出。
[0044]图4的总结可以如下。椭圆形表示AES算法。来自顶部的箭头表示输入(对应于纯文本)。至底部的箭头提供输出(对应于密码文本)。来自侧面的箭头表示所采用的AES密钥。四个矩形表示人工创造的存储器。四个存储器全部含有128位条目。上面两个方框412,414表示时刻η的内部状态。因此,内部状态具有256位。下面两个方框442,444对应于时刻η+1的内部状态。时刻η+1的内部状态也具有256位。
[0045]两个AES实例422,424实现了密码算法的下一状态函数。用虚线画出的AES实例457实现了密码算法的输出函数。
[0046]因此,已通过AES创建较大的密码算法。较大的算法具有增强后向保密,而简单的基于AES的密码算法,例如如图3所示,通常不具有增强后向保密。
[0047]注意,AES算法本身不具有内部状态。出于这个原因,需要人工创建内部状态。AES为分组加密器。
[0048]除了分组加密器的分类之外,还存在所谓的流加密器类。流加密器通常(或总是)具有内部状态(内部保密状态)。
[0049]图4中示意性地示出的解决方案通常需要较大的区域并且具有较高的功耗。此夕卜,图4中示意性地示出的混合RNG具有128位粒度。例如,即使当只需要16个随机比特时,不可避免地必须生成128个随机比特。
[0050]在实施方式中,流加密器用于代替分组加密器作为混合RNG中的密码算法。流加密器通常逐位(位粒度)产生输出比特。
[0051]图5示出了将被用于描述流加密器的基本术语的流加密器的示意图解。流加密器包括或基于内部状态510、下一状态函数520和输出函数550。借助下一状态函数520更新内部状态510。下一状态函数520在时刻t接收内部状态作为输入并在时刻t+Ι产生输出作为内部状态。换句话说,根据St生成St+1。
[0052]在每个时刻t,输出函数550根据内部状态St510生成输出比特rt。因此,输出函数550采用内部状态St510 (其通常为几百比特大)作为输入并由此产生单个比特rt。在流加密器用于加密的情况下,单个比特rt被称为“密钥流比特”。在流加密器被用作伪随机数生成器的情况下,单个比特rt被称为伪随机比特(NB:每个流加密器通常是伪随机数生成器。然而,不是每个伪随机数生成器都适于用作流加密器)。
[0053]首先,内部状态510为空。用秘密密钥加载该状态。通过这种方式创建S。,初始状态或初始内部状态。原则上,在初始内部状态下,可以直接为存储器单元分配密钥比特。然而,更加频繁的是,通过执行所谓的“密钥加载算法”以不同方式引入密钥。
[0054]通过利用流加密器,根据短密钥(例如,256位)生成长密钥流(其大约可以为2~40或2~64位长或甚至更长)。
[0055]当不使用同一算法作为流加密器,而是作为伪随机数生成器时,密钥反而被称为“种子”,密钥加载算法反而被称为“种子算法”并且密钥流反而被称为“伪随机序列”。
[0056]同样对于流加密器来说,陈述坚持认为生成器在一般情况下不具有“增强后向保密”的特性。下面描述的修改使(一部分)流加密器具有增强后向保密。
[0057]考虑图6,其示意性地示出了所谓的密钥流模式下的流加密器。已经初始化内部状态。现在,算法在没有输入的情况下运行并永久地产生密钥比特。给出后向保密,但没给出增强后向保密。
[0058]图7示出了所谓的密钥流反馈模式下的一般流加密器的示意框图。另外,装置以自主方式运行(没有外部输入;已经初始化该装置)。完全或部分使用所产生的密钥流。同时,通过与开始送入种子相同的方式或相似的方式将密钥流永久地送入内部状态。这是通过反馈回路780实现的,该反馈回路连接(布尔)输出函数550的输出和内部状态存储器510(例如其是多个反馈移位寄存器)的输入。
[0059]利用一部分流加密器,这产生了要创建的增强后向保密的特性。
[0060]至少根据实施方式,提出了当在需要增强后向保密的混合RNG中被用作密码后处理时,在密钥流反馈模式下永久地操作流加密器。
[0061]备注1:存在大量的且定义极不相同的流加密器。是否可以获得增强后向保密也因此取决于流加密器和/或其定义的类型。
[0062]备注2:存在流加密器(然而,假设其是例外),由于反馈密钥流的动作,密钥流反馈模式由此导致具有几个,例如两个前趋内部状态st_i和S’ t l的内部状态st。实际上,该性能是必须的。相对于过去的含糊情况无论如何都支持所寻求的增强后向保密。然而,由于含糊的结果,内部状态同样会失去熵。出于这个原因,需要在密钥流反馈模式下精确分析这些流加密器。当永久性失去熵之后,内部状态至可以在短时间内操作。然后,需要从TRNG重新载入新熵(记住流加密器可以是混合RNG的一部分)。换句话说,这些流加密器只可以按照较小的扩展率进行操作。内部状态需要及时提供最新熵(从TRNG)。
[0063]备注3:对于大多数流加密器来说,通过创建一种散列函数(单向函数)来获得密钥流反馈模式下的增强后向保密。这意味着一方面明确(不含糊地)确定前趋内部状态,另一方面,实际又难以进行计算。更确切地,难以计算前趋内部状态的这些比特,形成用于流加密器输出函数的输入可能就足够了(图5-7中的参考标号550)。
[0064]图8以示意性框图形式示出了说明性实例。图8中所示的随机比特流生成器基于经典流加密器。内部状态(或内部状态存储器)包括几个线性反馈移位寄存器(LFSR)810-1,810-2,…810-39和810-40 (在所描述的情况下为40个LFSR)。因空间不足,图8中未示出LFSR的反馈函数。不同LFSR可以具有不同长度。所有LFSR (例如,所有触发器)的单元一起构成内部状态。
[0065]通过在一个时钟周期同时切换所有移位寄存器来实现下一状态函数。将每个移位寄存器的第一个单元的内容提供给布尔组合函数850。布尔组合函数(布尔输出函数)850根据40个输入比特产生一个输出比特,即,用于伪随机比特rt的密钥流比特。 [0066]每个移位寄存器的最后一个单元接收新值。该新值例如可以是每个单个移位寄存器的密钥流比特rt和相应反馈值的和(模数2,即,异或)。
[0067]注意,除第一单元内容(从移位寄存器810-1至810-40输出并进一步由布尔组合逻辑850处理的)之外,只能转移所有其他单元的内容。针对增强后向保密,这意味着了解时刻t的内部状态St的攻击者也了解大部分前趋内部状态St_lt)对攻击者来说,前趋内部状态Sw中只有40个单元未知。原因是增强后向保密需要输出序列IVyiVyiV1,…的后向保密,但不需要一系列内部状态St_3,St_2,St_1;…的后向保密。
[0068]继续假设攻击者能够获得时刻t的内部状态St,对攻击者来说,前趋内部状态Sw中有40个单元未知。对于它们的分配来说,具有2~40种可能性。在测试所有这些可能性时,刚好有产生已知内部状态St的一种可能性。因此,在这种情况下,利用即使不可逾越也具有一定障碍的2~40个计算步骤的强度给出增强后向保密。
[0069]当然,这仅仅是一个实例。对于其他流加密器来说,其他值可适用。
[0070]因此,图8示意性地示出了可以被用作流加密器或(确定性)随机数生成器的随机比特流生成器的一个可能实施方式。随机比特流生成器包括配置为存储表示随机比特流生成器的内部状态的多个比特值的多个反馈移位寄存器810-1至810-40。每个反馈移位寄存器包括寄存器输入(上文称为“最后一个单元”)和寄存器输出(上文称为“第一个单元”)。随机比特流生成器进一步包括配置为从多个反馈寄存器810-1至810-40接收多个寄存器输出的布尔输出函数850。布尔输出函数850进一步配置为执行多个寄存器输出的第一布尔组合并提供相应输出比特。多个连续的输出比特形成随机比特流。随机比特流生成器还包括反馈回路870,配置为执行输出比特与至少一个反馈移位寄存器810-1至810-40的至少一个寄存器反馈比特的第二布尔组合,使得至少一个反馈移位寄存器的寄存器输入是输出比特的函数。在图8中,第二布尔组合用线性反馈移位寄存器810-1至810-40的左端的异或门示意性地示出。
[0071]如图8中示意性地示出的随机比特流生成器的描述也可以如下。随机比特流生成器包括配置为存储随机比特流生成器的内部状态的内部状态存储器810-1至810-40。随机比特流生成器进一步包括输出函数850,配置为使用当前内部状态的至少一部分来确定随机比特流的当前输出比特。用于确定当前输出比特的当前内部状态的一部分例如可以是40个移位寄存器810-1至810-40的第一个单元。此外,随机比特流生成器包括内部状态修改器,配置为利用当前内部状态的至少另一部分和随机比特流的当前输出比特来修改内部状态。当前内部状态的另一部分可以包括不同移位寄存器810-1至810-40的选择单元。通常,LFSR810-1至810-40中的每一个执行“自包含”反馈,其仅使用相应移位寄存器的单元子集且不使用任意一个其他移位寄存器的的单元。根据实施方式,随机比特流的当前输出比特还用于修改内部状态。注意,输出函数850可以包括延迟,使得随机比特流的当前输出比特实际上与随机比特流生成器的先前内部状态相关。[0072]多个移位寄存器810-1至810-40是用于存储表示随机比特流生成器的内部状态的多个比特值的装置的几个可能实例中的一个。输出函数850是用于基于表示内部状态的比特值的一部分的布尔组合来确定随机比特流的连续输出比特的装置的几个可能实例中的一个。反馈回路或内部状态修改器870是用于基于随机比特流的连续输出比特的当前输出比特和随机比特流生成器的当前内部状态来更新内部状态的装置(或其一部分)的几个可能实例中的一个。
[0073]图9示出了根据实施方式的随机比特流生成器的示意框图。随机比特流生成器包括多个反馈移位寄存器910-1,910-2,…,910-1。多个反馈移位寄存器910至910_i中的每一个包括反馈函数912-1,912-2,…,912-1。每个反馈函数配置为基于由相应反馈移位寄存器910-1至910-1存储的选择比特值的布尔组合来确定相应反馈移位寄存器的寄存器反馈比特。在图9中,三个所示的反馈移位寄存器910-1至910-1包括相应的寄存器反馈比特914-1,914-2和914-1。反馈移位寄存器910-1至910_i的与选择比特值相对应的单元在图9中用粗轮廓指示。
[0074]随机比特流生成器包括(布尔)输出函数950。输出函数950也可被视为用于基于表示内部状态的比特值的一部分,例如移位寄存器910-1至910-1的输出比特916-1,916-2,…,916-1的(布尔)组合来确定随机比特流的连续输出比特的装置。
[0075]反馈回路970包括输出函数950的输出与第二布尔组合974的输入之间的连接972。第二布尔组合974的另一输入由第i个移位寄存器910-1的反馈函数912-1提供。将第二布尔组合974的输出提供给移位寄存器910-1的输入比特914-1。通过这种方式,输出比特与至少一个反馈移位寄存器(即反馈移位寄存器910-1)的至少一个寄存器反馈比特(反馈函数912-1的输出提供的)组合,使得至少一个反馈移位寄存器910-1的寄存器输入914-1是输出比特的函数。
[0076]根据实施方式,多个反馈移位寄存器910-1至910-1中的至少一个或甚至所有反馈移位寄存器可以是线性反馈移位寄存器。或者,多个反馈移位寄存器中的至少一个或全部可以是非线性反馈移位寄存器。另一种选择为一部分反馈移位寄存器是线性反馈移位寄存器,其余反馈移位寄存器是非线性移位寄存器。
[0077]如图9示意性地示出,多个反馈移位寄存器910-1至910-1中的至少两个可以具有不同长度。
[0078]由反馈回路970执行的第二布尔组合974可以是至少一个反馈寄存器的输出比特和寄存器反馈比特的异或组合。[0079]随机比特流生成器还可以包括配置为基于种子信息、初始密钥或TRNG的输入来初始化反馈移位寄存器910-1至910-1的内部状态的状态初始化器。图9中示意性地示出了相应种子/初始密钥/TRNG的输入908-1,908-2,…,908-1。如上所述,可以通过将外部输入908-1至908-1提供给移位寄存器910-1至910_i的输入比特914-1至914_i来将熵重新载入内部状态。在实施方式中,状态初始化器可以包括逻辑初始化函数,配置为接收种子信息(或初始密钥或TRNG的输入)908-1至908-1作为输入并用表示随机比特流生成器的与种子信息(或初始密钥或TRNG的输入)相关联的初始状态的比特值加载多个反馈移位寄存器。
[0080]在实施方式中,随机比特流生成器可以进一步包括随机信息接口,配置为从随机生成器接收随机比特序列。反馈回路可以配置为处理随机比特序列,使得至少一个反馈移位寄存器的寄存器输入也是随机比特序列的函数。随机信息接口提供将最新熵重新载入内部状态的另一选择。
[0081]随机比特流生成器可以是随机数生成器或伪随机数生成器。在可选实施方式中,随机比特流生成器可以是或可以用作流加密器或流加密生成器。
[0082]图10示出了根据至 少一些进一步实施方式的随机比特流生成器的示意框图。随机比特流生成器包括内部状态存储器1110、输出函数1150和内部状态修改器1170。内部状态存储器1010配置为存储随机比特流生成器的内部状态。输出函数1050配置为使用当前内部状态的至少一部分1016来确定随机比特流的当前输出比特。内部状态修改器配置为利用当前内部状态的至少另一部分1017和随机比特流的当前输出比特来修改内部状态。因此,内部状态修改器将修改信息反馈到内部状态存储器1010的输入部分1014。内部状态存储器可以包括多个移位寄存器。
[0083]随机比特流生成器可以进一步包括状态初始化器1008,被配置为基于种子信息或初始密钥或TRNG的输入来初始化随机比特流生成器的内部状态。例如,状态初始化器1008可以将初始化信息加载到内部状态存储器1010的输入部分1014中。然而,可能存在借助状态初始化器1008将初始状态或种子信息加载到内部状态存储器1010的比较选择方案。
[0084]状态初始化器1008可以包括逻辑初始化函数,配置为接收种子信息等作为输入并向内部状态存储器加载表示随机比特流生成器的与种子信息相关联的内部状态的比特值。
[0085]图10中示意性地示出的随机比特流生成器可以进一步包括随机信息接口(未示出),配置为从随机生成器(例如,TRNG)接收随机比特序列,其中内部状态修改器可以配置为处理随机比特序列,使得内部状态也是随机比特序列的函数。如上所述,此结构可以用于将最新熵重新载入内部状态。
[0086]内部状态存储器1010可以被视为用于存储表示随机比特流生成器的内部状态的多个比特值的装置。输出函数1050可以被视为用于基于表示内部状态的比特值的一部分的布尔组合来确定随机比特流的连续输出比特的装置。内部状态修改器1070可以被视为用于基于随机比特流的连续输出比特的当前输出比特和随机比特流生成器的当前内部状态(或其一部分)来更新内部状态的装置。
[0087]图11示出了根据实施方式的生成随机比特流的方法的示意流程图。该方法包括从状态存储器中读取或检索生成随机比特流的方法的当前内部状态的第一部分的步骤或动作1102。当前内部状态的第一部分由多个比特值表示。状态存储器可以包括多个反馈移位寄存器。在随后的步骤或动作1104中,基于表示当前内部状态的第一部分的多个比特值的布尔组合确定随机比特流的新输出比特。
[0088]在步骤1106中,基于新输出比特和当前内部状态的第二部分确定下一内部状态的至少一个新输入比特值。确定下一内部状态的至少一个新输入比特值可以包括:执行新输出比特和内部状态的第二部分的逻辑组合。第二部分可以由当前内部状态提供的多个反馈比特表示。
[0089]在步骤或动作1108中,将新输入比特值馈送至状态存储器以便将当前内部状态修改成下一内部状态。在实施方式中,将新输入馈送至状态存储器可以包括:按照多个反馈移位寄存器的相应输入比特将多个新输入比特值提供给多个反馈移位寄存器。
[0090]在一些实施方式中,该方法可以进一步包括在读取当前内部状态的第一部分之前,通过将种子信息(或初始密钥或TRNG的输入)馈送至状态存储器来初始化内部状态的动作。通过这种方式,例如当开始新任务或应用时,比如生成新流加密器或密码钥时,使状态存储器初始化。
[0091]在实施方式中,可以迭代执行所述方法。在预定迭代次数之后或在随机迭代次数之后,所述方法可以进一步包括:从随机数生成器接收随机信息;以及当确定下一内部状态的至少一个新输入比特值时使用随机信息。通过这种方式,基于新输出比特、当前内部状态的第二部分并基于随机信息来确定新输入比特值。
[0092]图12示出了根据进一步可能的实施方式的生成随机比特流的方法的示意框图。在步骤或动作1202中,利用生成随机比特流的方法的当前内部状态的一部分确定随机比特流的当前输出比特。在一些实施方式中,确定当前输出比特的步骤1202可以包括估计表示当前内部状态的一部分的比特值的逻辑组合。
[0093]然后,在步骤1204中,利用当前内部状态的至少另一部分和当前输出比特修改内部状态。
[0094]根据利用图13至图19阐述的进一步实施方式,混合随机数生成器可以包括第三模块或除真随机数生成器和密码后处理之外的其他模块。额外模块可以称为“外部EBS产生器”,例如,其中“EBS”代表“扩展后向保密”。模块可以永久地产生比特序列,永久地将比特序列送入密码后处理的内部状态。
[0095]图13示出了相应HRNG的示意框图。图13中示意性示出的HRNG包括密码后处理
6、真随机数生成器TRNG以及作为额外模块的辅助比特序列产生器82。辅助比特序列产生器82可以被视为增强后向保密产生器(EBS产生器)并且通常配置为产生比特序列。由辅助比特序列产生器82产生的比特序列可以是提供给密码后处理6的作为额外输入的随机比特序列或伪随机比特序列。
[0096]密码后处理6可以是分组加密器或流加密器。在以下描述中,重点是流加密器。然而,随后的描述对大部分分组加密器来说同样是有效的。
[0097]作为侧备注,指出了对HRNG产生的每个输出比特来说,将EBS产生器82的一个比特送入密码后处理6。因此,在该实例中,从EBS产生器82至密码后处理6的输入与密码后处理6提供的输出比特之比是1:1。然而,对真随机数生成器TRNG提供的密码后处理6的输入来说,另一个比可能是有效的。当TRNG提供的比特也可以按照1:1的比进入密码后处理6时,该比为5:1,在这种情况下,密码后处理6具有TRNG比特的压缩机的功能。相反,该比例如为1:16,在这种情况下,密码后处理6具有TRNG比特的扩展器的功能。
[0098]根据图13、图14、图17、图18和图19中示意性地示出的实施方式,可以通过生成外比特序列并将该外比特序列永久地(即,通常按照1:1的比)送入密码后处理6的内部状态来实现混合RNG中密码后处理算法的增强后向保密之后的探索。
[0099]通过将未知的比特送入内部状态,丢失密码后处理算法的性能,每个内部状态据此具有唯一定义的(且可测的)前趋状态。换句话说,后处理算法由于将未知比特送入内部状态而获得增强后向保密。
[0100]EBS产生器82的可能实现在于含有64位秘密密钥的64位长的存储器。在EBS产生器82的操作期间,顺序读取密钥比特并送入密码后处理6。
[0101]增强后向保密在这种情况下被实现有264的强度:设法了解密码后处理6的内部状态,但不了解EBS产生器内的64位密钥的攻击者具有264种可能性来得出先前内部状态,或者,为此得出已经在过去输出的随机数(假设TRNG尚未传递输入一可能是因为TRNG出现故障或者可能是因为HRNG目前处于扩展阶段)。
[0102]EBS产生器的另一可能实现在于64位长最大周期线性反馈移位寄存器(LFSR)等。当LFSR使用任意初始状态初始化时(通常,应避免全零状态作为初始状态),该移位寄存器产生周期长度264-1的输出序列。换句话说,人们可以使用64位长秘密密钥(其通常不包含全零)并利用该秘密密钥来初始化64位LFSR。64位LFSR自主产生周期长度264_1的伪随机序列。该序列是按照1:1的比送入HRNG的密码后处理6的EBS产生器的输出序列。
[0103]EBS产生器82的进一步可能的实现在于如先前实例中的64位最大周期LFSR。然而,LFSR不自主操作,但会定期地或不定期地从TRNG的噪声源接收输入。在图14的描述的上下文中将对其做进一步的详细解释。
[0104]根据一些实施方式,除密码后处理6的内部状态之外,还可以对EBS产生器82进行更好的物理保护。原因如下:假设TRNG出现故障。因此,EBS产生器82内的64位LFSR自主运行。设法在这种情况下了解密码后处理算法的内部状态和EBS-LFSR的状态的攻击者然后又能够确定在过去生成的随机数。
[0105]图14示出了根据一些实施方式的随机比特序列生成器的示意框图,该随机比特序列生成器包括辅助比特序列产生器或EBS产生器82。在该实例中,具有TRNG (虚线)的物理噪声源的输入的64位最大周期LFSR被用作用于辅助比特序列产生器82的EBS产生器。
[0106]密码后处理算法被实现为流加密器。在流加密器内,9个非线性最大周期反馈移位寄存器(NLFSR)形成或存储内部状态。
[0107]在扩展阶段期间,HRNG在其输出处提供更多比特,然后将TRNG比特送入密码后处理6的内部状态。因此,在大部分时间里关闭门。与门是开启或关闭(即,是否将TRNG的真随机比特送入密码后处理6的内部状态)无关,利用HRNG输出的每个比特将来自辅助比特序列产生器(EBS-64位LFSR)的一个比特送入内部状态。
[0108]密码后处理6包括内部状态1410,该内部状态又包括9个非线性反馈移位寄存器NLFSRl至NLFSR9。密码后处理6进一步包括组合函数或输出函数1450。
[0109]图14中所示的随机比特流生成器进一步包括设置在TRNG的输出处的门84。门84可以开启以便将真随机数据提供给密码后处理6。随机比特流生成器进一步包括异或门或函数形式的辅助比特序列组合器86。辅助比特序列组合器86配置为逻辑组合(即,利用诸如异或等逻辑函数组合)辅助比特序列与门84的输出提供的门输出数据。换句话说,辅助比特序列组合器86配置为逻辑组合辅助比特序列与在真随机数生成器的活动周期内由真随机数生成器提供的真随机比特序列,以及在TRNG闲置周期内由门84的输出提供的常数值。门84的输出可以被视为用于多个反馈移位寄存器1410的与辅助比特序列产生器82提供的辅助比特序列组合的寄存器输入数据。
[0110]图15示出了没有增强后向保密的混合随机数生成器是示意框图,可以对没有增强后向保密的混合随机数生成器与根据实施方式的混合随机数生成器进行比较,以便提供增强后向保密的措施和元件可以变得更加显而易见。图15中所示的混合随机数生成器(HRNG)包括真随机数生成器、TRNG输出与内部状态1510输入之间的门84、下一状态函数1512以及输出函数1550。当门84关闭时(B卩,表示门84的开关开启时),不将随机数从TRNG送入内部状态1510。因此,HRNG处于扩展阶段。
[0111]由于下一状态函数1512是双射函数,能够了解时刻t的内部状态的攻击者可以确定先前内部状态。运用这些知识,他还可以确定过去由HRNG输出的随机数。
[0112]图16示出了不符合本实施方式的HRNG的示意框图。图16中所示的HRNG具有增强后向保密,然而该增强后向保密利用密码散列函数1612来实现。除了下一状态函数的差别之外,图15和图16中的HRNG基本上相同。
[0113]密码散列函数1612运作如下。在根据当前内部状态计算下一内部状态的过程中涉及密码散列函数1612。旧密码散列函数具有可以有效算出其值的属性,但反函数实际上是无法计算的(计算上是不可行的)。由于密码散列函数的属性,开始学习时刻t的内部状态的攻击者无法计算先前内部状态。因此,攻击者无法确定过去由HRNG输出的随机数。然而,实施方式提供了一种防止攻击者确定过去由随机比特流生成器或HRNG输出的随机数的不同方法,如现在结合图17-19所描述的。
[0114]在图17至图19中示出了随机比特流生成器或HRNG的示意框图,所述随机比特流生成器或HRNG经由EBS产生器82生成的比特序列对内部状态和/或HRNG输出序列的持久影响提供增强后向保密。
[0115]图17示出了具有通过EBS产生器模块82内生成的序列对内部状态的持久影响获得的增强后向保密的随机比特流生成器或HRNG的示意框图。EBS产生器或辅助比特序列产生器82在输入侧与内部状态存储器1510连接,以便辅助比特序列可以与送入内部状态存储器1510的反馈移位寄存器的寄存器输入数据逻辑组合。时刻t的内部状态1510现在是辅助比特序列产生器82提供的辅助比特序列的函数。尤其是在辅助比特序列产生器82由包括随机比特流生成器的半导体芯片内的一个或多个屏蔽层物理保护的情况下,对攻击者来说很难确定过去辅助比特序列产生器82提供给内部状态1510的特定比特值。攻击者必须检查的可能性次数在攻击者想回到过去以确定时刻t-nT的先前内部状态的每个时钟相位加倍,其中T是与一个时钟相位相对应的时间间隔。
[0116]图18示出了根据进一步实施方式的后向保密增强的随机比特流生成器或HRNG的示意框图。增强后向保密通过辅助比特序列产生器(EBS产生器)82中生成的比特序列对HRNG输出序列的持久影响来实现。为此,将辅助比特序列组合器1886设置在输出函数1550的输出处以便逻辑组合辅助比特序列的当前比特和输出函数1550提供的输出比特。
[0117]图19示出了根据进一步实施方式的随机比特流生成器的示意框图。图19中示意性示出的随机比特流生成器HRNG基本上是图17和图18中所示的实施方式的组合。随机比特流生成器包括配置为产生第一辅助比特序列的第一辅助比特序列产生器82以及配置为产生第二辅助比特序列的第二辅助比特序列产生器。随机比特流生成器进一步包括第一辅助比特序列组合器,配置为逻辑组合辅助比特序列(或其当前比特)与输出函数1550提供的输出比特,从而产生随机比特流或HRNG输出的相应比特。第一辅助比特序列组合器也是异或函数或门1886。随机比特流生成器或HRNG进一步包括配置为逻辑组合第二辅助比特序列与寄存器输入数据的第二辅助比特序列组合器(图19中没有明确示出)。根据图19中示意性示出的随机比特流生成器或HRNG通过以下方式提供增强后向保密:1)第一辅助比特序列产生器82中生成的第一辅助比特序列对HRNG输出序列的持久影响,以及2)第二辅助比特序列产生器83内产生的第二辅助比特序列对下一内部状态,即,寄存器输入数据的持久影响。
[0118]图17至图19中示意性示出的实施方式和进一步的类似实施方式涉及一种外部EBS产生器。
[0119]虽然已经在装置的上下文中描述了一些方面,但显然这些方面也表示对应方法的描述,其中方框或设备对应于方法步骤或方法步骤的特征。同理,在方法步骤的上下文中描述的方面也表示对应方框或项目的描述或对应装置的特征。部分或全部方法步骤可以通过(或利用)硬件装置,例如微处理器、可编程计算机或电子电路等来执行。在一些实施方式中,一个或多个最重要的方法步骤可以通过这样的装置来执行。
[0120]在以下的详细描述中,可以看出,各个特征在实施方式中被组合在一起以便精简本发明。本发明的方法不被解释为体现要求保护的实施方式要求的特征比在每条权利要求中明确列举的要多的意图。相反,如以下权利要求所体现的,本发明主题可以在于不是单个公开的实施方式的所有特征。因此,以下权利要求由此并入详细描述,其中每条权利要求可以独立成为单独实施方式。尽管每条权利要求可以独立成为单独实施方式,但要注意的是,虽然从属权利要求在权利要求中可以指与一条或多条其他权利要求的具体组合,但是其他实施方式还可以包括与从属权利要求与每条其他从属权利要求的主题的组合或每个特征与其他从属或独立权利要求的组合。本文提出了这样的组合,除非说明并不是预期的具体组合。此外,旨在即便无法直接使该权利要求从属于独立权利要求,也要包括权利要求对任何其他独立权利要求的特征。
[0121]进一步要注意的是,说明书中或权利要求中所公开的方法可以通过具有用于执行这些方法的每个相应步骤的装置的设备来实现。
[0122]此外,在一些实施方式中,单个步骤可以包括或可以分成多个子步骤。可以包括这些子步骤并构成单个步骤的公开内部的一部分,除非明确地排除。
[0123]根据某些实现要求,本发明的实施方式可以在硬件或软件中实现。本实现可以利用其上存储有电子可读控制信号的数字存储媒介来执行,数字存储媒介例如为软盘、DVD、蓝光光盘、CD、ROM、PROM、EPROM、EEPROM或闪存等,与可编程计算机系统协作(或能够与此协作),以便执行各种方法。因此,数字存储媒介可以是计算机可读媒介。
[0124]根据本发明的某些实施方式包括具有电子可读控制信号的数据载体,电子可读控制信号能够与可编程计算机系统协作,以便执行本文描述的方法之一。
[0125]一般情况下,本发明的实施方式可以实现为具有程序代码的计算机程序产品,当计算机程序产品在计算机上运行时,程序代码可用于执行方法之一。程序代码例如可以存储在机器可读载体上。
[0126]其他实施方式包括存储在机器可读载体上,用于执行本文描述的方法之一的计算机程序。
[0127]换句话说,本发明方法的实施方式由此是一种计算机程序,该计算机程序具有在该计算机程序在计算机上运行时用于执行本文描述的方法之一的程序代码。
[0128]因此,本发明方法的另一个实施方式是一种包括或其上记录有用于执行本文描述的方法之一的计算机程序的数据载体(或数字存储媒介或计算机可读媒介)。数据载体、数字存储媒介或记录媒介通常是有形媒介和/或非瞬态媒介。
[0129]因此,本发明方法的另一个实施方式是表示用于执行本文描述的方法之一的计算机程序的数据流或一系列信号。数据流或一系列信号例如可以配置为通过数据通信连接,例如通过因特网进行传输。
[0130]另一个实施方式包括处理装置,例如被配置为或适于执行本文描述的方法之一的计算机或可编程逻辑器件。
[0131]另一个实施方式包括其上安装有用于执行本文描述的方法之一的计算机程序的计算机。
[0132]根据本发明的另一个实施方式包括配置为将用于执行本文描述的方法之一的计算机程序传输至(例如,通过电子方式或光学方式)接收器的装置或系统。接收器例如可以是计算机、移动设备、存储设备等。装置或系统例如可以包括用于将计算机程序传输至接收器的文件服务器。
[0133]在某些实施方式中,可编程逻辑器件(例如,现场可编程门阵列)可以用于执行本文描述的方法的一部分或全部功能。在某些实施方式中,现场可编程门阵列可以与微处理器协作以便执行本文描述的方法之一。一般情况下,所述方法优选由任意硬件装置执行。
[0134]上述实施方式仅仅用于说明本发明的原理。应理解,本文描述的布置及详情的修改和变化对本领域技术人员来说是显而易见的。因此,旨在于仅受即将实现的专利权利要求的范围的限制,而不受通过描述并阐述本文的实施方式的方式而提出的具体细节的限制。
【权利要求】
1.一种用于生成随机比特流的随机比特流生成器,所述随机比特流生成器包括: 多个反馈移位寄存器,被配置为存储表示所述随机比特流生成器的内部状态的多个比特值,其中,每个反馈移位寄存器均包括用于接收寄存器输入数据的寄存器输入端和用于提供寄存器输出数据的寄存器输出端; 布尔输出函数,被配置为接收由所述多个反馈寄存器的所述寄存器输出端提供的所述寄存器输出数据,执行所述寄存器输出数据的第一布尔组合,并提供相应的输出比特,其中,多个连续的输出比特形成所述随机比特流;以及 反馈回路,被配置为执行所述输出比特与所述多个反馈移位寄存器中的至少一个的至少一个寄存器反馈比特的第二布尔组合,使得所述至少一个反馈移位寄存器的所述寄存器输入数据为所述输出比特的函数。
2.根据权利要求1所述的随机比特流生成器,其中,所述多个反馈移位寄存器中的至少一个为线性反馈移位寄存器。
3.根据权利要求1所述的随机比特流生成器,其中,所述多个反馈移位寄存器中的至少一个为非线性反馈移位寄存器。
4.根据权利要求1所述的随机比特流生成器,其中,所述多个反馈移位寄存器中的至少两个具有不同的长度。
5.根据权利要求1所述的随机比特流生成器,其中,由所述反馈回路执行的所述第二布尔组合为所述输出比特与所述至少一个反馈寄存器的所述寄存器反馈比特的异或组合。
6.根据权利要求1所述的随机比特流生成器,其中,所述多个反馈移位寄存器中的每一个均包括反馈函数,所 述反馈函数被配置为基于由所述相应反馈移位寄存器存储的所选比特值的布尔组合,来确定所述相应反馈移位寄存器的所述寄存器反馈比特。
7.根据权利要求1所述的随机比特流生成器,还包括被配置为基于种子信息来将所述反馈移位寄存器的所述内部状态初始化的状态初始化器。
8.根据权利要求7所述的随机比特流生成器,其中,所述状态初始化器包括逻辑初始化函数,所述逻辑初始化函数被配置为接收所述种子信息作为输入并向所述多个反馈移位寄存器加载表示所述随机比特流生成器的与所述种子信息相关联的初始状态的比特值。
9.根据权利要求1所述的随机比特流生成器,还包括被配置为从随机生成器接收随机比特序列或从伪随机生成器接收伪随机比特序列的随机信息接口,其中,所述反馈回路被配置为处理所述随机比特序列或所述伪随机比特序列,使得所述至少一个反馈移位寄存器的所述寄存器输入还为所述随机比特序列或所述伪随机比特序列的函数。
10.根据权利要求1所述的随机比特流生成器,还包括: 辅助比特序列产生器,被配置为产生辅助比特序列;以及 辅助比特序列组合器,被配置为将所述辅助比特序列与所述寄存器输入数据、所述寄存器输出数据和所述输出比特中的一个逻辑组合。
11.根据权利要求10所述的随机比特流生成器,还包括: 第二辅助比特序列产生器,被配置为产生第二辅助比特序列;以及 第二辅助比特序列组合器,被配置为将所述第二辅助比特序列与所述寄存器输入数据逻辑组合; 其中,所述辅助比特序列组合器被配置为将所述辅助比特序列与所述输出比特逻辑组人口 O
12.根据权利要求10所述的随机比特流生成器,其中,所述辅助比特序列产生器包括反馈移位寄存器。
13.根据权利要求1所述的随机比特流生成器,其中,所述随机比特流生成器为随机数生成器或伪随机数生成器。
14.根据权利要求1所述的随机比特流生成器,其中,所述随机比特流生成器为流加密生成器。
15.一种用于生成随机比特流的随机比特流生成器,所述随机比特流生成器包括: 内部状态存储器,被配置为存储所述随机比特流生成器的内部状态; 输出函数,被配置为使用当前内部状态的至少一部分来确定所述随机比特流的当前输出比特;以及 内部状态修改器,被配置为利用所述当前内部状态的至少另一部分和所述随机比特流的所述当前输出比特来修改所述内部状态。
16.根据权利要求15所述的随机比特流生成器,其中,所述内部状态修改器被配置为执行所述当前内部状态的所述至少另一部分和所述当前输出比特的布尔组合,以确定要馈送至所述内部状态存储器的一个或多个比特值。
17.根据权利要求15 所述的随机比特流生成器,其中,所述内部状态存储器包括多个移位寄存器。
18.根据权利要求15所述的随机比特流生成器,还包括被配置为基于种子信息将所述随机比特流生成器的所述内部状态初始化的状态初始化器。
19.根据权利要求18所述的随机比特流生成器,其中,所述状态初始化器包括逻辑初始化函数,所述逻辑初始化函数被配置为接收所述种子信息作为输入并向所述内部状态存储器加载表示所述随机比特流生成器的与所述种子信息相关联的所述初始状态的比特值。
20.根据权利要求15所述的随机比特流生成器,还包括配置为从随机生成器接收随机比特序列的随机信息接口,其中,所述内部状态修改器被配置为处理所述随机比特序列,使得所述内部状态还为所述随机比特序列的函数。
21.根据权利要求15所述的随机比特流生成器,其中,所述随机比特流生成器为流加密生成器。
22.一种随机比特流生成器,包括: 用于存储表示所述随机比特流生成器的内部状态的多个比特值的装置; 用于基于表示所述内部状态的所述多个比特值的一部分的布尔组合来确定所述随机比特流的连续输出比特的装置;以及 用于基于所述随机比特流的所述连续输出比特的当前输出比特和所述随机比特流生成器的当前内部状态来更新所述内部状态的装置。
23.一种用于生成随机比特流的方法,所述方法包括: 从状态存储器中读取生成所述随机比特流的方法的当前内部状态的第一部分,所述当前内部状态的所述第一部分由多个比特值表示; 基于表示所述当前内部状态的所述第一部分的所述多个比特值的布尔组合来确定所述随机比特流的新输出比特;基于所述新输出比特和所述当前内部状态的第二部分来确定下一内部状态的至少一个新输入比特值;以及 将所述新输入比特值馈送至所述状态存储器以将所述当前内部状态修改成所述下一内部状态。
24.根据权利要求23所述的方法,其中,所述状态存储器包括多个反馈移位寄存器,并且确定所述下一内部状态的所述至少一个新输入比特值包括执行所述新输出比特和所述内部状态的第二部分的逻辑组合,所述第二部分由所述当前内部状态提供的多个反馈比特表示,并且其中,将所述新输入比特值馈送至所述状态存储器包括按照所述多个反馈移位寄存器的相应输入比特将多个新输入比特值馈送至所述多个反馈移位寄存器。
25.根据权利要求23所述的方法,还包括: 在读取所述当前内部状态的所述第一部分的步骤之前,通过将种子信息馈送至所述状态存储器来初始化所述内部状态。
26.根据权利要求23所述的方法,其中,所述方法迭代地执行,并且其中,在预定次数的迭代之后或在随机次数的迭代之后,所述方法进一步包括: 从随机数生成器接收随机信息; 当确定下一内部状态的至少一个新输入比特值时使用所述随机信息,以基于所述新输出比特、所述当前内部状态的所述第二部分以及所述随机信息来确定所述新输入比特值。
27.一种计算机可读数字存储媒介,在所述计算机可读数字存储媒介上存储具有在计算机上运行时用于执行生成 随机比特流的方法的程序代码的计算机程序,所述方法包括: 从状态存储器中读取生成随机比特流的方法的当前内部状态的第一部分,所述当前内部状态的所述第一部分由多个比特值表示; 基于表示所述当前内部状态的所述第一部分的所述多个比特值的布尔组合来确定所述随机比特流的新输出比特; 基于所述新输出比特和所述当前内部状态的第二部分确定下一内部状态的至少一个新输入比特值;以及 将所述新输入比特值馈送至所述状态存储器以将所述当前内部状态修改成所述下一内部状态。
28.一种用于生成随机比特流的方法,所述方法包括: 通过利用生成随机比特流的方法的当前内部状态的一部分来确定所述随机比特流的当前输出比特;以及 利用所述当前内部状态的至少另一部分和所述当前输出比特来修改所述内部状态。
29.根据权利要求28所述的方法,其中,确定所述当前输出比特的步骤包括估计表示所述当前内部状态的所述部分的比特值的逻辑组合。
【文档编号】G06F7/58GK103546275SQ201310289233
【公开日】2014年1月29日 申请日期:2013年7月10日 优先权日:2012年7月10日
【发明者】赖纳·戈特费尔特, 威兰·菲舍尔, 马库斯·盖尔, 奔迪特·加梅尔 申请人:英飞凌科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1