CN1227859C - 同步数据流发生器、生成数据流的方法、加密器站、解密器站及消费电子装置 - Google Patents

同步数据流发生器、生成数据流的方法、加密器站、解密器站及消费电子装置 Download PDF

Info

Publication number
CN1227859C
CN1227859C CNB998014338A CN99801433A CN1227859C CN 1227859 C CN1227859 C CN 1227859C CN B998014338 A CNB998014338 A CN B998014338A CN 99801433 A CN99801433 A CN 99801433A CN 1227859 C CN1227859 C CN 1227859C
Authority
CN
China
Prior art keywords
data item
generator
control
electronic generator
data
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 - Lifetime
Application number
CNB998014338A
Other languages
English (en)
Other versions
CN1275280A (zh
Inventor
C·J·A·杨森
P·L·A·勒尔瑟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1275280A publication Critical patent/CN1275280A/zh
Application granted granted Critical
Publication of CN1227859C publication Critical patent/CN1227859C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

一种同步数据流发生器宜用于为音频/视频数据提供版权保护的同步流密码,生成与时钟触发同步的输出数据项流。该数据流发生器包含至少两个并联排列的子发生器,Mi,i≥1,为线性反馈移位寄存器。该子发生器Mi的输出组合构成数据流发生器的输出数据项。一种控制子发生器C被用来生成控制数据项流。控制装置(150)包含用于至少一个子发生器Mi的一种相关的数字选择器Si,依赖于控制子发生器的控制数据项,从不同整数的一组Hi中选择数Mi,j,该组Hi的至少两个数大于零。控制装置(150)引发相关的子发生器Mi在输出端提供被选择的第ni,j数据项与先前生成的数据项相连续(有效地进位到ni,j-1数据项)。

Description

同步数据流发生器、生成数据流的方法、 加密器站、解密器站及消费电子装置
技术领域
发明涉及一种同步数据流发生器。
背景技术
这种同步数据流发生器如同《适用密码术手册》(“Handbook ofApplied Cyptogrophy”)  A.J.Menzes,P.C.Van Oorschot,S.A.Vanstone,CRC Press,1997,209-211页中已知的交替阶梯发生器(the alternating step generator)。在这个系统中,两个线性反馈移位寄存器(LFSRs)M1和M2用以生成两个数据流。通过一个异或操作,该数据流被组合为该数据流发生器的一位输出流。第三个线性反馈移位寄存器(LFSR)C被用作控制子发生器,它的输出控制线性反馈多位寄存M1和M2的同步,其操作顺序如下:
-寄存器C被同步
-若C的输出是逻辑“1”,则M1被同步;M2未被同步但其输出被重复
-若C的输出是逻辑“0”,则M2被同步;M1未被同步但其输出被重复
-M1和M2的输出被组合。
非线性度被引入这个系统,子发生器C的控制下通过利用C去不规则同步该子发生器当中的一个。该数据流发生器可有许多应用。例如,数据流发生器可用作伪随机发生器,而且可用来加密/解密数据通过将输出位模(bit modulo)2异或加在数据位上。
发明内容
本发明的一个目的是提供对已知攻击更具抵抗力那种类型的同步数据流发生器。更进一步的目的在于提供这样一种改进了的数据流发生器,适用于数字式用户电子系统利用低门复杂性作为硬件实现,并提供一种速度适宜数字式音频/视频信号的加密/解密。
根据本发明的一个方面,提供一种同步数据流发生器用于生成至少一位的输出数据项与时钟触发同步;该数据流发生器包含:
多个子发生器Mi,i≥1,每个子发生器Mi包含相应的时钟输入和相应的输出;每个子发生器Mi响应通过相应的时钟输入接收的触发在相应的输出生成至少一位的数据项;
用来组合每个子发生器Mi所生成的数据项的装置,构成该数据流发生器的输出数据项;
一个控制子发生器C,包含接收时钟触发的输入和输出;控制子发生器C响应时钟触发,在输出上生成至少一位的控制数据项;以及
控制装置,该装置能有效提供一个触发给子发生器Mi至少一个时钟输入,依赖于该控制子发生器C的控制数据项;其特征在于该控制装置包含用于至少一个子发生器Mi的一个相关的数字选择器Si,依赖于控制子发生器C的控制数据项,该选择器从不同整数的组Hi中选择一数字ni,j;组Hi的至少两个数大于零;组Hi与数字选择器Si相关;以及该控制装置引发相关的子发生器Mi在输出提供被选择的第ni,j数据项,它与上一个生成的数据项连续。
根据本发明的另一个方面,提供一种加密器站,包括:
用于接收与时钟触发同步的数据项的流的输入;
数据流发生器,为响应时钟触发生成所生成的数据项的流;以及
用于将数据项的接收流与生成的数据项的流组合的装置,提供对应于加密数据项的流。
根据本发明的另一个方面,提供一种解密器站,包括:
用于接收与时钟触发同步的加密数据项的流的输入;
数据流发生器,为响应时钟触发生成所生成的数据项的流;以及
用于将加密数据项的接收流与生成的数据项的流组合的装置,提供对应于解密数据项的流。
根据本发明的另一个方面,提供一种消费电子装置,包含上述解密器站和用于从记录载体读出加密数据项的流并将该数据项的流提供给解密器站以便解密的装置。
根据本发明的另一个方面,提供一种方法,用于生成一输出数据项流,每一个至少一位与时钟触发同步;该方法包括:
生成控制数据项的控制流,每一个至少一位与时钟触发同步;
生成多个数据项的数据流DSi,每一个至少一位;根据预定算法Ai生成每一个数据流DSi
根据控制流的控制数据项控制至少一个数据流DSi的数据项的生成;以及
通过组合生成的数据流DSi形成输出流;其特征在于
控制至少一个数据流DSi的数据项生成的步骤包括为该数据流DSi从有不同整数的一相关组中选择一数n;该组的至少两个数大于零;该选择是依赖于该控制流的控制数据项;以及
生成数据项流DSi的一数据项的步骤包括生成作为该数据流DSi的下一个数据项的一个数据项,根据算法Ai该数据项将是与上一个被生成的数据项相连续的第n数据项。
为了达到本发明目的,控制装置包含适用于至少一个子发生器Mi,一个相关数字选择器Si,依赖于该控制子发生器C的控制数据项,从具有不同整数的组Hi中选择一数ni,j;该组Hi的至少两个数大于零;数组Hi与数字选择器Si相关联;而且在其中控制装置用于引发相关的子发生器Mi在输出提供与先前生成的数据项相连续的被选择的第ni,j数据项。这样,子发生器Mi被更加不规则地触发/同步引发更高程度的非线性特性。代替近一半的时间子发生器未被同步(即维持同样的输出),该组可能更大些,具有至少两个整数不同于零,允许该子发生器更经常地被同步(即输出较不经常地保持常数,这是因为为该子发生器选择一个“零”,结果该子发生器未被同步,而另一个则被同步),而且可提供在同一时间多于一次触发(即实际上跳过若干个ni,j-1个数据项并在输出提供第ni,j数据项)。这样一种进位可简单地通过响应给予数据流发生器的一次时钟触发,同步一个子发生器ni,j次来执行。通过不或不常保持一子发生器的相同输出,该数据流发生器具有更多的状态。实现这一点所需的硬件/软件可保持一最小,使得这一改进适用于高速消费电子应用。
一个数据项可简单地由一位(0或1)组成,或用更多位构成表示一个大范围。组合多个子发生器的输出可用一种简单操作,如按位异或或者可能是一种更加复杂的(非)线性操作。
发明涉及一种同步数据流发生器,用于生成与时钟触发同步的至少一位输出数据项流;该数据流发生器包括:
多个子发生器Mi,i≥1,每个子发生器Mi包含相应的时钟输入和相应的输出;子发生器Mi为响应通过相应的时钟输入接收的触发,在相应的输出生成至少一位数据项。
用于组合子发生器MI每个生成的数据项的装置,构成数据流发生器的输出数据项;
控制子发生器C包含一个接收时钟触发的输入和一个输出;该控制子发生器C为响应时钟触发在输出生成至少一位控制数据项;以及
控制装置,依赖于控制子发生器C的控制数据项,提供触发给子发生器MI的至少一个时钟输入。
发明进一步涉及包含同步数据流发生器的加密器和/或解密器站。发明还涉及包含解密器站的一种设备,该解密器站包含同步数据流发生器。
发明进一步涉及生成数据项输出流的方法,至少一位的每个与时钟触发同步;该方法包括:
生成控制数据项的控制流,至少一位的每个与时钟触发同步;以及
生成多个数据项的数据流DSi,每个至少一位;每个数据流DSi根据相应的预先确定的算法Ai被生成;
根据该控制流的控制数据项控制至少一个数据流DSi的数据项的生成;还有
通过组合生成的数据流DSi构成输出流。
在本发明的一个实施方案中,平衡选择是一种保障最大周期的有效方式。
在本发明的一个实施方案中,子发生器总是被同步至少一次,保证该组合输出总包含该子发生器的每个的新基值(contribution)。从两个数中进行选择,其中的一个数是“一”可供简单而快速实现。
在本发明的一个实施方案中,至少两个子发生器是“不规则地”和不相同地被同步以进一步提高非线性。
在本发明的一个实施方案中,一种有限状态机器被用作发生器。
在本发明的一个实施方案中,一种反馈移位寄存器被用作有限状态机器,用于简单而快速地实现消费电子应用。该反馈移位寄存器可有线性反馈或者,取而代之,非线性反馈。
在本发明的一个实施方案中,第ni,j输出数据项是由一次操作(一次触发)生成,而非利用ni,j,连续的时钟触发。这样,一个高位-速率在门复杂性仅有的很小增加的情况下而实现。这使得该流发生器特别适宜用在数字式音频/视频设备中,如CD或DVD之类的播放机,其中低成本条件下的高位-速率是必要的。
在本发明的一个实施方案中,控制数据项的更多输出位被利用,以便增加在数字选择方法方面的可变性。
最好是,数据流发生器被用于生成数据项的伪随机流(pseudo-random stream)的加密器和/或解密器站。对称的加密/解密则可通过把生成的数据流和一个将被加密/解密的流组合来完成,例如采用异或操作。进一步,把解密器组合到重放设备,如光盘播放机,此处被加密的数据流从如磁带或磁盘的记录载体读出。该加密器和解密器也可被用来保护数字式数据通过如象IEEE1394网络传输,特别是音频和/或视频数据。在这种情况下,原始的数字式数据在发射机站内加密,而解密则在接收站。密钥(key)信息可以任何适当方式提供,如公用密钥交换方法。
发明的一个目的是提供一种方法,用于生成同步的数据流,对已知攻击更具抵抗力。发明进一步的目的是提供这样的方法,它适宜在数字式用户电子系统中利用低门-复杂性作为硬件实现并提供一种速度,适宜加密/解密数字式音频/视频信号。
为达到本发明的目的,该方法的特征在于控制数据流DSi的至少一个的数据项的生成步骤包括为数据流DSi从不同整数的一相关组中选择一个数n;该组的至少两个数大于零;该选择依赖于控制流的控制数据项;以及
生成数据流DSi的一个数据项的步骤包括生成作为该数据流DSi的下一个数据项的一个数据项,根据算法Ai,该数据项将是与先前生成的数据项连续的第n数据项。
按照这种方法,算法Ai相应于子发生器Mi的功能,因此将不分别详述。
本发明还涉及引导处理器运行这种方法的计算机程序。该程序可用于任何适合的处理器,如嵌入式微处理器或Risc处理器,或执行加密软件的优化处理器。实现该方法的步骤属于本领域的技术人员的技术范围以内,不再重复说明。
发明还涉及执行该方法的计算机程序和该程序被录入其中的计算机-可读存储媒体。
发明还涉及含该计算机程序的计算机-可读存储媒体。任何适合的媒体均可使用,如磁性存储器媒体(例如软磁盘),或光存储器媒体,如CD-ROM,或电子存储媒体如非-易失性RAM或ROM。
附图说明
参考附图中的实施例,本发明的这些及其他方面将更清楚。
图1示出本发明的一种同步数据流发生器100的方块图;
图2说明一种反馈移位寄存器;
图3说明″单一时钟,多步/反馈″LFSR;
图4表示数据流发生器优先实施方案的方块图;
图5说明一种加密/解密设备。
具体实施方式
图1示出的发生器100包含两个子发生器110(M1)和120(M2)。该子发生器M1和M2包含接收时钟触发的相应输入112和122。为响应经由相应的输入112和122接收时钟触发,该子发生器M1和M2在相应的输出114和124提供数据项。这就得到了相应数据项流DS1和DS2。典型地,每个数据项包括一位。显然,应当理解,该数据项可以有任何期望值范围,例如,由多于一位来表示。最好是,该子发生器的输出数据项来源于同样范围。发生器100包含组合装置130,用来组合通过子发生器的输出数据项来源于同样范围。发生器100包含组合装置130,用来组合通过子发生器M1和M2生成的数据项。组合数据流DS1和DS2的简便途径是一种按位异或操作,应当理解,虽然仅示出两个子发生器M1和M2,多于两个的子发生器可作并联排列,它们的输出也被组合。采用更多的子发生器总的来说将增加数据流发生器100的周期并增加线性复杂性,要求更多的硬件和软件处理来实现。
数据流发生器并进一步包括控制子发生器140(C)。该控制子发生器C包含接收时钟触发的输入142。该输入142与数据流发生器100的时钟输入102相耦合。响应时钟脉冲,该子发生器C在输出144提供控制数据项。该子发生器C的控制数据项用来控制子发生器Mi(图1,1≤i≤2)的同步,因被生成的控制数据项通常不与Mi的输出数据项相组合,该控制数据项的长度选择与子发生器M1与M2的数据项长度无关。
数据流发生器100也包含控制装置150。控制装置150包含接收时钟触发的时钟输入152。最好是,该时钟输入152与数据流发生器100的时钟输入102相耦合,以保证控制装置150运行与控制子发生器C同步。但是,也可采用分离时钟,只要数据流发生器100的输出与经由时钟输入102接收的时钟触发同步。控制装置150进一步包括一种数字选择器。该数字选择器从一个不同整数预先确定的组中选择一数字ni。该选择依赖于控制子发生器C的控制数据项。响应时钟触发,使控制装置150动作以便使得子发生器Mi中被选择的的一个在输出上提供与上一个输出数据项相连续的第ni数据项。例如当n1=3,这可能通过给M1提供三次时钟触发来实现。于是,这样在输入152的一次时钟触发,依赖于控制数据项的数值,可能导致提供例如3次触发给M1的输入112。该数字选择器,最好是,将该组数字存贮在存储器(例如在ROM或RAM内,其存储的数字从一个如同记录载体的非易失性存储器调入)。还有其他方法,如用一种算法来生成一个数。总之,根据本发明,数字选择和相关的触发可仅为多个子发生器中的一个而运行。最好是,一个数字选择供子发生器Mi中的每一个运行,该数字确定Mi被“同步”多少次。这种选择可以仅采用一个数字选择器,它依次地为不同的子发生器Mi选择一个数。为了提高速度,最好是,控制装置150包含应用于每个相应的子发生器Mi的相应的数字选择器Si。图1中,数字发生器116(S1)与子发生器M1相结合而数字发生器126(S2)与子发生器M2相结合。在该例中,数字发生器116和126中的每一个包含存贮相应的数ni,j的组Hi的相应存储器118和128。更好的,组Hi的至少两个不相同。最好是,所有的组Hi不相同。
根据本发明,组Hi包含至少两个不同整数,在这至少两个不同的整数组中,至少两个数大于零。例如,可能的组是:1和3;1和5;0,1和7;0,3和11,等等。最好是,该组不含整数零。这样,给数据流发生器100的每次时钟触发导致在与该组相关的子发生器Mi中至少有一次被“同步”。最好是,该组务必包含整数一,因为总的来说导致子发生器Mi生成下一个数据项在输出是很简单的,(例如,只要给子发生器Mi一次时钟触发)。应当理解,根据本发明至少对一个子发生器Mi照上述方式进行控制,其中触发的数从组Hi具有至少两个整数大于零的数的组合中进行选择。最好是,全部子发生器就这样来控制。但是,如果希望这样,一个或更多的子发生器还可通过从组{0,1}中选择一个数来控制。
最好是,组Hi仅由两个整数组成,其中,更好的,一个(数)是一,而第二个是大于一。这样,控制装置150仅需要取一简单地二元判定,哪个数用来“同步”子发生器,这样一种判定可基于控制子发生器C的一个输出位。
在进一步实施方案中,数字选择器Si执行一种平衡选择,其中组Hi的数ni,j中的每一个都基本上有相同的被选择机会。这可通过不同方式实现。例如通过利用一具有平衡输出的控制子发生器C并在选择过程中保持这种平衡(例如直接使用平衡的控制数据项的一位在Hi的两个数中进行选择,其中Hi仅由两个数组成)。
在进一步的实施方案中,一种有限状态机器被用来通过一个子发生器产生数据项的伪随机流。最好是,所有子发生器Mi和控制子发生器C都建立在有限状态机器的基础上。更好的,不同的机器用于每个子发生器。对于有限状态机器,一次时钟触发引起该机器的一个状态变换,其中一个状态变换导致输出一数据项。如果根据本发明,ni,j大于一,则ni,j-1输出需要压缩(例如输出的采样是仅在ni,j状态变换触发已被提供给有限状态机器之后才能实现的)。任何适合的有限状态机器均可被使用,例如,Des可用于输出反馈模式。
更好的,该有限状态机器是基于一种反馈移位寄存器,任何适合的反馈移位寄存器均可采用。图2说明反馈移位寄存器200。该寄存器200包含几个顺序排列的存储单元P0至Pk-1。在例中,P0是低-位单元输出数据项从它提供。典型地,一个数据项是一位,而一个单元却能够存贮更多位。响应经由输入收到的触发,全部单元的存数移位,通常朝向低位单元的位置。因为触发一般是一个时钟脉冲,这可看作准时从t到t+1的一个转移。移位可用下式表示:
p i ( t + 1 ) = p i + 1 ( t ) 当i=0~k-1
P0以前的存数(即P0 (t))在寄存器200的输出端220已经是可用的。由于移位,单元Rk变空了。这个单元在时间t已被再装入了在一个或更多的其他单元内的一个组合数据项。被示出的是一简单线性组合,其中P0 (t)和P3 (t)用按位异或操作进行组合。
p k ( t + 1 ) = p 0 ( t ) ⊕ p 3 ( t )
示出的线性反馈移位寄存器(LFSR)可用以下多项式表示:
              f(x)=xk+x3+1
在这个公式中,对于n-位(bit)存储器单元,f(x)∈F2n[x]。该LFSR可处于2K-1-1中的一内部状态(所有零状态不被采用)。2K-1输出项的伪随机序列没有任何输出的重复发生,如果代表的多项式是一个所谓的本原多项式。本原多项式众所周知是不同次多项式。最好是,基于本原多项式的LFSR被用作每一个基于LFSR的子发生器。这样的本原多项式众所周知为不同级的多项式。作为硬件的简单实现,优先采用一种稀疏的多项式(sparse Polynomial)(即仅有几个系数的多项式),要求仅仅很少量的逻辑去实现反馈函数。应该理解,非线性反馈函数也可用来代替线性反馈函数。
常规的反馈移位寄存器(FSR)可被引发输出第n数据项,其中n>1,紧接着前面的一个输出数据项通过提供n次触发(时钟脉冲)给FSR。对于高速应用,时钟倍增状态(一个输入时钟触发提供给数据流发生器100,导致n个内部触发给一个FSR)的结果形式可能是一个问题。根据本发明,对于LFSR,使用一些附加的逻辑仅用一内部触发提供第n数据项。这就是用图说明的LFSR,用多项式表示:
               f(x)=x7+x3+1
在一个位置(n=1)上的移位可描述为:
p i ( t + 1 ) = p i + 1 ( t ) , 当i=0to5;
p 6 ( t + 1 ) = p 0 ( t ) ⊕ p 3 ( t ) , 或等值的: p i ( t + 1 ) = p i - 6 ( t ) ⊕ p i - 3 ( t ) , 当i=6
相似地在两个位置(n=2)上的移位可表示为:
p i ( t + 1 ) = p i + 2 ( t ) , 当i=0  4;
p 5 ( t + 1 ) = p 0 ( t ) ⊕ p 3 ( t ) p 6 ( t + 1 ) = p 1 ( t ) ⊕ p 4 ( t ) , 或等值的: p i ( t + 1 ) = p i - 5 ( t ) ⊕ p i - 2 ( t ) , 当i=5  6
在三个位置(n=3)上的移位可表示为:
p i ( t + 1 ) = p i + 3 ( t ) , 当i=0  3;
p i ( t + 1 ) = p i - 4 ( t ) ⊕ p i - 1 ( t ) , 当i=4  6
图3说明这个原理的可能的实现方案,其中LFSR与组H={1,3}相关联(即一次移位发生在一个位置或三个位置上)。给每个单元加上了相应的开关310~370,其中第一位置对应于常规反馈(n=1)而第二个位置对应于新定义的反馈,它和三个顺序的常规位移与反馈有同样的效果。
对于上述定义的多项式,同样的“一次触发,多位移/反馈”原理也可在n=4时执行:
p i ( t + 1 ) = p i + 4 ( t ) , 当i=0  2;
p i ( t + 1 ) = p i - 3 ( t ) ⊕ p i ( t ) , 当i=3  6
在多项式f(x)=x7+x3+1的更通用项中,一个在n个位置(1≤n≤4)上的移位的一个操作由下式给出:
p i ( t + 1 ) = p i + n ( t ) , 当i=0  7-n;
p i ( t + 1 ) = p i - 7 + n ( t ) ⊕ p i - 4 + n ( t ) , 当i=7-n+1  6
用下面给出的特征多项式的任何LFSR的一般化原理:
f ( x ) = x k + Σ i = 0 k - n a i x t ,
1≤n≤k,给出,为响应触发以便及时的从t到t+1进行转变,在存储器单元之间的数据项的以下移位需要并行执行:
p i ( t + 1 ) = p i + n ( t ) , 当i=0  k-n-1,
p i ( t + 1 ) = Σ j = 0 k - n a j p j + 1 + n - k , 当i=k-n  k-1
这样,就获得了一种快速执行,避免了“内部反馈回路”的复杂化。当最高位单元需要馈入数据项而该数据项在寄存器里显然还不存在时,这样反馈回路就出现了,即数据项首先需要从已给出的数据项中产生。例如,如果根据一个通用触发出现5个内部移位/反馈,对于采样多项式f(x)=x7+x3+1就会发生这种情况。用实例来说明这种情况,扩展上述原理,当n=5,将给出:
p i ( t + 1 ) = p i + 4 ( t ) , 当i=0~1;
p i ( t + 1 ) = p i - 2 ( t ) ⊕ p i + 1 ( t ) , 当i=2~6
对于P6给出:
p 6 ( t + 1 ) = p 4 ( t ) ⊕ p 7 ( t )
此处实际上单元P7不存在(事实上一种双重反馈形态出现:先前P6是按常规方式反馈,随后以P6到P6(与P3组合)的新存数反馈。认识到这一点,在一次正规的移位操作之后P7的存数对应于P6的存数,就象这样:
p 7 ( t ) = p 0 ( t ) ⊕ p 3 ( t ) 这里给出: p 6 ( t + 1 ) = p 0 ( t ) ⊕ p 3 ( t ) ⊕ p 4 ( t ) .
象这样,应该理解,上述一般原理可以扩展,即使需要依赖更多的逻辑或操作(例中以2个异或代替1个异或操作)。
在进一步实施方案中,控制子发生器C的控制数据项包含多个L位,至少是一个,最好是,全部数字选择器Si都包含变换控制数据项的L位的变换装置,作为控制子发生器的输出,变换成对相应的组Hi的整数ni,j中的一个。通常任何适合的变换都可以用。更好的,一种平衡的变换被采用。图4说明一种优先的安排用于变换多位(例中:L是三位)成整数中的一个(例中该整数选自两个整数的一组)例子,两个子发生器LFSR1 410和LFSR2 420被采用,每个有相应的数字选择器416和426。该数字选择器的每个包含相应的布尔函数Fi用于将多于一位变换为一位。例中两位(K1和K2)被变换为一位。该变换可选择为一种固定方式,如下表所示:
k2 (t)k1 (t)
 00  01  10  11
 F1  1  1  0  1
 F2  0  1  0  1
根据表中的值,若K2 (t) K1 (t)=“01”(二进制),F1和F2生成作为输出一个二进制“1”,而若K2 (t)K1 (t)=00,F1生成“1”而F2生成“0”。或者,该变换表格可能被填入可配置的初始值,例如来自于密钥。在图4中的方案中,优先的,F1和F2运行不同的变换,对于函数F1和F2可能做出这样的选择,使它们的输出是平衡的。图中的安排方案中不要求F1和F2提供平衡输出,平衡的实现是通过把该函数的输出与控制子发生器C的输出位K0 (t)组合在一起,假定这个输出是平衡的(这对LFSR成立)。在该方案中相应的函数Gi用来把两个相应的位流419和429变换为相应的数字流,选自相应的组Hi,那些被选择的数字决定相应的子发生器Mi的“内部同步”的数字。适合的数组的例子为:H1={1,5}和H2={1,7}。
函数Gi可定义如下:
            G1(0)=1;G1(1)=5,
            G2(0)=1;G2(1)=7.
其它交换函数也可用作Gi。假定子发生器Hi是周期为qi的有限状态机器,则函数Gi最好是满足如下准则,以获得最优的非线性特性和总发生器100的周期长度:假定Pi是Gi的输入位流的最小周期,而在周期(Pi=ai+bi)期间ai和b相应地表示二进制数“0”和“1”,则gcd(aiGi(0)+biGi(1),qi)=1。一种相似准则适用于多于两个数的组。
图4的方案结合图3的LFSR1与LFSR2的内部多移位/反馈技术可以实现。即在硬件中把少于2000门用于大约35个一位单元的寄存器,并且在80Mbps的位率以上,采用常规技术可以操作,如标准可编程装置。显然该系统也可利用软件技术实现。
图5说明一个加密/解密站500的方块图。该站500包含输入510,用于接收被加密的、相应于与时钟触发520同步的解密数据项的流515。该时钟可被内部地生成在设备上或可伴生于该数据项流。根据本发明,该站进一步包括数据流发生器100,时钟触发520作为输入被供给数据流发生器100,该发生器100响应生成数据项同步流530。站500包含组合装置540,为一个异或操作,把接收到的数据流515和生成数据流530组合在一起。通过采用同样的流发生器100(即一个同样的生成函数用于同样的初始值条件控制下,例如密钥)在加密站以及解密站两者中,实现一个称之为对称的加密系统。更好的,该加密站被用来给数字式音频/视频数据加密,然后它就以加密格式被存贮在记录载体上,如光存储器媒体,或被以一种加密格式传送,例如,通过互联网,然后,该被加密数据在阅读器/接收器中存取,存取密钥则被限制在阅读器/接收器站内的解密站。这样一种被限制的存取,例如,可以利用公共密钥加密方法以加密格式转换密钥来实现。利用这种技术可保证仅由特许的接收器来接收密钥并能够解密该数据。为通过一存储器媒体分配,专用的特许硬件可被利用在阅读器中从存储媒体抽取密钥。该密钥可被存贮在一般存储媒体不可存取的存储硬件中。最好是,这样一种密钥然后以外部不可常规地存取方式提供给解密站。例如密钥器读硬件和解密器站可被集成到同样的IC中,它甚至可能被做成抗干扰。图5说明在阅读机/播放机设备550中应用解密站500。设备550包含存储媒体560。代替永久地包含存储器媒体(记录载体),该设备550还包含一停舶装置(berting mean8),例如一个托架(tray),作为接收存储器装置,设备550包含一时钟570,为从存储器媒体到解密站500读出/供给数据提供定时,读出由阅读器580来操作,它提供数据流515。阅读器580还检索数据,如密钥,用来初始化解密器站500。初始化数据590被供给解密器站。应当理解,一种相似的反向方案可被用来加密数据和以加密格式存贮数据,如果要求组合被应用的初始化数据。
使用根据本发明的加密/解密,内容所有者或发行人获得有效的版权保护,对于消费电子接收器/阅读器设备可用一种低成本来实现。

Claims (12)

1.一种同步数据流发生器,用于生成至少一位的输出数据项流与时钟触发同步;该数据流发生器包含:
多个子发生器Mi,i≥1,每个子发生器Mi包含相应的时钟输入和相应的输出;每个子发生器Mi响应通过相应的时钟输入接收的触发,在相应的输出上生成至少一位的数据项;
用来组合每个子发生器Mi所生成的数据项的装置,构成该数据流发生器的输出数据项;
一个控制子发生器C,包含接收时钟触发的输入和输出;该控制子发生器C响应时钟触发,在输出上生成至少一位的控制数据项;以及
控制装置,该装置依赖于该控制子发生器C的控制数据项,能有效提供一个触发给子发生器Mi至少一个时钟输入;其特征在于该控制装置包含用于至少一个子发生器Mi的一个相关的数字选择器Si,依赖于控制子发生器C的控制数据项,该选择器从不同整数的组Hi中选择一数字ni,j,j≥0;组Hi的至少两个数大于零;组Hi与数字选择器Si相关;以及该控制装置引发相关的子发生器Mi在输出上提供被选择的第ni,j数据项,它与上一个生成的数据项连续。
2.权利要求1的同步数据流发生器,其特征在于该数字选择器Si执行一种平衡选择,其中组Hi的每一个数ni,j有同样被选择的机会。
3.权利要求1的同步数据流发生器,其特征在于至少一个组Hi由整数1和大于1的一个整数组成。
4.权利要求1的同步数据流发生器,其特征在于该控制装置包含用于至少两个子发生器Mi的一个相关的数字选择器Si,用于从具有不同整数的一个相关组Hi中选择数ni,j;至少两个组Hi是不同的。
5.权利要求1的同步数据流发生器,其特征在于该子发生器Mi和/或控制子发生器C包含一有限状态机器,用于产生数据项的伪随机流。
6.权利要求5的同步数据流发生器,其特征在于该有限状态机器包含反馈移位寄存器。
7.权利要求6的同步数据流发生器,其特征在于该反馈移位寄存器是一线性反馈移位寄存器,它与特征多项式
f ( x ) = x k + Σ i = 0 k - n a i x i , 1 ≤ n ≤ k
相关联,该线性反馈移位寄存器包含K个连续排列的存储器单元P0~Pk-1,P0是低位单元,它提供输出数据项;通过并行执行数据项在两个存储器单元之间的以下公式的位移,
p i ( i + 1 ) = p i + n ( i ) ,  当i=0~k-n-1,
p i ( i + 1 ) = Σ j = 0 k - n a j p j + i + n - k ,  当i=k-n~k-1
该线性移位寄存器响应触发,提供第n数据项作为输出数据项。
8.权利要求1的同步数据流发生器,其特征在于该控制子发生器C的控制数据项包含多个L输出位;数字选择器Si包含变换装置,它把L输出位变换为组Hi的整数ni,j中之一。
9.一种加密器站,包括:
同步数据流发生器,用于生成至少一位的输出数据项流与时钟触发同步,该数据流发生器包含:
多个子发生器Mi,i≥1,每个子发生器Mi包含相应的时钟输入和相应的输出;每个子发生器Mi响应通过相应的时钟输入接收的触发,在相应的输出上生成至少一位的数据项;
用来组合每个子发生器Mi所生成的数据项的装置,构成该数据流发生器的输出数据项;
一个控制子发生器C,包含接收时钟触发的输入和输出;该控制子发生器C响应时钟触发,在输出上生成至少一位的控制数据项;以及
控制装置,该装置依赖于该控制子发生器C的控制数据项,能有效提供一个触发给子发生器Mi至少一个时钟输入;其特征在于该控制装置包含用于至少一个子发生器Mi的一个相关的数字选择器Si,依赖于控制子发生器C的控制数据项,该选择器从包含不同整数的组Hi中选择一数字ni,j,j≥1;组Hi的至少两个数大于零;组Hi与数字选择器Si相关;以及该控制装置引发相关的子发生器Mi在输出上提供被选择的第ni,j数据项,它与上一个生成的数据项连续;以及
用于将数据项的接收流与生成的数据项的流组合的装置,提供加密数据项的流。
10.一种解密器站,包括:
同步数据流发生器,用于生成至少一位的输出数据项流与时钟触发同步,该数据流发生器包含:
多个子发生器Mi,i≥1,每个子发生器Mi包含相应的时钟输入和相应的输出;每个子发生器Mi响应通过相应的时钟输入接收的触发,在相应的输出上生成至少一位的数据项;
用来组合每个子发生器Mi所生成的数据项的装置,构成该数据流发生器的输出数据项;
一个控制子发生器C,包含接收时钟触发的输入和输出;该控制子发生器C响应时钟触发,在输出上生成至少一位的控制数据项;以及
控制装置,该装置依赖于该控制子发生器C的控制数据项,能有效提供一个触发给子发生器Mi至少一个时钟输入;其特征在于该控制装置包含用于至少一个子发生器Mi的一个相关的数字选择器Si,依赖于控制子发生器C的控制数据项,该选择器从包含不同整数的组Hi中选择一数字ni,j,j≥1;组Hi的至少两个数大于零;组Hi与数字选择器Si相关;以及该控制装置引发相关的子发生器Mi在输出上提供被选择的第ni,j数据项,它与上一个生成的数据项连续;以及
用于将加密数据项的接收流与生成的数据项的流组合的装置,提供对应于解密数据项的流。
11.一种消费电子装置,包含:
解密器站,其包括:
同步数据流发生器,用于生成至少一位的输出数据项流与时钟触发同步,该数据流发生器包含:
多个子发生器Mi,i≥1,每个子发生器Mi包含相应的时钟输入和相应的输出;每个子发生器Mi响应通过相应的时钟输入接收的触发,在相应的输出上生成至少一位的数据项;
用来组合每个子发生器Mi所生成的数据项的装置,构成该数据流发生器的输出数据项;
一个控制子发生器C,包含接收时钟触发的输入和输出;该控制子发生器C响应时钟触发,在输出上生成至少一位的控制数据项;以及
控制装置,依赖于该控制子发生器C的控制数据项;该装置能有效提供一个触发给子发生器Mi至少一个时钟输入,其特征在于该控制装置包含用于至少一个子发生器Mi的一个相关的数字选择器Si,依赖于控制子发生器C的控制数据项,该选择器从包含不同整数的组Hi中选择一数字ni,j,j≥1;组Hi的至少两个数大于零;组Hi与数字选择器Si相关;以及该控制装置引发相关的子发生器Mi在输出上提供被选择的第ni,j数据项,它与上一个生成的数据项连续;以及
用于将加密数据项的接收流与生成的数据项的流组合的装置,提供对应于解密数据项的流;和
用于从记录载体读出加密数据项的流并将该数据项的流提供给解密器站以便解密的装置。
12.一种生成输出数据项流的方法,每一个至少一位与时钟触发同步;该方法包括:
生成控制数据项的控制流,每一个至少一位与时钟触发同步;
生成多个数据项的数据流DSi,每一个至少一位;根据预定算法Ai生成每一个数据流DSi
根据控制流的控制数据项控制至少一个数据流DSi的数据项的生成;以及
通过组合生成的数据流DSi形成输出流;其特征在于
控制至少一个数据流DSi的数据项生成的步骤包括为该数据流DSi从有不同整数的一相关组中选择一数n;该组的至少两个数大于零;该选择是依赖于该控制流的控制数据项;以及
生成数据项流DSi的一数据项的步骤包括生成作为该数据流DSi的下一个数据项的一个数据项,根据算法Ai该数据项是与上一个生成的数据项相连续的第n数据项。
CNB998014338A 1998-06-25 1999-06-21 同步数据流发生器、生成数据流的方法、加密器站、解密器站及消费电子装置 Expired - Lifetime CN1227859C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98202112 1998-06-25
EP98202112.3 1998-06-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN03107310A Division CN100583753C (zh) 1998-06-25 1999-06-21 加密数据项流的方法

Publications (2)

Publication Number Publication Date
CN1275280A CN1275280A (zh) 2000-11-29
CN1227859C true CN1227859C (zh) 2005-11-16

Family

ID=8233844

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB998014338A Expired - Lifetime CN1227859C (zh) 1998-06-25 1999-06-21 同步数据流发生器、生成数据流的方法、加密器站、解密器站及消费电子装置
CN03107310A Expired - Lifetime CN100583753C (zh) 1998-06-25 1999-06-21 加密数据项流的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN03107310A Expired - Lifetime CN100583753C (zh) 1998-06-25 1999-06-21 加密数据项流的方法

Country Status (8)

Country Link
US (2) US6587562B1 (zh)
EP (1) EP1038370B1 (zh)
JP (1) JP4460772B2 (zh)
KR (1) KR100662667B1 (zh)
CN (2) CN1227859C (zh)
DE (1) DE69933108T2 (zh)
TW (1) TW437227B (zh)
WO (1) WO1999067918A2 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909785B1 (en) * 1999-11-11 2005-06-21 Qualcomm, Inc. Method and apparatus for efficient irregular synchronization of a stream cipher
US7190787B1 (en) * 1999-11-30 2007-03-13 Intel Corporation Stream cipher having a combiner function with storage based shuffle unit
JP2001274786A (ja) * 2000-01-21 2001-10-05 Victor Co Of Japan Ltd コンテンツ情報伝送方法、コンテンツ情報記録方法、コンテンツ情報伝送装置、コンテンツ情報記録装置、伝送媒体、及び記録媒体
US7502468B2 (en) * 2003-09-02 2009-03-10 Ncipher Corporation Ltd. Method and system for generating a cryptographically random number stream
US7369661B2 (en) * 2004-01-30 2008-05-06 Intel Corporation Method and apparatus for detection of loss of cipher synchronization
DE102004037814B4 (de) * 2004-08-04 2010-12-16 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
JP4750105B2 (ja) * 2005-03-23 2011-08-17 Kddi株式会社 キーストリーム暗号化装置および方法ならびにプログラム
DE102005062763B4 (de) * 2005-12-28 2007-08-30 Siemens Ag Schaltungsanordnung für eine Speicherkarte mit Debit- oder Ausweiskartenfunktion
CN100459493C (zh) * 2005-12-29 2009-02-04 北京浦奥得数码技术有限公司 流密码生成器、随机数生成方法、加密系统及加密方法
US20070189512A1 (en) * 2006-01-20 2007-08-16 Chiou-Haun Lee Method and apparatus for processing stream encryption/decryption
US7734044B2 (en) * 2006-02-23 2010-06-08 Texas Instruments Incorporated Method and apparatus for synchronous stream cipher encryption with reserved codes
WO2007105126A2 (en) 2006-03-10 2007-09-20 Koninklijke Philips Electronics N.V. Method and system for obfuscating a cryptographic function
FR2899702A1 (fr) * 2006-04-10 2007-10-12 France Telecom Procede et dispositif pour engendrer une suite pseudo-aleatoire
BRPI0714242A2 (pt) 2006-07-12 2013-01-29 Koninkl Philips Electronics Nv sistema e mÉtodo para aumentar a resistÊncia Á adulteraÇço de uma unidade de processamento de dados digitais, e, produto de programa de computador
US8700915B2 (en) 2006-07-12 2014-04-15 Irdeto Corporate B.V. Method and system for verifying authenticity of at least part of an execution environment for executing a computer module
US8107622B2 (en) * 2006-09-07 2012-01-31 Fortress Gb Ltd. System and method to preclude message modification in data authentication systems through efficent use of feedback in cryptographic functions
US8670559B2 (en) 2008-03-05 2014-03-11 Irdeto Corporate B.V. White-box implementation
US9710623B2 (en) 2008-03-05 2017-07-18 Irdeto B.V. Cryptographic system
EP2669789A3 (en) 2008-05-07 2014-06-25 Irdeto Corporate B.V. Exponent obfuscation
WO2010041264A1 (en) * 2008-10-07 2010-04-15 Secretary, Department Of Atomic Energy A method and apparatus for block encryption and synchronous stream cipher
US8971536B2 (en) * 2011-07-21 2015-03-03 Vixs Systems, Inc. Balanced entropy random number generator
US9448959B2 (en) * 2012-10-05 2016-09-20 Analog Devices, Inc. Two-wire communication protocol engine
GB2530518A (en) * 2014-09-24 2016-03-30 Ibm Method and apparatus for generating a multi-level Pseudo-Random Test

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68928980T2 (de) * 1989-11-17 1999-08-19 Texas Instruments Inc. Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern
US5224129A (en) * 1990-10-31 1993-06-29 Tektronix, Inc. Method of synchronizing signals of a pulse generator
US5511181A (en) * 1993-04-26 1996-04-23 Apple Computer, Inc. Polycyclic timing system and apparatus for pipelined computer operation
US5684714A (en) * 1995-05-08 1997-11-04 Kabushiki Kaisha Toshiba Method and system for a user to manually alter the quality of a previously encoded video sequence
JPH08329011A (ja) * 1995-06-02 1996-12-13 Mitsubishi Corp データ著作権管理システム
US5687191A (en) * 1995-12-06 1997-11-11 Solana Technology Development Corporation Post-compression hidden data transport

Also Published As

Publication number Publication date
EP1038370B1 (en) 2006-09-06
DE69933108D1 (de) 2006-10-19
CN100583753C (zh) 2010-01-20
KR100662667B1 (ko) 2007-01-02
US20030194087A1 (en) 2003-10-16
WO1999067918A3 (en) 2000-03-30
US7058178B2 (en) 2006-06-06
KR20010023158A (ko) 2001-03-26
TW437227B (en) 2001-05-28
EP1038370A2 (en) 2000-09-27
US6587562B1 (en) 2003-07-01
JP4460772B2 (ja) 2010-05-12
CN1275280A (zh) 2000-11-29
JP2002519890A (ja) 2002-07-02
CN1516385A (zh) 2004-07-28
WO1999067918A2 (en) 1999-12-29
DE69933108T2 (de) 2007-04-12

Similar Documents

Publication Publication Date Title
CN1227859C (zh) 同步数据流发生器、生成数据流的方法、加密器站、解密器站及消费电子装置
CN1172235C (zh) 扩充密钥发生器、加密/解密单元、扩充密钥产生方法
CN100595816C (zh) 加密方法,加密装置,解密方法和解密装置
CN1159112A (zh) 加密方法及装置、记录方法、解码方法及装置和记录介质
JP5402632B2 (ja) 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及びプログラム
CN1663172A (zh) 为aes rijndael分组密码产生轮次密钥
CN101040474A (zh) 为提高安全性的置换数据变换
CN1121754A (zh) 数据加密的装置和方法
JP2004505289A (ja) コンピュータで効率的な線形フィードバック・シフト・レジスタ
CN1238988C (zh) 密钥信息生成的方法和装置、内容信息加密与解密的方法和装置
JP2003535377A (ja) 疑似乱数発生器
CN112906043B (zh) 一种基于混沌映射和混沌s盒代换的图像加密方法
CA2414261A1 (en) Method of encryption using multi-key process to create a variable-length key
CN1518269A (zh) 数据加密设备和方法
CN1523810A (zh) 设计最优加密函数的方法和优化的加密设备
EP1292883A1 (en) Parallel modulo arithmetic using bitwise logical operations
CN111865553A (zh) 基于混沌和Zigzag变换的多音频加密方法
Verma et al. 3D-Playfair cipher with additional bitwise operation
CN1108040C (zh) 解密方法及电子装置
CA2413381A1 (en) A method of protecting a cryptosystem from a multiple transmission attack
EP1287638B1 (en) Decoding of cipher polynomials
Manikandan et al. An improved reversible data hiding scheme through novel encryption
EP1287641A1 (en) A method of validating an encrypted message
CN1813439A (zh) 产生伪随机序列的方法
US20040247116A1 (en) Method of generating a stream cipher using multiple keys

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20051116