CN105912834A - 用于检查随机数序列的熵的装置和方法 - Google Patents
用于检查随机数序列的熵的装置和方法 Download PDFInfo
- Publication number
- CN105912834A CN105912834A CN201610094443.0A CN201610094443A CN105912834A CN 105912834 A CN105912834 A CN 105912834A CN 201610094443 A CN201610094443 A CN 201610094443A CN 105912834 A CN105912834 A CN 105912834A
- Authority
- CN
- China
- Prior art keywords
- entropy
- random number
- number sequence
- sequence
- post processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
Abstract
根据一种实施方式描述了一种用于检查随机数序列的熵的装置,所述装置包括:随机源,所述随机源被配置用于提供随机输入序列;后处理电路,所述后处理电路被配置用于接收所述随机输入序列以及由所述随机输入序列建立随机数序列,其方式是,所述后处理电路实施所述随机输入序列的后处理和抽取;逆后处理电路,所述逆后处理电路被配置用于从所述后处理电路接收所述随机数序列以及建立经处理的随机数序列,其方式是,所述逆后处理电路通过与由所述后处理电路实施的后处理相逆的方式方法处理所述随机数序列;熵检验器,所述熵检验器被配置用于基于所述经处理的随机数序列检查所述随机数序列的熵。
Description
技术领域
本发明涉及用于检查随机数序列的熵(Entropie)的装置和方法。
背景技术
在电子设备中,例如在芯片卡中,经常需要随机数序列,例如用于加密应用。当建立随机数的序列时,其熵是重要的序列质量说明,因为只有高的熵才保证高的安全性,例如保证侵入者不会猜出序列的随机数。因此能够检查所建立的随机数序列的熵的方法是值得期待的。
发明内容
根据一种实施方式,提供一种用于检查随机数序列的熵的装置,所述装置包括:随机源,所述随机源被配置用于提供随机输入序列;后处理电路,所述后处理电路被配置用于接收随机输入序列以及由随机输入序列建立随机数序列,其方式是,实施随机输入序列的后处理和抽取(Dezimierung);逆后处理电路,所述逆后处理电路被配置用于从后处理电路接收随机数序列以及建立经处理的随机数序列,其方式是,通过与由后处理电路实施的后处理相逆的方式方法来处理随机数序列;熵检验器,所述熵检验器被配置用于基于经处理的随机数序列来检查随机数序列的熵。
根据另一种实施方式,提供一种根据以上描述的装置用于检查随机数序列的熵的方法。
附图说明
在附图中,相同的附图标记通常在所有不同视图中涉及相同部分。附图不一定是按比例的,而重点通常在于阐述本发明的原理。在以下描述中参考以下附图描述了不同方面,其中:
图1示出了根据一种实施方式的芯片卡。
图2示出了随机数生成器的架构的示例。
图3示出了后处理器的示例。
图4示出了用于检查随机数序列的熵的装置。
图5示出了流程图。
图6示出了根据一种实施方式的用于检查随机数序列的熵的装置的示例。
图7示出了1010比特数列上的数字模拟的结果,其中,借助于12比特LFSR无压缩地对熵为0.25的噪声源进行后处理。
图8示出了压缩为2的数字模拟的结果。
图9示出了压缩为4的数字模拟的结果。
图10示出了根据另一种实施方式的用于检查随机数序列的熵的装置的示例。
图11示出了根据一种实施方式的线性反馈移位寄存器的示例。
图12示出了进行解密的LFSR的示例。
具体实施方式
以下的详细描述涉及附图,其为了进行说明示出本发明的特定细节和方面,在这些特定细节和方面中能够实施本发明。可以使用其他方面并且可以进行结构方面的、逻辑方面的和电学方面的改变,而不脱离本发明的保护范围。本发明的不同方面不必然彼此排斥,因为本发明的一些方面可以与本发明的一个或多个其他方面结合,以形成新的方面。
图1示出了根据一种实施方式的芯片卡100。
所述芯片卡100包括载体101,在所述载体上布置芯片卡模块102。所述芯片卡模块102包括不同的数据处理部件,例如存储器103、处理器104或者例如专用的加密处理器105。所述芯片卡模块102包括随机数生成器106。所述随机数生成器例如可以向处理器104或加密处理器输送随机数序列,其中,所述加密处理器例如可以基于所述随机数序列实施加密操作。
图2示出了随机数生成器200的架构的示例。
所述随机数生成器200包括噪声源201,所述噪声源被配置用于输出噪声信号n(t)。所述噪声源201例如具有一定的熵并且不具有记忆或具有短的记忆。所述随机数生成器200的数字化单元将噪声信号转换成经数字化的噪声信号(DNS–Digitized NoiseSignal){s[i]},即,数字噪声值序列,其方式例如是,以确定的采样间隔采样噪声信号以及将采样值数字化。所述随机数生成器200还包括后处理器203,所述后处理器以进行压缩的数字算法(例如根据Hashing函数,例如借助具有经抽取的输出的线性反馈移位寄存器)对经数字化的噪声信号进行后处理,以便获得具有全熵的随机数序列{r[i]},其也称为内部随机序列(IRS-Internal Random Sequence)。
为了保证足够程度的安全性,例如可以检查或测试随机数序列r[i]的每比特的熵。然而,因为压缩算法可能会具有长的记忆(例如可以借助32比特LFSR实现),所以出于实践原因无法实现内部随机序列{r[i]}的直接熵测试,因为所述测试需要太多数据。
这当考虑强静态随机过程的熵率或源信息率的定义时可以看出:
其中,Xk是处理的第k项,H(X|Y)是条件熵。对于二进制的熵源,熵率是在知道先前n-1比特的情况下第n个比特的熵。
H(X)可以如下计算:
其中,p(xn-1,xn-2,…,x1)是输出比特序列(xn-1,xn-2,…,x1)的概率,p(xn|xn-1,xn-2,…,x1)是第n个符号知道先前n-1个符号的条件概率。
可以由所建立的数据序列估计两个概率,但当对经后处理的数据(在该情况下为{r[i]})实施测试时,n必须大于后处理器203的记忆(例如在32比特LFSR的情况下为32比特),以便获得压缩源的熵率。对于更小的n,测试会受通过后处理器203引入的伪随机性欺骗。先前定义的概率估计例如对于32比特的存储深度不能实际实施。
图3示出了后处理器300的示例。
后处理或后处理单元(例如后处理电路)300基于长度为n比特的线性反馈移位寄存器(LFSR-Linear Feedback Shift Register)305,所述线性反馈移位寄存器包括线性移位寄存器301、反馈网络302和异或门303。所述后处理器300接收(例如由数字化单元202提供的)随机比特流{s[i]}作为输入并且输出N比特字序列形式的随机数序列{r[i]}。随机比特流{s[i]}由具有值0和1的比特的流组成。随机比特流{s[i]}例如具有每比特相对较低的熵并且例如以高速率提供给后处理器300。随机比特流的随机比特显然充当后处理器300的开始值。
N比特移位寄存器301与反馈网络302和异或门303连接,所述异或门接收反馈网络302的输出和输入流{s[i]}作为输入,并且所述异或门的输出被输送给n比特移位寄存器301。所述移位寄存器301以时钟信号进行时钟控制并且包括n个存储元件,即,其实现为触发器链。利用所述时钟信号的每一个时钟脉冲,使在一个存储元件中存储的相应比特移位到右侧相邻的存储元件中(除了在最右侧的存储元件中存储的比特),其中,使由异或门303输出的新出现的比特移位到最左侧的存储元件中。仅当后处理器的控制器304向移位寄存器301施加使能信号时,移位寄存器301才实施移位操作。
所述控制器304可以将所述n比特移位寄存器301的存储元件重置成预先确定的值,其方式是,其施加重置信号。这些预先确定的值可以全部具有相同的值,例如逻辑“0”或“1”。替代地,可以将存储元件重置成与密钥或制造识别码相应的值。对于输送给n比特移位寄存器的每KxN个比特,作为随机数序列{r[i]}的随机字输出在移位寄存器301中存储的n比特的N个比特,其中,K是提供给控制器304的压缩因数。例如,在向n比特移位寄存器301输送KxN个比特之后(即,在全部KxN个时钟周期之后),输出的N个比特是在n比特移位寄存器中在最左侧存储的N个比特。
在所述时钟信号的每一个时钟周期中,所述反馈网络302使用(在所述时钟周期开始时)存储在所述移位寄存器301的存储元件中的值作为输入,以便计算反馈比特。所述异或门303将所述反馈比特与在所述时钟周期中出现的随机比特进行异或组合并且将所述组合的结果用作所述移位寄存器301的输入。
在计算反馈比特中不必使用存储在存储元件中的所有值,例如根据本原反馈多项式计算所述反馈比特。例如可以如此选择本原反馈多项式,使得在其重复之前反馈比特序列具有最大可能的长度,如果总向LFSR 305输入相同的随机比特。所述反馈网络302显然可以提高存储在存储元件中的比特的随机性,从而使其概率更接近均匀分布。
所述控制器304借助于重置信号和使能信号控制移位寄存器301。所述控制器接收时钟信号、认证模式信号、开始信号和压缩因数作为输入。所述开始信号用于启动后处理器302。
在后处理器300的正常运行模式中,在建立每一个随机字之前不将移位寄存器的存储元件置于预先确定的值。当在移位寄存器301上施加使能信号时,在输出随机字之前对数量为KxN的随机比特进行后处理。待处理的KxN个随机比特的数量由压缩因数K确定。因此,显然可以收集KxN个随机比特的熵并且将其压缩成一个N比特随机字。通过向控制单元施加低认证模式信号的方式来选择所述正常运行模式。
在认证模式中,在开始建立每一个随机字之前,移位寄存器301的存储元件置于预先确定的值。然后,对KxN个随机比特进行后处理,并且形成得到的随机字。输出、收集并且根据统计测试——例如基于以上公式(2)测试随机字。
因此,如果在开始新的压缩之前重置LFSR,则可以直接测量序列{r[i]}的熵,只要假设噪声源的低熵的未处理的随机流的每KxN个比特在n比特LFSR中被压缩成随机字,以便建立高熵的N比特随机字,如其在图3中示出的那样。实际上,在假设无记忆源的情况下,重置操作确保经后处理的字是独立的。因此,当N较小时(例如8比特),可以通过测试输出分布的平整度来简单地测量熵。
然而,在所述方法中所获得的估计熵典型地过于不利:例如如果n=32并且N=8,则重置操作破坏在获得输出字节之后仍在LFSR中剩余的24比特的熵。这意味着:在认证模式中所测量的熵低于在没有重置的正常模式中达到的实际的熵。
以下描述一种实施方式,其例如能够实现在实际应用中测量所建立的随机数序列的熵,其中,避免了如在以上参考图3描述的示例中那样过于不利。
图4示出了用于检查随机数序列的熵的装置400。
所述装置400包括随机源401和后处理电路402,所述随机源被配置用于提供随机输入序列,所述后处理电路被配置用于接收所述随机输入序列以及由所述随机输入序列建立随机数序列,其方式是,所述后处理电路实施所述随机输入序列的后处理和抽取。
所述装置400还包括逆后处理电路403,所述逆后处理电路被配置用于从所述后处理电路402接收随机数序列以及建立经处理的随机数序列,其方式是,所述逆后处理电路以与由所述后处理电路实施的后处理相逆的方式方法来处理随机数序列。
所述装置400还包括熵检验器404,所述熵检验器被配置用于基于经处理的随机数序列来检查随机数序列的熵。
换言之,根据一种实施方式,实施后处理器的逆操作的逆(或进行解密的)后处理器在测试随机数序列的熵之前处理所述随机数序列。由此例如可以去除由后处理器引入的伪随机性,因此与没有逆后处理的随机数序列的熵的测量相比可以以更小的深度来测量熵。
这例如能够实现经后处理的(经压缩的)噪声源的熵率的直接测试。附加地,根据一种实施方式,可以容易地实现在线噪声源完全失效和后处理器的完好性测试。
所述装置的部件(例如后处理电路、逆后处理电路和熵检验器)例如可以通过一个或多个电路实现。“电路”可以理解为任意类型的实现逻辑实体,其可以是专用电路或执行在存储器中、在固件中或在它们的任意组合中存储的软件的处理器。因此,“电路”可以是固定布线的逻辑电路或可编程逻辑电路,例如可编程处理器,例如微处理器。“电路”同样可以是执行软件、例如任意类型的计算机程序的处理器。以下更详细描述的相应功能的任意其他类型的实现也同样可以理解为“电路”。
例如借助于存储元件——例如触发器的串行连接来实现寄存器。
根据一种实施方式,所述抽取包括对于在后处理电路中输入的随机输入序列的每第二数量的比特输出第一数量的经后处理的比特。
例如,所述抽取是以压缩因数对随机输入序列进行的压缩,所述压缩因数等于2的幂。
根据一种实施方式,所述后处理电路包括线性反馈移位寄存器,并且所述后处理是借助于所述线性反馈移位寄存器对随机输入序列进行的处理。
例如,所述抽取包括输出在所述线性反馈移位寄存器中存储的第一数量的比特,更确切地说,每当在所述线性反馈移位寄存器中已经输入随机输入序列的第二数量的比特时输出在所述线性反馈移位寄存器中存储的第一数量的比特。
例如通过压缩因数提供第二数量的比特与第一数量的比特之间的比例,即,所述比例例如相应于预先确定的压缩因数。
所述逆后处理电路可以包括另一线性反馈移位寄存器,并且对随机数序列进行的与由所述后处理电路实施的后处理相逆的处理例如是借助于所述另一线性反馈移位寄存器对随机数序列进行的处理。
例如根据相同的本原多项式配置所述线性反馈移位寄存器和所述另一线性反馈移位寄存器。
根据一种实施方式,所述随机源包括噪声源和数字化单元,所述噪声源和所述数字化单元被配置用于建立随机输入序列,其方式是,将所述噪声源的噪声输出数字化。
根据一种实施方式,所述熵检验器被配置用于识别随机数序列的熵是否等于零并且当所述熵检验器识别到经处理的随机数序列的熵等于零时输出指示随机源失效的信号。
例如,所述熵检验器被配置用于识别经处理的随机数序列的熵是否等于零,其方式是,所述熵检验器识别经处理的随机数序列是否恒定。
根据一种实施方式,所述装置还包括控制器,所述控制器被配置用于检查所述后处理电路的完好性,其方式是,所述控制器检查经处理的随机数序列作为对恒定随机输入序列的响应是否恒定。
根据一种实施方式,所述熵检验器被配置用于测量所述随机数序列的熵,其方式是,所述熵检验器测量所述经处理的随机数序列的熵。
例如,所述熵检验器可以被配置用于测量所述经处理的随机数序列的熵,其方式是,所述熵检验器对所述经处理的随机数序列使用统计测试。
根据一种实施方式,提供一种处理设备,所述处理设备包括以上描述的用于检查随机数序列的熵的装置。
所述处理设备例如是芯片卡。
根据一种实施方式,提供一种用于检查随机数的熵的方法,如在图5中示出的那样。
图5示出了流程图500。
在步骤501中,由随机输入序列建立随机数序列,其方式是,实施所述随机输入序列的后处理和抽取。
在步骤502中,建立经处理的随机数序列,其方式是,通过与所述后处理相逆的方式方法来处理所述随机数序列。
在步骤503中,基于经处理的随机数序列检查所述随机数序列的熵。
要注意的是,结合图4中的装置400描述的实施方式类似地适用于如其在图5中示出的方法,反之亦然。
以下更详细地示出实施方式。
图6示出了根据一种实施方式的用于检查随机数序列的熵的装置600的示例。
所述装置600包括噪声源601,所述噪声源是无记忆的或具有短时记忆并且提供经数字化的噪声信号{s[i]},即,随机数字值的序列。所述噪声源601例如相应于噪声源201以及数字化单元202。
所述经数字化的噪声源{s[i]}被输送给后处理器602,所述后处理器包括n比特LFSR(线性反馈移位寄存器)603,其中,LFSR例如具有参考图3描述的线性反馈移位寄存器305的结构。通过抽取块604表示抽取,即,根据压缩因数K的压缩。压缩因数K例如是2的幂,例如4,从而对于在移位寄存器603中输入的每4个比特提取1个输出比特。例如字长N可以等于1,从而后处理器602逐比特地输出随机比特并且后处理器602的输出线是单位线。
所述噪声源601和所述后处理器例如是随机数生成器605的一部分,例如布置在电子设备上,例如芯片卡上。
所述后处理器602的输出(其也是随机数生成器605的输出)是随机数序列(或随机数流){r[i]},所述随机数序列(或所述随机数流)能够被其他部件——例如已经参考图1解释的处理器或协处理器使用,并且在所述示例中要检查它的熵。
例如,在制造了包括随机数生成器605的设备之后并且例如在其使用之前(例如在随机数序列{r[i]}用于例如加密目的之前),可以检查所述设备的熵。例如可以在制造了确定数量的分别包括随机数生成器605的设备(例如芯片卡)之后,在所建立的随机数序列的熵方面对这些设备中的一些进行测试。
为了检查所建立的随机数序列的熵,由进行解密的线性反馈移位寄存器处理输出流{r[i]},所述线性反馈移位寄存器具有与进行后处理的LFSR603相同的多项式(假设K是2的幂)。所述进行解密的LFSR可以具有自同步的配置和消除在通过后处理器602进行压缩期间引入的伪随机性的特性。所述进行解密的LFSR 606的输出——即经解密的具有高熵的随机流{r[i]}被输送给熵检查单元607,所述熵检查单元借助于条件熵测试例如根据以上公式(2))确定其熵。
根据公式(2)的统计测试例如包括建立如在公式(2)右侧总和中对于x1,…,xn表示的条件概率的表,其中,n达到一个确定的最大值(其不应与表示LFSR 301、603的长度的n混淆)。换言之,对于n的确定值确定在公式(2)的极限中的表述,所述确定值例如根据压缩因数和所期望的熵度量精确度来选择。例如对于压缩16,从20至22的范围中选择n的值(其也称为深度或条件深度),这是典型地仍可实际实现。
在以上描述的示例中,在制造之后例如在实验室中测试随机数生成器605,可以例如通过计算机实现进行解密的LFSR 606和熵检验单元607,所述计算机接收随机数序列{r[i]}。
所述进行解密的LFSR 606的工作方式显然基于具有最大长度的序列(即由LFSR借助本原多项式建立的序列)的特性。即,具有最大长度的序列的2的幂抽取就是相同序列的移位版本。因此,尽管通过块604进行抽取,所述进行解密的LFSR 606仍可以逆转所述进行后处理的LFSR的自由演进(即自由运行),并且当所述进行后处理的LFSR 602的输入由恒定的比特流组成时(即当噪声源601关闭或失效时),其产生恒定的输出。
要注意的是,当压缩K不是2的幂时,所述进行解密的LFSR不具有与所述后处理器602相同的多项式,但是如果使用正确的多项式,以上特性仍然有效。
另外,对于以上要注意的是,为了所述进行解密的LFSR 606产生恒定输出,输入流不必是恒定的;输入流由恒定的K比特子序列的重复组成就足够了。
因此,经解密的序列{t[i]}可以用于测试经压缩的序列{r[i]}的熵,其方式是,使用具有深度的条件熵测试,其深度比直接对{r[i]}实施测试时所需要的低n步。
图7示出了1010比特序列上的数字模拟的结果,其中,利用n=12比特的LFSR无压缩地(K=1)对具有熵H=0.25的噪声源进行后处理。
通过第一曲线701示出了当对{r[i]}使用条件熵测试时获得的结果,并且通过第二曲线702示出了当对经解密的序列{t[i]}使用条件熵测试时获得的结果,其中,深度从左向右沿着深度轴703增加,并且由熵测试输出的熵从下向上沿着熵轴704增加。
可以看出,在解密之后熵测试能够立即识别正确的源熵(0.25),而当直接测试输出序列{r[i]}时需要深度12(LFSR长度)。
图8示出了具有压缩K=2的数字模拟的结果。
如同在图7中那样,通过第一曲线801示出了当对{r[i]}使用条件熵测试时获得的结果,并且通过第二曲线802示出了当对经解密的序列{t[i]}使用条件熵测试时获得的结果,其中,深度从左向右沿着深度轴803增加,并且由熵测试输出的熵从下向上沿着熵轴804增加。
可以看出,当使用压缩时(在此示例中K=2),获得与在图7中的模拟相似的结果:在经解密的序列(第二曲线802)的情况下,所估计的条件熵立即开始向终值(大约2x0.25)收敛,而对于输出序列必须达到深度12才看到估计的下降(第一曲线801)。这同样适用于更高的压缩因数,如在图9中可见的那样。
图9示出了具有压缩K=4的数字模拟的结果。
如同在图7和8中那样,通过第一曲线901示出了当对{r[i]}使用条件熵测试时获得的结果,并且通过第二曲线902示出了当对经解密的序列{t[i]}使用条件熵测试时获得的结果,其中,深度从左向右沿着深度轴903增加,并且由熵测试输出的熵从下向上沿着熵轴904增加。
如同图8情况那样,在经解密的序列的情况下,所估计的条件熵立即开始向终值收敛,而对于输出序列必须达到深度12才看到估计的下降。
如在图7至9中可见,可以确定经解密的序列{t[i]}的条件熵估计是直接对序列{r[i]}实施的估计的移动了n步的版本(其中,在以上示例中n=12)。
根据一种实施方式,由进行解密的LFSR产生的经解密的序列用于实现噪声源601的完全失效测试(TOT测试)。实际上,当噪声源输出变得恒定时(具有恒定的K比特子序列),在所述进行解密的LFSR 606的输出端上得到恒定的序列。TOT测试可以通过如在图10中示出的用于非转换识别的检测器实施。
图10示出了根据另一种实施方式的用于检查随机数序列的熵的装置1000的示例。
类似于图6中的装置600,所述装置1000包括噪声源1001、后处理器1002和进行解密的LFSR 1006,所述进行解密的LFSR如以上参考图6描述那样运行。所述装置1000还包括用于非转换识别的检测器1007,所述检测器接收经解密的随机流作为输入并且例如计数是否在预先确定数量的比特内不发生转换,例如在测试序列(即在所述示例中经解密的随机流)的64个连续比特内。如果在预先确定数量的比特内未发生转换,则触发警报。
例如可以在没有熵检查单元的情况下在设备——例如芯片卡中实现所述装置1000,从而在所述设备运行期间可以检查噪声源是正常工作还是失效。
另外,根据一种实施方式,经解密的序列{t[i]}还可以用于实现进行后处理的LFSR的完好性测试:当在熵测试期间强制噪声源输出为恒定值(恒定的K比特子序列)时,在解密之后肯定得到恒定序列。这可以在设备的制造之后以及供货之前借助于外部的熵检查单元或用于非转换识别的检测器而使用,但也可以在设备自身中实现,例如具有图10的架构,从而可以检查所述设备的进行后处理的LFSR的完好性,例如用于识别对设备的入侵。
LFSR 305、603例如是线性反馈移位寄存器,如其在图11中示出的那样。
图11示出了根据一种实施方式的线性反馈移位寄存器(LFSR)1100。
所述LFSR是按照自同步配置的斐波那契LFSR。所述LFSR包括多个触发器1101,在所述示例中n=32。每一个触发器的输出端分别通过相应的与门1102与n输入端异或门1103连接(除了最右侧的触发器1102,其直接与n输入端异或门连接),其中,n输入端异或门的输出端与进行解密的LFSR 1100的输入端一起与异或门1104连接。异或门1104的输出端是位于最左侧的寄存器1101的输入端并且是所述进行解密的LFSR 1100的输出端。
在其第二输入端上,每一个与门1102接收本原多项式的一个系数,所述LFSR应根据所述本原多项式工作。与第i个触发器的输出端(在所述示例中i=1,…,32)连接的与门1102尤其接收多项式的第i个系数(即,系数xi)。
如前所述,为了实现确定的压缩,例如,在使确定数量的比特移位到LFSR 1100中之后,输出例如1个比特。
图12示出了进行解密的LFSR 1200的示例。
所述进行解密的LFSR是按照自同步配置的斐波那契LFSR。所述进行解密的LFSR包括多个触发器1201,在所述示例中n=32。每一个触发器的输出端分别通过相应的与门1202与n输入端异或门1203连接(除了最右侧的触发器1202,其直接与n输入端异或门连接),其中,n输入端异或门的输出端与所述进行解密的LFSR 1200的输入端一起与异或门1204连接。异或门1104的输出端是所述进行解密的LFSR 1200的输出端。所述进行解密的LFSR的输入端与(最左侧的)第一触发器1201连接。每一个与门1202在其第二输入端上接收本原多项式的一个系数,所述LFSR应根据所述本原多项式工作。与第i个触发器的输出端(在所述示例中i=1,…,32)连接的与门1202尤其接收多项式的第i个系数(即,系数xi)。
在作为进行解密的LFSR 606的应用中,将系数c1,c2,…c31设定为与进行后处理的LFSR 603的多项式系数相同。
要注意的是,对于作为后处理器602的压缩的任何2的幂,所述进行解密的LFSR1200可以用作图6中的装置600的进行解密的LFSR 606。
虽然描述了特定方面,但对于技术人员而言可以看出,可以进行对形式和细节的不同改变,而不脱离由所附权利要求限定的本发明的各方面的构思和保护范围。因此,通过所附权利要求给出了保护范围,因此应包括位于权利要求的含义或等同范围中的所有变化。
Claims (16)
1.一种用于检查随机数序列的熵的装置,所述装置包括:
随机源,所述随机源被配置用于提供随机输入序列;
后处理电路,所述后处理电路被配置用于接收所述随机输入序列以及由所述随机输入序列建立随机数序列,其方式是,所述后处理电路实施所述随机输入序列的后处理和抽取;
逆后处理电路,所述逆后处理电路被配置用于从所述后处理电路接收所述随机数序列以及建立经处理的随机数序列,其方式是,所述逆后处理电路通过与由所述后处理电路实施的后处理相逆的方式方法处理所述随机数序列;
熵检验器,所述熵检验器被配置用于基于所述经处理的随机数序列检查所述随机数序列的熵。
2.根据权利要求1所述的装置,其中,所述抽取包括对于在所述后处理电路中输入的随机输入序列的每第二数量的比特输出第一数量的经后处理的比特。
3.根据权利要求1或2所述的装置,其中,所述抽取是以压缩因数对所述随机输入序列进行的压缩,所述压缩因数等于2的幂。
4.根据权利要1至3中任一项所述的装置,其中,所述后处理电路包括线性反馈移位寄存器,并且所述后处理是借助于所述线性反馈移位寄存器对所述随机输入序列进行的处理。
5.根据权利要求4所述的装置,其中,所述抽取包括输出在所述线性反馈移位寄存器中存储的第一数量的比特,更确切地说,每当在所述线性反馈移位寄存器中已经输入所述随机输入序列的第二数量的比特时输出在所述线性反馈移位寄存器中存储的第一数量的比特。
6.根据权利要求4或5所述的装置,其中,所述逆后处理电路包括另一线性反馈移位寄存器,并且对所述随机数序列进行的与由所述后处理电路实施的后处理相逆的处理是借助于所述另一线性反馈移位寄存器对所述随机数序列进行的处理。
7.根据权利要求6所述的装置,其中,根据相同的本原多项式配置所述线性反馈移位寄存器和所述另一线性反馈移位寄存器。
8.根据权利要求1至7中任一项所述的装置,其中,所述随机源包括噪声源和数字化单元,所述噪声源和所述数字化单元被配置用于建立所述随机输入序列,其方式是,对所述噪声源的噪声输出进行数字化。
9.根据权利要求1至8中任一项所述的装置,其中,所述熵检验器被配置用于识别所述随机数序列的熵是否等于零以及当所述熵检验器识别到所述经处理的随机数序列的熵等于零时输出指示所述随机源失效的信号。
10.根据权利要求9所述的装置,其中,所述熵检验器被配置用于识别所述经处理的随机数序列的熵是否等于零,其方式是,所述熵检验器识别所述经处理的随机数序列是否恒定。
11.根据权利要求1至10中任一项所述的装置,所述装置还包括控制器,所述控制器被配置用于检查所述后处理电路的完好性,其方式是,所述控制器检查所述经处理的随机数序列作为对恒定的随机输入序列的响应是否恒定。
12.根据权利要求1至11中任一项所述的装置,其中,所述熵检验器被配置用于测量所述随机数序列的熵,其方式是,所述熵检验器测量所述经处理的随机数序列的熵。
13.根据权利要求12所述的装置,其中,所述熵检验器被配置用于测量所述经处理的随机数序列的熵,其方式是,所述熵检验器对所述经处理的随机数序列使用统计测试。
14.一种处理设备,所述处理设备包括根据权利要求1至13中任一项所述的用于检查随机数序列的熵的装置。
15.根据权利要求14所述的处理设备,其中,所述处理设备是芯片卡。
16.一种用于检查随机数序列的熵的方法,所述方法包括:
由随机输入序列建立随机数序列,其方式是,实施所述随机输入序列的后处理和抽取;
建立经处理的随机数序列,其方式是,通过与所述后处理相逆的方式方法处理所述随机数序列;
基于经处理的随机数序列检查所述随机数序列的熵。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102015102363.6 | 2015-02-19 | ||
DE102015102363.6A DE102015102363A1 (de) | 2015-02-19 | 2015-02-19 | Anordnung und verfahren zum überprüfen der entropie einer zufallszahlenfolge |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105912834A true CN105912834A (zh) | 2016-08-31 |
CN105912834B CN105912834B (zh) | 2019-09-10 |
Family
ID=56577144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610094443.0A Active CN105912834B (zh) | 2015-02-19 | 2016-02-19 | 用于检查随机数序列的熵的装置和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9836280B2 (zh) |
CN (1) | CN105912834B (zh) |
DE (1) | DE102015102363A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512656A (zh) * | 2017-02-28 | 2018-09-07 | 中国科学院数据与通信保护研究教育中心 | 一种高速足熵数字物理噪声源装置 |
CN109560921A (zh) * | 2017-09-25 | 2019-04-02 | 波音公司 | 用于方便真正随机比特生成的系统和方法 |
CN110489078A (zh) * | 2019-08-16 | 2019-11-22 | 兆讯恒达微电子技术(北京)有限公司 | 一种随机数发生器的自检方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3120457B1 (fr) * | 2021-03-05 | 2024-02-23 | St Microelectronics Rousset | Générateur de nombres aléatoires |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7047262B2 (en) * | 2002-08-21 | 2006-05-16 | Koninklijke Philips Electronics N.V. | Entropy estimation and decimation for improving the randomness of true random number generation |
US20040049525A1 (en) * | 2002-09-06 | 2004-03-11 | Koninklijke Philips Electronics N.V. | Feedback random number generation method and system |
ATE484790T1 (de) * | 2004-08-09 | 2010-10-15 | Telecom Italia Spa | Verfahren und vorrichtung zum erzeugen von zufallsdaten |
DE602004011081T2 (de) | 2004-11-30 | 2009-01-02 | Infineon Technologies Ag | Zufallszahlengenerator und Methode zum Testen des Generators |
US7720896B2 (en) * | 2006-06-05 | 2010-05-18 | Infineon Technologies Ag | Method and apparatus for post-processing a raw bit sequence of a noise source |
US9189201B2 (en) * | 2011-09-20 | 2015-11-17 | Qualcomm Incorporated | Entropy source with magneto-resistive element for random number generator |
-
2015
- 2015-02-19 DE DE102015102363.6A patent/DE102015102363A1/de active Pending
-
2016
- 2016-02-17 US US15/045,277 patent/US9836280B2/en active Active
- 2016-02-19 CN CN201610094443.0A patent/CN105912834B/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108512656A (zh) * | 2017-02-28 | 2018-09-07 | 中国科学院数据与通信保护研究教育中心 | 一种高速足熵数字物理噪声源装置 |
CN108512656B (zh) * | 2017-02-28 | 2021-06-25 | 中国科学院数据与通信保护研究教育中心 | 一种高速足熵数字物理噪声源装置 |
CN109560921A (zh) * | 2017-09-25 | 2019-04-02 | 波音公司 | 用于方便真正随机比特生成的系统和方法 |
CN109560921B (zh) * | 2017-09-25 | 2023-06-30 | 波音公司 | 用于方便真正随机比特生成的系统和方法 |
CN110489078A (zh) * | 2019-08-16 | 2019-11-22 | 兆讯恒达微电子技术(北京)有限公司 | 一种随机数发生器的自检方法 |
CN110489078B (zh) * | 2019-08-16 | 2021-05-25 | 兆讯恒达科技股份有限公司 | 一种随机数发生器的自检方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160246573A1 (en) | 2016-08-25 |
CN105912834B (zh) | 2019-09-10 |
US9836280B2 (en) | 2017-12-05 |
DE102015102363A1 (de) | 2016-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5696828A (en) | Random number generating system and process based on chaos | |
EP3220304A1 (en) | Method of testing the resistance of a circuit to a side channel analysis | |
US5727063A (en) | Pseudo-random generator | |
WO1997011423A2 (en) | A method of generating secret identification numbers | |
CN105912834A (zh) | 用于检查随机数序列的熵的装置和方法 | |
EP3143720A1 (en) | Differential power analysis countermeasures | |
JP2014075082A (ja) | 乱数生成器および乱数生成方法 | |
JP2002268875A (ja) | 乱数生成装置 | |
CN104778029A (zh) | 用于产生随机数发生器的随机源的输出的方法 | |
Park et al. | Analysis of entropy estimator of true random number generation using beta source | |
JP4451841B2 (ja) | 乱数生成装置及び乱数生成方法 | |
Hegadi et al. | A statistical analysis on in-built pseudo random number generators using NIST test suite | |
CN113268745B (zh) | 基于Camellia加密算法的软PUF | |
Lorek et al. | On testing pseudorandom generators via statistical tests based on the arcsine law | |
Pareschi et al. | Statistical testing of a chaos based CMOS true-random number generator | |
Mandrona et al. | Comparative analysis of pseudorandom bit sequence generators | |
JP4122856B2 (ja) | 複数の要素に対する確率的同時位数検査方法および位数検査プログラム | |
Singh et al. | FPGA Implementation of Chaos based Pseudo Random Number Generator | |
Ahmad et al. | On locking conditions in m-sequence generators for the use in digital watermarking | |
Wang et al. | Single-Trace Side-Channel Attacks on CRYSTALS-Dilithium: Myth or Reality? | |
Kang et al. | On the additional chi-square tests for the IID assumption of NIST SP 800-90B | |
CN110100234A (zh) | 用于环境抵抗真随机数生成的方法 | |
Akhila et al. | Implementation of Modified Dual-Coupled Linear Congruential Generator in Data Encryption Standard Algorithm | |
Dionísio et al. | Real Time Random Number GeneratorTesting | |
Mioc | Study of using Shift Registers in Cryptosystems for grade 8 irreducible Polynomials |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |