CN101138195B - 用于生成伪随机数据序列的方法、系统及设备 - Google Patents
用于生成伪随机数据序列的方法、系统及设备 Download PDFInfo
- Publication number
- CN101138195B CN101138195B CN200680007597.6A CN200680007597A CN101138195B CN 101138195 B CN101138195 B CN 101138195B CN 200680007597 A CN200680007597 A CN 200680007597A CN 101138195 B CN101138195 B CN 101138195B
- Authority
- CN
- China
- Prior art keywords
- data sequence
- initial data
- window
- search
- bit
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000002131 composite material Substances 0.000 claims description 8
- 230000006870 function Effects 0.000 description 12
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101150071746 Pbsn gene Proteins 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
- H04L9/0668—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种生成伪随机数据序列(3)的方法和发生器,包括用于利用搜索至少一个搜索模式的程序来组合属于多个初始数据序列(9a,9b,9c)的数据的组合装置。
Description
技术领域
本发明涉及加密/解密,并涉及生成伪随机数据序列的系统和方法。
本发明找到一种非常有利的应用,该应用生成用于对称加密的一串比特,在所述对称加密中加密和解密使用相同的密钥。本发明涉及一种流加密方法,该流加密方法将消息逐比特地加到具有同样长度的伪随机数据序列上,其中所述加密操作和所述解密操作相同。应注意对称加密通常应用于各种类型的通信中,如移动通信(GSM、UMTS等)、英特网(SSL等)、智能卡(银行卡)等。
背景技术
最普遍的流加密方法独立于需加密的所述消息生成加密序列,该加密序列用线性反馈移位寄存器存储在硬件上。
线性反馈移位寄存器的主要缺点是其线性。知道所述寄存器的多个输出比特与该寄存器长度相等以及知道与该寄存器关联的反馈多项式,就有可能确定该寄存器的输出比特及其所有的后续状态。
为了“打破”线性反馈移位寄存器的线性,一般将多个寄存器的输出,也可能其内部状态进行组合,例如利用非线性布尔函数。
图6示出所述类型的发生器100,发生器即为人所知的一个减缩发生器,如欧洲专利申请EP0619659中所述,包括第一线性反馈移位寄存器111a,第二线性反馈移位寄存器111b以及用于选择发生器100的输出的装置112。
因此,每次移位,所述两个寄存器111a和111b同时移位,如果第一寄存器111a输出为“1”,发生器100的输出等于第二寄存器111b的输出;否则,发生器100不输出比特。
所述减缩发生器不但是把两个线性反馈移位寄存器的输出进行组合,而且更普遍地是对比特序列的任何比特对进行组合。所述减缩发生器是一类流加密方法的部分,其中一个线性反馈移位寄存器控制另一个。方法是改变所使用的寄存器之间和两个连续比特之间的移位数以破坏所述寄存器的线性。
所述缩短发生器的一个变体,被称为自减缩发生器,基于同样的原理但是只使用一个寄存器。该寄存器的输出比特被两比特两比特地读出,第一个比特控制是否输出第二个比特,因此,如果第一个比特是“1”,系统的输出是第二个比特;否则,系统不输出比特。
只使用线性反馈移位寄存器有许多缺点。主要的一点是由设备的线性所引起的弱点。若寄存器用布尔函数进行组合仍然有缺点。在硬件级这些缺点是函数实现的复杂性的结果。而且,该函数是确定的,并可能被攻击。
统计学方法已经显示所述减缩发生器和其他时钟控制加密方法的某些缺点。特别地,在所述减缩寄存器中,虽然两个输出比特之间由所述两个寄存器实现的移位数是变化的,但对所述两个寄存器而言具有相同的值。
发明内容
本发明一个目的是消除所述缺点并简化高质量伪随机数据序列的生成。
另一个目的是制造一种高效率和相对低成本的发生器。
通过一种生成伪随机数据序列的方法实现所述目标,所述伪随机数据序列由一连串输出模式组成,所述模式通过以下步骤获得:
·选择至少一个搜索模式
·在至少一个初始数据序列中搜索所述至少一个搜索模式,所述初始数据序列是多个初始数据序列中的一个。
·根据请求决定一个输出模式,该请求取决于所述的搜索和来自所述多个初始数据序列中的至少两个初始数据序列的内容。
·在上述多个初始数据序列中为至少一个搜索模式再指定所述选择和所述搜索。
因此,本发明的方法基于探测模式以组合或“混合”多个初始数据序列来获得伪随机序列。所述方法虽然易于实现,但是要生成高质量的伪随机数据序列有其固有的复杂性。所述方法的各种操作都分布于所述多个初始数据序列上以致极难发现所述操作的分布状态,因此增强了所述伪随机数据序列的质量。
因此该方法使所述初始数据序列与所述伪随机数据序列之间关系的复杂性增加以致很难预知所述伪随机数据序列的质量。
上述再指定最好作为所述搜索的函数和/或初始数据序列的内容的函数来实现,所述初始数据序列为所述多个初始数据序列中的一个。
因此所述操作在初始数据序列中的分布状态会随处理进行时发生变化,进一步增强了所述伪随机数据序列的质量。
根据本发明的一个方面,所述步骤由一系列规则实现,包括:
·第一组规则,用于定义至少一个移位方式,所述移位模式用于在所述多个初始数据序列中的每一个初始数据序列上移动至少一个窗口,应有多个窗口,因为每个窗口都与初始数据序列关联。
·第二组规则,用于通过多个指示器操控所述多个窗口的方式来管理选择所述至少一个搜索模式和/或更新所述输出模式和/或来再指定操作。以及
·第三组规则,用于确定移动所述多个窗口的方式。
因此各个步骤或操作之间的相互作用可以简单并有效地进行管理和实现。
根据本发明一个特殊方面,所述多个初始数据序列包括至少两个初始数据序列并且所述窗口的大小为1,以使所述至少两个初始数据序列能够逐比特连续读出来确定1比特的输出模式。
因此可以在节省计算时间的同时加速对所述一个模式或多个模式的搜索。
根据本发明的另一个方面,所述伪随机数据序列的每一个比特可以同待加密消息的数据序列中相应的比特通过模2加法进行组合来构成一个加密的数据序列。
因此,产生的加密的数据序列具有内在的复杂性使得它很难被解密。而且,解密机制与加密机制相同,因此具有同样的优点。
本发明的目的还在于提供一种伪随机数据序列的发生器,包括按照搜索至少一个搜索模式的程序来组合属于多个初始数据序列的数据的组合方法。
因此所述发生器组合所述多个初始数据序列,由此使得所述发生器的输出与所述发生器连续的内部状态之间的关系极其复杂,以致很难以大约0.50以外的机率预测所述发生器的下一个输出。
而且,所述发生器很容易实现,同时既有效又有相对较低成本。
所述发生器的组合装置优选地包括:
·多个指示器,其相应地关联到适于在所述多个初始数据序列上移动的多个窗口;
·选择装置,其在操作控制所述多个窗口的所述多个指示器,以在至少一个初始数据序列中选择所述至少一个搜索模式;
·探测装置,其操作多个指示器,以在至少一个初始数据序列中搜索所述至少一个搜索模式;
·产生装置,用于根据请求确定输出模式,该请求取决于所述搜索以及所述多个初始数据序列中至少两个初始数据序列的内容;
·指派装置,用于再指定所述多个指示器与所述多个窗口之间的对应关系以及再指定在所述多个初始数据序列中选择和搜索至少一个搜索模式;以及
·循环装置,用于从一连串输出模式中生成所述伪随机数据序列。
因此所述发生器的这些各种装置将操作分布于所述多个初始数据序列上,可能可互换,这增加了在发生器输出端预测伪随机数据序列的困难。
本发明还提供了一种加密/解密设备,包括异或逻辑门和具有上述特征的发生器。
该设备将来自伪随机数据序列的每一个比特同来自待加密消息的数据序列的相应比特通过模2加法进行组合来构成高线性复杂度的加密数据序列。
本发明还提供一种安全系统,包括至少两个通过网络连接的实体,所述至少两个实体中的每一个包括一个具有上述特征的加密/解密设备。
因此所述安全系统在使用内存的复杂机制的同时具有简单易实现的结构。
附图说明
通过非限制性的示例并参考附图,本发明的其它特征和优点从阅读下面给出的描述呈示出来,其中:
·图1是示出本发明的伪随机序列发生器的示例的示图;
·图2示出包括图1中的发生器的安全系统;
·图3至5示出用于根据本发明生成伪随机数据序列的搜索程序的特殊实施例;
·图6是示出现有技术发生器的示图。
具体实施方式
图1是示出根据本发明的发生器1的示例,用于生成伪随机数据序列3。
发生器1包括组合装置5,组合装置5根据搜索至少一个搜索模式的程序组合属于多个初始数据序列9a、9b、和9c的数据。所述搜索程序包括可以以不同方式分配到所述多个初始数据序列的操作。
以下,“模式”指任何只由“0”和“1”组成的字。例如,0、11、000、1010、00111是长度分别为1、2、3、4、5的模式。此外,“空”模式是一个空字。
每个初始数据序列是周期不等于“1”的整数个比特(例如N比特)的流。每个序列通过初始装置生成,该装置可包括最大周期线性反馈移位寄存器。因此,发生器1可包括生成多个初始数据序列9a、9b和9c的多个移位寄存器11a、11b和11c。
线性反馈移位寄存器是有限长比特的阵列(所述寄存器),其具有所述阵列的盒的线性组合,所述组合用被称为反馈多项式的多项式来表述。每次移位,最高位的比特移出,所有其他比特移动一位,最低位的比特在移位之前取所述线性组合的值。
反馈移位多项式可优选地为基本多项式,该多项式相应于产生最大周期系列的线性移位寄存器,例如,或者是形式为Q=(X2+1)P的多项式,其中P是一个基本多项式。
已知所有长度为L的字或模式,都在这种最大周期T的系列中()出现至少一次(其中T=2L-1)。
发生器1的组合装置5包括用于搜索一个或几个搜索模式的装置13,确定装置15,指派装置16和循环装置17。
搜索装置13搜索一个或几个搜索模式,并且包括多个窗口19a、19b和19c,多个指示器20a、20b和20c,选择装置21a以及探测装置21b。
窗口19a、19b和19c都是非零大小,并在多个初始数据序列9a、9b和9c上移动。每个窗口与一个也仅与一个初始数据序列9a、9b、9c相关联,并且可以置于初始数据序列的特定的初始位置上并包含一定数量的比特。例如,置于长度为N的初始数据序列上的长度为t的窗口(t是比N小的整数并小于等于L)是可在该序列上移动的掩模,在每次移位时准确地暴露所述初始序列的t比特。因此,在每次移位时窗口19a、19b和19c中的比特可用来确定发生器1的输出。
此外,窗口19a、19b和19c可用分别对应于窗口19a、19b和19c的指示器20a、20b和20c操作。注意窗口19a、19b和19c与指示器20a、20b和20c的对应关系可能随着伪随机数据序列3的生成而改变。
选择装置21a在操控多个窗口19a、19b和19c的指示器20a、20b和20c上运行以在至少一个初始数据序列中选择一个所述搜索模式或多个模式。
同样地,探测装置21b也可以操作指示器20a、20b、20c以控制窗口19a、19b、19c在初始数据序列9a、9b、9c上移动以在一个或更多的初始数据序列中搜索所述一个搜索模式或多个模式。因此被搜索的模式本身可以取决于窗口的内容。
例如,探测装置21b可以探测t比特的搜索模式,该搜索模式由选择装置21a在N比特的初始数据序列中选出,其中t是小于或等于L的整数。因此一定可以在一个周期等于2L-1的初始数据序列中找到所述搜索模式。
注意可以在不同初始数据序列或同一初始数据序列中选择和探测所述单个搜索模式或多个模式。
此外,确定装置15与搜索装置13通过连接23相互作用并包括输出模式25和产生装置27。
产生装置27根据请求决定输出模式25(例如长度为t比特的),该请求取决于所述搜索以及所述多个初始数据序列9a、9b、9c中至少两个初始数据序列的内容。
注意确定装置15也可以包括定义或更新搜索模式集的控制装置。该搜索模式集可以为空,例如,或者取决于所述窗口的内容或者取决于所述模式搜索的历史。
此外,指派装置16通过连接28与搜索装置13相互作用。指派装置16适于再指定多个指示器20a、20b、20c与窗口19a、19b、19c之间的对应关系以及给多个初始数据序列9a、9b、9c再指定所述一个搜索模式或多个模式的选择和搜索的操作。
再指派优选地作为所述搜索的函数而实现,即作为由搜索装置13和确定装置15所执行的操作程序和/或多个初始数据序列9a、9b、9c中至少一个初始数据序列的内容的函数。
此外,循环装置17分别通过连接29和31与连接到搜索装置13、确定装置15。
因此循环装置17可以与搜索装置13和确定装置15交换信号以使所述搜索模式重新搜索和输出模式确定操作,例如,在从确定装置15接收到输出模式25已被决定的信号后,只要未满足预先决定的停止条件。循环装置17能通过与搜索装置13和确定装置15交换信号进一步测试停止条件。这将生成一连串输出模式25,该模式以串联方式构成伪随机数据序列3。
应注意指派装置16和循环装置17也可被集成到搜索装置13或确定装置15中。
因此,发生器1的各个装置将选择搜索模式、搜索搜索模式和生成输出模式的操作分离开来。并且,这些装置将所述步骤和操作分布于多个流或初始数据序列中并在每一执行或输出模式生成后更改指派机制。
图2示出安全系统30,包括至少两个通过因特网、GSM、UMTS等类型的通信网络35连接的实体。
该图的示例示出第一实体33a通过通信网络35连接到第二实体33b。
第一实体33a(相对应地有第二实体37b)包括第一终端37a(相对应地有第二终端37b),第一加密/解密设备39a(相对应地有第二加密/解密设备39b)和第一调制解调器41a(相对应地有第二调制解调器41b),调制解调器41a和41b由任何能提供与通信网络35的接口的装置组成。
第一或第二加密/解密设备39a、39b的每一个都包括上述伪随机数据序列3的发生器1和异或逻辑门43。
每一个加密/解密设备39a、39b都适于进行流加密或解密,也就是对消息逐比特进行加密或解密。
在该示例中,第一加密/解密设备39a执行加密操作。因此,被称作加密序列的伪随机数据序列3通过异或门43与明文形式的消息45相应位置的每一个比特进行组合,消息45由第一终端37a发送,以得到密文47,密文47由第一调制解调器41a发送到第二实体33b。这样,所述加密操作将加密序列3逐比特地加到消息45的明文以获得密文47。
第二加密/解密设备39b执行解密操作,将同样的加密序列3逐比特加到由第一实体33a送出的密文47上以恢复明文消息45。因此,加密与解密操作是相同的。
本发明的方法一般在于通过按照搜索至少一个搜索模式的程序对属于初始数据序列9a、9b、9c的数据进行组合来生成伪随机数据序列3。
因此可以有n个初始数据序列9a、9b、9c或比特流。在每个数据序列上移到一个或多个长度非零的窗口,并且可以有k个窗口(k大于或等于n)
在该过程开始时,每个窗口在相关数据序列的初始位置(例如,每一个窗口定位于相关数据序列的开头)。所述k个窗口可由k个指示器20a、20b、20c控制。
以下,E表示搜索模式的值,s表示输出模式25的值,pf1、pf2、……、pfk表示指示器20a、20b、20c指向k个窗口的号码。
此外,本发明的方法包括一系列步骤。第一步选择所述一个搜索模式或多个模式
注意所述一个搜索模式或多个模式可以预先决定,或者优先地在至少一个初始数据序列9a、9b、9c中选择。
第二步在至少一个初始数据序列9a、9b、9c中搜索所述一个搜索模式或多个模式。
第三步根据请求确定值s的输出模式25,该请求取决于所述搜索以及多个初始数据序列9a、9b、9c中至少一个初始数据序列的内容。因此所述输出模式s可能为空,例如,取决于所述窗口的内容或者取决于本方法前述步骤的执行。确定值s的输出模式25可取决于所述搜索模式或搜索历史,特别是在所述一个初始数据序列或多个序列9a、9b、9c中找到所述搜索模式E之前所实现的步骤或重复的数目。
第四步再指定在多个初始数据序列9a、9b、9c中选择和探测至少一个搜索模式E的操作。所述再指定可作为所述搜索的函数和/或多个初始数据序列函数9a、9b、9c中至少一个初始数据序列的内容的函数来实现。
前述的步骤或操作连续地重复进行以从一连串的值为S的输出模式25中形成伪随机数据序列3。
而且,这些操作由一系列规则实现。
所述系列规则包括第一组规则R1,由发生器1的组合装置5实现,用于定义至少一个移位模式以在多个初始数据序列9a、9b、9c中的每一个初始数据序列上移动至少一个窗口19a、19b、19c,从而选择和/或探测所述一个搜索模式或多个模式E。
第一组规则R1定义移动窗口19a、19b、19c的方向、幅度或形式,例如在初始数据序列9a、9b、9c的一部分上的循环移位。
例如,第一组规则R1可以包括定义如下的规则r1,1:
r1,1=“向右移一个比特”。
此外,所述系列操作包括第二组规则R2,由发生器1的组合装置5实现,通过指示器20a、20b、20c控制窗口19a、19b、19c来管理选择一个搜索模式或多个模式E和/或更新输出模式S和/或再指定所述操作。
最后,所述系列操作包括第三组规则R3,由发生器1的组合方式5实现,确定移动多个窗口19a、19b、19c的模式,例如所述不同初始数据序列9a、9b、9c上停止移动所述一个窗口或多个窗口的条件。
第二组规则R2中的更新规则中至少有一个取决于第三组规则R3中至少一个规则和第一组规则R1中至少一个规则的执行,形式如下:“只要pfi所指向的窗口的内容不是模式集中的模式,则按照规则rk1、rk2、...rki...、rkm移动指示器pfj1、pfj2、......pfjn所指向的窗口,其中规则rk1为第一组规则R1中的规则。
注意所述系列步骤或操作会一直重复进行直到满足预定条件。例如,该系列操作一直重复进行直到所述规则中一条规则的应用使得窗口离开初始数据序列,如果该序列是有限长的。也有可能会一直重复所述系列操作直到满足用户所定义的条件
此外,还要考虑在每次执行后修改所述系列操作。
因此,确定本发明伪随机数据序列的元素可取决于所述操作在初始数据序列中的分布情况,该分布情况的变化,所搜索的一个模式或多个模式,以及所述搜索的历史或者所述搜索模式的执行方式。
图3至5示出本发明方法的具体实施例。
在这些实施例中,所述系列操作在每次执行后保持不变,多个初始数据序列9a、9b、9c包括至少两个初始数据序列,所述初始数据序列可能是至少两个具有最大周期的线性反馈移位寄存器(LFSR)11a、11b、11c的输出。此外,一个窗口或多个窗口19a、19b、19c都是“长度为1”(即每个窗口包含1比特),搜索模式集包括至多一个搜索模式E,所述搜索和输出模式25长度也为1(即每个模式包含1比特)。
此外,窗口19a、19b、19c的移位幅度等于一个单位,即每个窗口在每次重复时移动一个比特,例如,从当前比特到下一比特(即从左到右)。
因此,每个初始数据序列9a、9b、9c可以连续读出,即逐比特地,从而得到实现起来非常简单的实施例。
开始时,对所述搜索和输出模式25进行初始化,各分配一个空比特,即E←φ和s←φ,φ为空集。
在第一实施例中,两个窗口19a、19b在两个初始数据序列9a、9b上移动。窗口19a在初始数据序列9a上移动,窗口19b在初始数据序列9b上移动。每个窗口初始化到相关数据序列的第一个比特。两个指示器20a、20b(标为pf1和pf2)指向窗口19a、19b。在第一实施例中,指向窗口19a、19b的指示器20a、20b在执行期间不作修改,即指示器pf1总是指向窗口19a,指示器pf2总是指向窗口19b。同样,定义二进制常量b,其在执行期间,即在第一实施例中的系列操作的每一个应用期间,保持固定。
所述第一实施例的系列操作可定义如下:
·设定第一组规则R1的唯一移位规则为r1,1=“向右移一比特”;
·设定第二组规则R2的更新规则如下:
r2,1=“将来自pf1指向的窗口的比特置于E”;
r2,2=“若pf2指向的窗口的内容是E中的模式,则更新s←b″;
r2,3=“若pf2指向的窗口的内容不是E中的模式,则更新s←b1″;
·设定第三组规则R3如下:
r3,1=“只要pf2所指向的窗口的内容不是E中的模式,则依照规则r1,1移动pf2所指向的窗口”;
r3,2=“依照规则r1,1移动pf1和pf2所指向的窗口”;
·依照上述次序应用规则r2,1,r2,2,r2,3,r3,1和r3,2,以及
·输出输出模式s。
图3为示出执行上述系列操作的流程图。
在步骤E11,选择装置21a操作指示器20a来选择搜索模式E。换句话说,该步骤将pf1指向的窗口19a的比特置于搜索模式E中。
然后探测装置21b操作指示器20b(标为pf2)在初始数据序列9b中搜索搜索模式E。因此,步骤E12是将pf2指向的窗口19b的内容与搜索模式E的内容进行比较的检测。
在步骤E13中,产生装置27依照第一条规则(s←b)更新值s的输出模式25。因此,如果pf2指向的窗口19b的内容与搜索模式E的内容相同,输出模式25采用特定值b。
在步骤E14中,产生装置27根据第二条规则(s←b1)更新输出模式25。因此,如果pf2指向的窗口19b的内容不是所述集E中的模式,则模式s取比特b的补的值,即将特定值b和值“1”进行模2加法并将该加法的结果赋给输出模式25。
在该实施例中,指派装置16总是在指示器20a、20b和窗口19a、19b之间指定同样的对应关系。
因此步骤E15和E16形成一个环路,只要窗口19b的内容不同于搜索模式E的比特(检测E16)则该环路将pf2指向的窗口19b逐比特地向接下来的比特移动(E15)。
步骤E17将pf1和pf2指向的窗口19a、19b移动一比特,从当前比特移向下一个比特。
最后,在步骤E18中,循环装置17使输出模式s从发生器1中输出以生成伪随机数据序列3,这样使上述步骤能够重复进行。
一般而言,所述系列操作可以总结下:pf1指向的窗口19a中包含的比特被读出,然后只要pf2指向的窗口中包含的比特与pf1指向的窗口中包含的比特不一致,pf2指向的窗口向右移动一个位置。如果pf2指向的窗口还没有移动,则输出b;否则,输出b1。然后这两个窗口在再开始以前向右移动一个比特。
当然,该流程图可包括一个停止检测(为简单起见图中未示出)来确定是否满足预先定义的条件。
例如,这些步骤可以重复进行来生成伪随机序列直到指示器pf2指向的窗口19b离开初始数据序列9。
图4为示出执行第二实施例的系列操作的流程图。
第二实施例包括三个初始数据序列9a、9b、9c和长度为“1”的三个窗口9a、9b、9c。窗口19a在初始数据序列9a上移动,窗口19b在初始数据序列9b上移动,窗口19c在初始数据序列9c上移动。三个窗口中的每一个都初始化到相关数据序列的第一个比特。
定义指向窗口19a、19b和19c标为pf1、pf2和pf3的三个指示器20a、20b、20c。初始化时,pf1指向窗口19a,pf2指向窗口19b,pf3指向窗口19c。定义标为pftemp的第四个指示器用于在修改pf1、pf2和pf3的值时暂时存储pf1的值。搜索模式集E在所述方法的系列操作或机制的每个执行前初始化为空集。
第二实施例的机制或系列操作定义如下:
·设定第一组规则R1的唯一移位规则为r1,1=“向右移一比特”;
·设定第二组规则R2的更新规则如下:
r2,1=“将来自pf1指向的窗口的比特置于E”;
r2,2=“将来自pf3指向的窗口的比特置于s”;
r2,3=“通过实现下述循环置换修改指示器的值:pftemp指向pf1指向的窗口,然后pf1指向pf2指向的窗口,然后pf2指向pf3指向的窗口,然后pf3指向pftemp指向的窗口。”
·设定第三组规则R3的执行规则如下:
r3,1=“只要pf2所指向的窗口的内容不是集E中的模式,则对pf2和pf3所指向的窗口应用规则r1,1”;
r3,2=“对pf1,pf2和pf3指向的窗口应用规则r1,1”;
·规则r2,1,r3,1,r2,2,r2,3和r3,2以上述次序进行应用;
·输出为输出模式s。
因此,在图4流程图的步骤E21中,选择装置21a操作指示器20a来选择搜索模式E。这就是要将pf1所指向的窗口19a的比特置于所寻模式E中。
然后探测装置21b操作标为pf2的指示器以搜索所述搜索模式E。
然后步骤E22和E23形成一个环路,该环路检验:只要pf2所指向的窗口的内容不是E中的模式(检测E22),则pf2和pf3所指向的窗口逐比特地右移(步骤E23)。
在步骤E24中,产生装置27将pf3所指向的窗口的比特的值赋给模式s。
在步骤E25中,指派装置16再指定pf1,pf2和pf3的值如下:pf1采用pf2的值,pf2采用pf3的值,pf3采用pf1以前的值。
在步骤E26中,探测装置21b操作指示器将pf1、pf2和pf3所指向的窗口逐比特右移。
最后,在步骤E27中,循环装置17使输出模式s从发生器1中输出以生成伪随机数据序列3,这样使上述步骤能够重复进行。
一般而言,所述系列操作可以总结如下:pf1指向的窗口中当前的比特E被读出,然后只要pf2指向的窗口中的比特与比特E不一致,pf2和pf3指向的窗口向右移动一个位置;输出模式s采用pf3指向的窗口中包含的比特的值;所述三个指示器pf1,pf2和pf3进行交换;然后所述三个窗口在再开始以前向右移动一个比特。
图5为示出第三实施例的系列操作的执行过程的流程图。
第三实施例包括两个初始数据序列9a、9b和两个窗口19a、19b。窗口19a在初始数据序列9a上移动,窗口19b在初始数据序列9b上移动。每个窗口初始固定在相关数据序列的第一个比特上。定义指向窗口19a、19b标为pf1、pf2的两个指示器20a、20b。初始化时,pf1指向窗口19a,pf2指向窗口19b。
第三实施例的机制或系列操作可定义如下:
·设定第一组规则R1的唯一移位规则为r1,1=“向右移一比特”;
·设定第二组规则R2的更新规则如下:
r2,1=“将来自pf1指向的窗口的比特置于E”;
r2,2=“将来自pf1指向的窗口的比特的值赋给s”;
r2,3=“交换指示器pf1和指示器pf2的值。”
·设定第三组规则R3的执行规则如下:
r3,1=“照规则r1,1移动pf2所指向的窗口”;
r3,2=“只要pf1所指向的窗口的内容不是E中的模式,则照规则r1,1移动pf1所指向的窗口”;
r3,3=“如果s不是E中的模式,则应用规则r2,3”;
·规则r2,1,r3,1,r2,2,r3,2,r3,1和r3,3以上述次序进行应用;
·输出输出模式s。
因此,在图5流程图的步骤E31中,选择装置21a操作指示器20a来选择搜索模式E。这将pf1所指向的窗口的比特置于集E中。
在步骤E32中,探测装置21b将pf1所指向的窗口右移一个比特。
在步骤E33中,产生装置27使模式s采用pf1所指向的窗口包含的比特的值。
然后探测装置21b操作标为pf1的指示器搜索所述搜索模式E。
因此,步骤E34和E35说明只要pf1指向的窗口的内容不是E中的模式(检测E34),则pf1指向的窗口逐比特向右移动(步骤E35)。
在步骤E36中,pf1指向的窗口右移一个比特。
步骤E37和E38说明如果模式s不是集E中的模式,那么通过指派装置16交换指示器pf1和pf2的值(步骤E38)。
最后,在步骤E39中,循环装置17从发生器1中输出输出模式s。
一般而言,所述系列操作可以总结下:模式E用pf1指向的窗口的内容来初始化,然后pf1指向的窗口向右移动一个位置,模式s采用pf1指向的窗口的比特值;只要pf1指向的窗口的内容不是E中的模式,pf1指向的窗口右移一个位置;然后pf1指向的窗口右移一个位置;如果模式s不是E中的模式,交换指示器pf1和pf2的值,并且输出模式s。
因此,从多个初始比特序列开始,本发明的方法构建一个新的比特序列,该新的比特序列是依照规则在初始序列上移动窗口的结果。所述模式的选择优选地分布于在该过程中可相互交换的多个初始数据序列上,从而生成高质量的伪随机比特序列。
上述实施例是高速的,其硬件实现相对于使用布尔函数的加密系统的硬件实现而言成本更低。它们适用于对高比特率通信(因特网、GSM、UMTS、WiFi)加密。
事实上,伪随机数据序列3的每个比特可以与待加密的消息45的数据序列的相应比特通过模2加法组合形成加密数据序列47(见图2)。
Claims (8)
1.一种生成伪随机数据序列(3)的方法,由一连串输出模式(25)组成,其特征是这些输出模式(25)由以下步骤获得:
-将至少一个窗口与多个初始数据序列的每个初始数据序列关联,每个窗口适于在与其相关联的初始数据序列上被移动并且对应于适于操控所述窗口的指示器;
-选择至少一个搜索模式;
-通过在所述多个初始数据序列(9a,9b,9c)的至少一个初始数据序列上移动相关联的窗口,在所述至少一个初始数据序列中搜索所述至少一个搜索模式;
-根据请求确定输出模式(25),该请求取决于所述的搜索和所述多个初始数据序列(9a,9b,9c)中至少两个初始数据序列的内容;以及
-再指定所述指示器和所述窗口的对应关系、以及再指定从所述多个初始数据序列(9a,9b,9c)中选择和搜索至少一个搜索模式。
2.如权利要求1所述的方法,其特征是所述的再指定作为所述搜索和/或至少一个初始数据序列的内容的函数而实现,所述至少一个初始数据序列为所述多个初始数据序列(9a,9b,9c)之一。
3.如权利要求1或权利要求2所述的方法,其特征是所述步骤由一系列规则实现,其中包括:
-第一组规则,用于定义至少一个移位模式,所述移位模式用于在所述多个初始数据序列(9a,9b,9c)中的每一个初始数据序列上移动所述至少一个窗口(19a,19b,19c),存在多个窗口(19a,19b,19c),因为每个窗口都与一个初始数据序列关联;
-第二组规则,用于管理选择所述至少一个搜索模式和/或更新所述输出模式(25)和/或通过所述多个指示器操控所述多个窗口(19a,19b,19c)来再指定所述选择和搜索;以及
-第三组规则,确定移动至少一个窗口的模式。
4.如权利要求3所述的方法,其特征是所述多个初始数据序列中包括至少两个初始数据序列,所述窗口(19a,19b,19c)的大小为1,以使所述至少两个初始数据序列可以逐比特连续读出以决定1比特的输出模式(25)。
5.如权利要求1或2所述的方法,其特征是所述伪随机数据序列(3)的每一个比特与来自待加密消息的数据序列的相应比特通过模2加法进行组合以形成加密的数据序列。
6.一种伪随机数据序列(3)发生器,其特征是包括用于按照搜索至少一个搜索模式的程序组合属于多个初始数据序列(9a,9b,9c)的数据的组合装置(5),所述组合装置(5)包括:
-多个指示器(20a,20b,20c),其相应地关联到多个窗口(19a,19b,19c),所述窗口适于在所述多个初始数据序列(9a,9b,9c)上移动;
-选择装置(21a),其用于操作多个指示器(20a,20b,20c),控制多个窗口(19a,19b,19c)以从至少一个初始数据序列中选择所述至少一个搜索模式;
-探测装置(21b),其用于操作多个指示器(20a,20b,20c)从至少一个初始数据序列中搜索所述至少一个搜索模式;
-产生装置(27),其用于根据请求确定输出模式(25),该请求取决于所述搜索以及来自所述多个初始数据序列(9a,9b,9c)的至少两个初始数据序列的内容;
-指派装置(16),其用于再指定所述多个指示器(20a,20b,20c)与所述多个窗口(19a,19b,19c)之间的对应关系以及用于再指定从所述多个初始数据序列(9a,9b,9c)中选择和搜索至少一个搜索模式的操作;以及
-循环装置(17)用于从一连串输出模式(25)中生成所述伪随机数据序列(3)。
7.一种加密/解密设备(39a,39b),包括异或逻辑门(43),其特征在于还包括如权利要求6所述的发生器(1),所述发生器(1)的输出连接到所述异或逻辑门(43)的一个输入。
8.一种安全系统(30),包括至少两个通过网络(35)相连的实体(33a,33b),其特征是所述至少两个实体的每一个都包括如权利要求7所述的加密/解密设备(39a,39b)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0501481 | 2005-02-14 | ||
FR0501481 | 2005-02-14 | ||
PCT/FR2006/050124 WO2006085038A1 (fr) | 2005-02-14 | 2006-02-13 | Procede systeme et dispositif de generation d'une sequence de donnees pseudo aleatoire |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101138195A CN101138195A (zh) | 2008-03-05 |
CN101138195B true CN101138195B (zh) | 2011-05-18 |
Family
ID=35058585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680007597.6A Expired - Fee Related CN101138195B (zh) | 2005-02-14 | 2006-02-13 | 用于生成伪随机数据序列的方法、系统及设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8260834B2 (zh) |
EP (1) | EP1851899A1 (zh) |
JP (1) | JP4970287B2 (zh) |
KR (1) | KR20070106629A (zh) |
CN (1) | CN101138195B (zh) |
BR (1) | BRPI0607201A2 (zh) |
WO (1) | WO2006085038A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7639611B2 (en) * | 2006-03-10 | 2009-12-29 | Alcatel-Lucent Usa Inc. | Method and apparatus for payload-based flow estimation |
KR101037520B1 (ko) * | 2008-12-02 | 2011-05-26 | 주식회사 팬택 | 광대역 무선통신시스템에서 스크램블링 코드 생성 방법 및 그 장치 |
KR100991957B1 (ko) * | 2009-01-20 | 2010-11-04 | 주식회사 팬택 | 광대역 무선통신시스템에서의 스크램블링 코드 생성 장치 및 그 방법 |
AU2015200234B2 (en) | 2014-01-21 | 2019-02-28 | Joy Global Surface Mining Inc | Controlling a crowd parameter of an industrial machine |
US10103877B2 (en) * | 2015-09-24 | 2018-10-16 | Intel Corporation | SMS4 acceleration processors having round constant generation |
CN116382634B (zh) * | 2023-05-29 | 2023-08-08 | 牛芯半导体(深圳)有限公司 | 伪随机码生成电路、方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0619659A2 (en) * | 1993-04-08 | 1994-10-12 | International Business Machines Corporation | A shrinking generator for cryptosystems |
CN1302497A (zh) * | 1997-09-22 | 2001-07-04 | 夸尔柯姆股份有限公司 | 产生加密密码流的方法和装置 |
CN1413381A (zh) * | 1999-12-22 | 2003-04-23 | 艾利森电话股份有限公司 | 用于有效的多速率伪随机(pn)序列生成的方法和电设备 |
CN1476684A (zh) * | 2000-09-29 | 2004-02-18 | �����ɷ� | 生成任意相位pn序列的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844925A (en) * | 1996-07-17 | 1998-12-01 | Ericsson Inc. | Spiral scrambling |
JPH10190523A (ja) * | 1996-12-20 | 1998-07-21 | Fujitsu General Ltd | エネルギー拡散装置 |
-
2006
- 2006-02-13 BR BRPI0607201-1A patent/BRPI0607201A2/pt not_active IP Right Cessation
- 2006-02-13 US US11/884,435 patent/US8260834B2/en not_active Expired - Fee Related
- 2006-02-13 CN CN200680007597.6A patent/CN101138195B/zh not_active Expired - Fee Related
- 2006-02-13 WO PCT/FR2006/050124 patent/WO2006085038A1/fr active Application Filing
- 2006-02-13 KR KR1020077020445A patent/KR20070106629A/ko not_active Ceased
- 2006-02-13 EP EP06709503A patent/EP1851899A1/fr not_active Withdrawn
- 2006-02-13 JP JP2007554619A patent/JP4970287B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0619659A2 (en) * | 1993-04-08 | 1994-10-12 | International Business Machines Corporation | A shrinking generator for cryptosystems |
CN1302497A (zh) * | 1997-09-22 | 2001-07-04 | 夸尔柯姆股份有限公司 | 产生加密密码流的方法和装置 |
CN1413381A (zh) * | 1999-12-22 | 2003-04-23 | 艾利森电话股份有限公司 | 用于有效的多速率伪随机(pn)序列生成的方法和电设备 |
CN1476684A (zh) * | 2000-09-29 | 2004-02-18 | �����ɷ� | 生成任意相位pn序列的方法和装置 |
Non-Patent Citations (2)
Title |
---|
Chi-K wong Chan,L.M.Cheng.Design of keystream generator.Electronics Letters34 12.1998,34(12),1206-1207. |
Chi-K wong Chan,L.M.Cheng.Design of keystream generator.Electronics Letters34 12.1998,34(12),1206-1207. * |
Also Published As
Publication number | Publication date |
---|---|
CN101138195A (zh) | 2008-03-05 |
US20090157779A1 (en) | 2009-06-18 |
BRPI0607201A2 (pt) | 2010-03-02 |
KR20070106629A (ko) | 2007-11-02 |
JP4970287B2 (ja) | 2012-07-04 |
EP1851899A1 (fr) | 2007-11-07 |
US8260834B2 (en) | 2012-09-04 |
WO2006085038A1 (fr) | 2006-08-17 |
JP2008530606A (ja) | 2008-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nandi et al. | Theory and applications of cellular automata in cryptography | |
CN101138195B (zh) | 用于生成伪随机数据序列的方法、系统及设备 | |
US7659837B2 (en) | Operation processing apparatus, operation processing control method, and computer program | |
CN112422272B (zh) | 一种防功耗攻击的aes加密方法及电路 | |
CN101034978B (zh) | 用于执行抵抗密码攻击的密码过程的方法和计算设备、以及数据处理系统 | |
CN104579636B (zh) | 一种超高速实现sm4算法的系统及其运行方法 | |
US8879733B2 (en) | Random bit stream generator with guaranteed minimum period | |
CN101431407B (zh) | 支持线程级加解密的密码处理器及其密码运算操作方法 | |
CN105354008A (zh) | 一种随机数生成器的输出电路及输出方法 | |
CN101431405B (zh) | Des加密方法及其硬件电路实现方法 | |
KR100607376B1 (ko) | 의사-랜덤 수 시퀀스 발생기 및 이와 관련된 방법 | |
CN105916141B (zh) | 一种自同步的祖冲之加解密算法的实现系统及其方法 | |
CN107678731A (zh) | 一种基于fpga的高频异步随机数发生器 | |
Lv et al. | Distinguishing attacks on RC4 and a new improvement of the cipher | |
US20150046416A1 (en) | Method for writing and reading data | |
US20120321079A1 (en) | System and method for generating round keys | |
WO2016128463A1 (en) | Method to generate high quality random mask from small entropy source | |
CN104461452A (zh) | 片上系统中生成真随机数的方法及装置 | |
JP2000242470A (ja) | 乱数生成装置および方法および記録媒体 | |
Al-Muhammed | Light but Effective Encryption Technique based on Dynamic Substitution and Effective Masking | |
US8126140B2 (en) | Generation of a pseudorandom data sequence | |
Mujahid et al. | Efficient hardware implementation of ultralightweight RFID mutual authentication protocol | |
Ma et al. | Internal state recovery of Grain v1 employing guess‐and‐determine attack<? show [AQ ID= Q1]?> | |
Kim et al. | Proposal of multi-channel operation technique using PingPong256 | |
Meitei et al. | FPGA-Based True Random Number Generator Architecture Using 15-Bit LFSR and ADPLL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110518 Termination date: 20160213 |