加密数据项流的方法转让专利

申请号 : CN03107310.7

文献号 : CN100583753C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : C·J·A·杨森P·L·A·勒尔瑟

申请人 : 皇家菲利浦电子有限公司

摘要 :

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

权利要求 :

1.一种加密数据项流的方法,该方法包括: 与时钟触发同步,接收第一数据项流; 通过以下步骤,与时钟触发同步,生成第二数据项流,每一个至少一位: 与时钟触发同步,生成控制数据项的控制流,每一个至少一位;和 生成数据项的多个数据流,每一个至少一位;每个数据流在各自的算法的控制下被生成; 通过为至少一个数据流从具有不同整数的相关组中选择一数n,依赖于控制流的控制数据项来控制至少一个数据流的数据项的生成;这些组中的至少两个数大于零;该选择依赖于控制流的控制数据项;以及 通过组合所生成的数据流,构成第二数据项流; 其中生成数据流的数据项的步骤包括:生成一数据项作为该数据流的下一个数据项,其中该数据项根据该算法将是与最后生成的数据项相连续的第n个数据项;和 组合第一数据项流和所生成的第二数据项流,以提供加密的数据项流。

2. 如权利要求1的方法,包含在记录介质上存储加密的数据项流。

3. 如权利要求l的方法,包含发送加密的数据项流。

说明书 :

加密数据项流的方法

技术领域

本发明涉及一种同步数据流发生器。 背景技术
这种同步数据流发生器如同《实用密码术手册》("Handbook of Applied Cryptography ,, ) A. J. Menzes, P. C-Van
Oorschot, S. A. Vans tone, CRC Press, 1997,第209-211页中已知的交替 阶梯发生器(the alternating step generator)。在这个系统中, 两个线性反馈移位寄存器(LFSR ) Ml和M2用以生成两个数据流。通过 XOR (异或)运算(操作),这些数据流被组合为该数据流发生器的一 位输出流。第三个线性反馈移位寄存器(LFSR ) C被用作控制子发生器, 它的输出控制线性反馈多位寄存Ml和M2的同步(定时)。操作顺序 如下:
-寄存器C被同步(定时)
-若C的输出是逻辑"1",则M!被同步;M2未被同步但其输出被
重复
-若C的输出是逻辑"0",则M2净皮同步;Mi未,皮同步但其输出被
重复
-Mi和M2的输出一皮组合。
通过使用C将非线性度引入这个系统,以便在子发生器C的输出 的控制下不规则同步(定时)这些子发生器当中的一个。该数据流发 生器可有许多应用。例如,该数据流发生器可用作伪随机发生器,而 且可用来通过将输出位模(bit modulo) 2 (X0R)(异或)加在数据 位上来加密/解密数据。

发明内容

本发明的一个目的是提供对已知攻击更具抵抗力那种类型的同步 数据流发生器。更进一步的目的在于提供这样一种改进了的数据流发 生器,其适用于数字式用户电子系统,利用低的门复杂性作为硬件实现,并提供一种速度适于数字式音频/视频信号的加密/解密。
特别地,本发明提供一种加密数据项流的方法,该方法包括:与时钟触发同步,接收第一数据项流;
通过以下步骤,与时钟触发同步,生成笫二数据项流,每一个至少一位:
与时钟触发同步,生成控制数据项的控制流,每一个至少一位;

生成数据项的多个数据流,每一个至少一位;每个数据流在各自的算法的控制下被生成;
通过为至少 一个数据流从具有不同整数的相关组中选择一数n,依赖于控制流的控制数据项来控制至少一个数据流的数据项的生成;这些组中的至少两个数大于零;该选择依赖于该控制流的控制数据项;以及
通过组合所生成的数据流,构成第二数据项流;其中生成数据流的数据项的步骤包括:生成一个数据项作为该数据流的下一个数据项,其中该数据项根据该算法将是与最后生成的数据项相连续的第n个数据项;和
组合第一数据项流和所生成的第二数据项流,以提供加密的数据项流。
根据本发明的一个方面,提供一种同步数据流发生器,用于与时钟触发(器)同步生成至少一位的输出数据项;该数据流发生器包含:
多个子发生器Mi, &1,每个子发生器Mi包含相应的时钟输入和相应的输出;每个子发生器Mi响应通过相应的时钟输入接收的触发在相应的输出生成至少一位的数据项;
用来組合每个子发生器Mi的生成的数据项的装置,以构成该数据流发生器的输出数据项;
控制子发生器C,包含用于接收时钟触发(信号)的输入和输出;控制子发生器C响应时钟触发在输出上生成至少一位的控制数据项;以及
控制装置,用于依赖于该控制子发生器C的控制数据项来提供触发(信号)给子发生器Mi至少一个时钟输入;其特征在于,该控制装置包含用于至少一个子发生器Mi的相关的数字选择器Si,依赖于控制子发生器C的控制数据项,该选择器从不同整数的组Hi选择一数字j;组Hi的至少两个数大于零;组Hi与数字选择器Si相关;以及该控制装置引发相关的子发生器Mi在输出提供被选择的第iii,j数据项它与一个先前生成的数据项连续。
根据本发明的另一个方面,提供一种加密器站,包括:
用于接收时钟触发同步数据项的流的输入;
数据流发生器,为响应时钟触发生成所生成的数据项的流;以及用于将数据项的接收流与生成的数据项的流组合的装置,提供对应于加密数据项的流。
根据本发明的另一个方面,提供一种解密器站,包括:用于接收时钟触发同步的加密数据项的流的输入;数据流发生器,为响应时钟触发生成所生成的数据项的流;以及
用于将加密数据项的接收流与生成的数据项的流组合的装置,提供对应于解密数据项的流。
根据本发明的另一个方面,提供一种消费电子装置,包含上述解密器站和用于从记录载体读出加密数据项的流并将该数据项的流提供给解密器站而解密的装置。
根据本发明的另一个方面,提供一种方法,用于生成输出数据项流,每一个至少一位,与时钟触发同步;该方法包括:
生成控制数据项的控制流,每一个至少一位与时钟触发同步;
生成多个数据项的数据流,每一个至少一位;根据预定算法生成每一个数据流;
根据控制流的控制数据项,控制至少一个数据流的数据项的生成;
以及
通过组合生成的数据流构成输出流;其特征在于控制至少一个数据流的数据项生成的步骤包括为该数据流从有不
同整数的相关组中选择一数n;这些组的至少两个数大于零;该选择是
依赖于该控制流的控制数据项;以及
生成数据项流的数据项的步骤包括作为该数据流的下一个数据项
生成一个数据项,其根据算法将是与最后一个被生成的数据项相连续
的第n数据项。
为了达到本发明目的,控制装置包含适用于至少一个子发生器Mi的相关的数字选择器Si,用于依赖于该控制子发生器c的控制数据项,
从不同整数的组Hi中选择一数rii,j;该组Hi的至少两个数大于零;该组Hi与数字选择器Si相关联;而且控制装置用于导致相关的子发生器Mi在输出上提供与最后生成的数据项相连续的被选择的第ni,j数据项。这样,子发生器Mi被更加不规则地触发/同步,引起更高程度的非线性特性。代替近一半的时间子发生器未被同步(即维持同样的输出),该组可能更大些,具有至少两个整数不同于零,允许该子发生器更经常地被同步(即输出较不经常地保持恒定,这是因为为该子发生器选择"零"的结果,并因此该子发生器未被同步,而另一个则被同步),
而且同时提供多于一次触发(即实际上跳过若干个!li,j-1个数据项并在
输出提供第m,j数据项)。这样一种跳跃(进位)可筒单地通过响应给予数据流发生器的一次时钟触发、同步一个子发生器ih,j次来执行。通过不或不常保持一子发生器的相同输出,该数据流发生器具有更多的状态。实现这一点所需的硬件/软件可保持最小,使得这些改进适用于高速消费电子应用。
一个数据项可简单地由一位(0或1)组成,或用更多位构成,表示一个大范围。组合多个子发生器的输出可用一种简单操作,如按位异或(X0R)或者可能是一种更加复杂的(非)线性操作。
本发明涉及一种同步数据流发生器,用于生成与时钟触发同步的至少一位输出数据项流;该数据流发生器包括:
多个子发生器Mi, i^l,每个子发生器Mi包含相应的时钟输入和相应的输出;子发生器Mi为响应通过相应的时钟输入接收的触发,在相应的输出生成至少一位数据项。
用于组合于发生器M,每个生成的数据项的装置,构成数据流发生
器的输出数据项;
控制子发生器C,包含一个接收时钟触发的输入和一个输出;该控制子发生器C为响应时钟触发在输出生成至少一位控制数据项;以及
控制装置,依赖于控制子发生器C的控制数据项,提供触发给子发生器Mi的至少一个时钟输入。
本发明进一步涉及包含同步数据流发生器的加密器和/或解密器站。本发明还涉及包舍解密器站的一种设备,该解密器站包含同步数据流发生器。本发明进一步涉及生成数据项输出流的方法,至少一位的每个与
时钟触发同步,该方法包括:
生成控制数据项的控制流,每个至少一位,与时钟触发同步;以

生成多个数据项的数据流DSi,每个至少一位;每个数据流根据相应的预先确定的算法^t生成;
根据该控制流的控制数据项,控制至少一个数据流的数据项的生成;以及
通过组合生成的数据流,构成输出流。
在本发明的一个实施方案中,平衡选择是一种保障最大周期的有效方式。
在本发明的一个实施方案中,子发生器总是被同步至少一次,保证该组合输出总包含这些子发生器的每个的新基值(contribution)。从两个数中进行选择,其中的一个数是"一,,,这允许筒单而快速实现。
在本发明的一个实施方案中,至少两个子发生器是"不规则地"
和不相同地被同步,以进一步提高非线性。
在本发明的一个实施方案中, 一种有限状态机被用作发生器。在本发明的一个实施方案中, 一种反馈移位寄存器被用作有限状
态机,允许适于消费电子应用的筒单而快速实现。该反馈移位寄存器
可有线性反馈或者,取而代之,具有非线性反馈。
在本发明的一个实施方案中,第Hi,j输出数据项是由一次操作(一
次触发)生成,而非利用iii,j,连续的时钟触发。这样, 一个高位速率在门复杂性仅有的很小增加的情况下而实现。这使得该流发生器特别适宜用在数字式音频/视频设备中,如CD或DVD之类的播放机,其中低成本条件下的高位速率是必要的。
在本发明的一个实施方案中,控制数据项的更多输出位被利用,以便增加在数字选择处理中的可变性。
最好是,数据流发生器被用于生成数据项的伪随机流(pseudo-random str濯)的加密器和/或解密器站。对称的加密/解
密则可通过把生成的数据流和一个将被加密/解密的流组合来完成,例如采用异或操作。进一步有益地,把解密器组合到重放设备,如光盘播放机,其中将被加密的数据流从如磁带或磁盘的记录载体中读出。 该加密器和解密器也可,皮用来保护数字数据(特别是音频和/或视频数
据)通过如IEEE1394的网络的传输。在这种情况下,原始的数字数据 在发射机站内被加密,并且在接收站被解密。密钥(key)信息可以任 何适当方式提供,如使用公用密钥交换方法。
本发明的一个目的是提供一种方法,用于生成同步的数据流,其 对已知攻击更具抵抗力。本发明进一步的目的是提供这样的方法,它 适宜在数字式用户电子系统中利用低门-复杂性作为硬件实现并提供 一种速度,适宜于数字音频/视频信号的加密/解密。
为达到本发明的目的,该方法的特征在于,控制至少一个数据流 的数据项的生成步骤包括为数据流从不同整数的相关组中选择数n;这
些组的至少两个数大于零;该选择依赖于控制流的控制数据项;以及 生成数据流的数据项的步骤包括生成作为该数据流的下一个数据 项的数据项,根据算法,该数据项将是与最后生成的数据项连续的第n 数据项。
按照这种方法,该算法Ai相应于子发生器Mi的功能,因此将不分 别详述。
本发明还涉及用于导致处理器执行这种方法的计算机程序。该程 序可用于任何适合的处理器,如嵌入式微处理器或Risc处理器,或为 执行加密软件而优化的处理器。实现该方法的步骤属于本领域的技术 人员的技术范围以内,不再重复说明。
本发明还涉及执行该方法的计算机程序和该程序被记录于其中的 计算机可读存储媒体。
本发明还涉及具有该计算机程序的计算机可读存储媒体。任何适 合的媒体均可使用,如磁性存储器媒体(例如软磁盘),或光存储器 媒体,如CD-ROM,或电子存储媒体,如(非易失性)RAM或R0M。

附图说明

参考附图中的实施例,本发明的这些及其他方面将更清楚。 图1示出本发明的同步数据流发生器100的方块图; 图2说明一种反馈移位寄存器; 图3说明"单一时钟,多步/反馈"LFSR;图4表示数据流发生器的优选实施方案的方块图;好 图5说明一种加密/解密设备。

具体实施方式

图1示出的发生器100包含两个子发生器110 (Mi)和120 (M2)。 这些子发生器Mi和M2包含接收时钟触发(信号)的相应输入112和122。 为响应经由相应的输入112和122接收时钟触发,该子发生器M,和M2 在相应的输出114和124提供数据项。这就得到了相应数据项流DS, 和DS2。典型地,每个数据项包括一位。显然,应当理解,该数据项可 以有任何期望值范围,例如,由多于一位来表示。最好是,该子发生 器的输出数据项来源于同样范围。发生器100包含組合装置130,用来 组合通过子发生器Mt和M2生成的数据项。组合数据流DS,和DS2的筒便 途径是一种按位异或操作,应当理解,虽然仅示出两个子发生器M!和 M2,多于两个的子发生器可作并联排列,它们的输出也被组合。采用更 多的子发生器总的来说将增加数据流发生器100的周期并增加线性复 杂性,要求更多的硬件和软件处理来实现。
数据流发生器并进一步包括控制子发生器140 (C)。该控制子发 生器C包含接收时钟触发(信号)的输入142。该输入142与数据流发 生器100的时钟输入102相耦合。响应时钟脉冲,该子发生器C在输 出144提供控制数据项。该子发生器C的控制数据项用来控制子发生 器Mi(图l, Ki《2)的同步,因被生成的控制数据项通常不与Mi的输 出数据项相组合,该控制数据项的长度选择与子发生器Mi与M2的数据 项长度无关。
数据流发生器100也包含控制装置150。控制装置150包含接收时 钟触发(信号)的时针输入152。最好是,该时针输入152与数据流发 生器100的时钟输入102相耦合,以保证控制装置150运行与控制子 发生器C同步。但是,也可采用分离时钟,只要数据流发生器100的 输出与经由时钟输入102接收的时钟触发(信号)同步。控制装置150 进一步包括一种数字选择器。该数字选择器从一个不同整数预先确定 的组中选择一数字n"该选择依赖于控制子发生器C的控制数据项。 控制装置150响应于时钟触发(信号)而导致被选择的一个于发生器 Mi在输出上提供与最后输出的数据项相连续的第n;数据项。例如当n产3,这可能通过给Mi提供三次时钟触发来实现。于是,这样在输入 152的一次时钟触发,依赖于控制数据项的数值,可能导致提供例如3 次触发给M,的输入112。该数字选择器最好将该组数字存贮在存储器 (例如在ROM或RAM内,其存储的内容从一个如同记录载体的非易失 性存储器载入)。还有其他方法,如用一种算法来生成一个数。原则 上,根据本发明,数字选择和相关的触发可仅为多个子发生器中的一 个而运行。最好是,对于子发生器Mi中的每一个,执行数字选择,该 数字确定Mi被"同步,,多少次。这种选择可以仅采用一个数字选择器, 它依次地为不同的子发生器Mi选择一个数。为了提高速度,最好是, 控制装置150包含应用于每个相应的子发生器Mi的相应的数字选择器 Si。图l中,数字发生器116 (SJ与子发生器Mi相关,而数字发生器 126 (S2)与子发生器M2相关。在该例中,数字发生器116和126中的 每一个包含存贮相应的数ni j的组Hi的相应存储器U8和128。更好的,
组Hi的至少两个是不相同的。最好是,所有的组Hi不相同。
根据本发明,組仏包含至少两个不同整数,在这至少两个不同的 整数组中,至少两个数大于零。例如,可能的组是:l和3; l和5; 0, 1和7; 0, 3和11,等等。最好是,该组不含整数零。这样,给数据 流发生器100的每次时钟触发导致在与该组相关的子发生器Mi中至少 有一次被"同步"。最好是,该组务必包含整数一,因为总的来说导 致子发生器Mi生成下一个数据项在输出是很简单的,(例如,只要给 子发生器Mi—次时钟触发)。应当理解,根据本发明至少对一个子发 生器Mi照上述方式进行控制,其中触发的数从组Hi具有至少两个整数 大于零的数的组合中进行选择。最好是,全部子发生器就这样来控制。 但是,如果希望这样, 一个或更多的子发生器还可通过从组{0, 1}中选 择一个数来控制。
最好是,组Hi仅由两个整数组成,其中,更好的,第一个(数) 是一,而第二个是大于一。这样,控制装置150仅需要采用筒单的二 元判定,即,评定哪个数用来"同步"子发生器,这样一种判定可基 于控制子发生器C的一个输出位。
在进一步实施方案中,数字选择器Si执行一种平衡选择,其中组 Hi的数Hi, j中的每一个都基本上有相同的被选择机会。这可通过不同方 式实现。例如通过利用一具有平衡输出的控制子发生器C并在选择过程中保持这种平衡(例如直接使用平衡的控制数据项的一位在Hi的两 个数中进行选择,其中Hi仅由两个数组成)。
在进一步的实施方案中, 一种有限状态机器被用来通过一个子发 生器产生数据项的伪随机流。最好是,所有子发生器Mi和控制子发生 器C都建立在有限状态机器的基础上。更好的,不同的机器用于每个 子发生器。对于有限状态机器, 一次时钟触发引起该机器的一个状态 变换,其中一个状态变换导致输出一数据项。如果根据本发明,iii,j大 于一,则ni,w输出需要压缩(例如输出的采样是仅在iii,j状态变换触 发已被提供给有限状态机之后才能实现的)。任何适合的有限状态机 器均可被使用,例如,Des可用于输出反馈模式。
更好的,该有限状态机是基于一种反馈移位寄存器,任何适合的 反馈移位寄存器均可采用。图2说明反馈移位寄存器200。该寄存器 200包含几个顺序排列的存储单元P。至Ph。在该示例中,P。是低-位 单元,从中提供数据项。典型地,数据项是一位,而一个单元却能够 存l&更多位。响应经由输入210收到的触发信号,全部单元的存数(内 容)移位,通常朝向低位单元的位置。因为触发信号一般是时钟脉冲, 这可被看作从t到t+l的时间的转变(transition)。移位可用下式
表示:
A =Pw,当,-0~" 1
P。以前的存数(内容)(即P。(t))在寄存器200的输出端已经是可 用的。由于移位,单元Rk变空了。这个单元在时间t已被再装入了在 一个或更多的其他单元内的一个组合数据项。被示出的是一简单线性 组合,其中P。")和P3(t'用按位异或(X0R)操作进行组合。
示出的线性反馈移位寄存器(LFSR)可用以下多项式表示:
/(JC) = X* +?+1在这个公式中,对于n-位(bit)存储器单元,
f (x)eg„ [x]。该LFSR可处于2K —^1中的一内部状态(所有零状态不 被采用)。2K-l输出项的伪随机序列没有任何输出的重复发生,如果 代表的多项式是一个所谓的本原多项式。本原多项式众所周知是不同 次多项式。最好是,基于本原多项式的LFSR被用作每一个基于LFSR 的子发生器。这样的本原多项式众所周知为不同级的多项式。作为硬 件的简单实现,优先采用一种稀疏的多项式(sparse Polynomial)(即 仅有几个系数的多项式),要求仅仅^f艮少量的逻辑去实现反馈函数。 应该理解,非线性反馈函数也可用来代替线性反馈函数。
常规的反馈移位寄存器(FSR)可被引发输出第n数据项,其中n>l, 紧接着前面的一个输出数据项通过提供n次触发(时钟脉冲)给FSR。
对于高速应用,时钟倍增状态(一个输入时钟触发提供给数据流发生器 100,导致n个内部触发给一个FSR)的结杲形式可能是一个问题。根 据本发明,对于LFSR,使用一些附加的逻辑仅用一内部触发提供第n 数据项。这就是用图说明的LFSR,用多项式表示:
/(jt) = ;c7 +x3 + 1
在一个位置(n=l)上的移位可描述为: 当"0to5;
P;'+') = P〗')@^'〉,或等值的:A('+') = /^®/^,当''=6 相似地,在两个位置(n=2)上的移位可表示为: /T)《:当"0-4;
pf" = W>㊉当/4'+1> = ® ,或等值的:P)'+" = @ '当'。=5 - 6 在三个位置(n=3)上的移位可表示为:/T>《当"0-3;
图3说明这个原理的可能的实现方案,其中LFSR与组H= {1, 3} 相关联(即一次移位发生在一个位置或三个位置上)。给每个单元加 上了相应的开关310~ 370,其中第一位置对应于常规反馈(n-l)而第 二个位置对应于新定义的反馈,它和三个顺序的常规位移与反馈有同 样的效果。
对于上述定义的多项式,同样的"一次触发,多位移/反馈"原理 也可在n=4时执行:
P,('+')-P,3④A(')'当!' = 3 — 6
在多项式f (x)=x7+x3+l的更通用项中, 一个在n个位置(1《nS4)上的 移位的一个操作由下式给出:
用下面给出的特征多项式的任何LFSR的一般化原理:
,=0
l《n这样, 一种快速实现就达到了,避免了 "内部反馈回路"的复杂化。 当最高位单元需馈入数据项而在寄存器内部显然还不能给出该数据项
时,这样反馈回路就出现了,即数据项首先需要从已给出的数据项产
生。这种情况,例如,发生在采样多项式f (x)=x7+x3+l,如果5个内部 移位/反馈都有响应 一 个通用触发用实例来说明这种情况,扩展上述原 理,当n=5,将给出:
/T"《当^ o~
对于Ps给出:
此处实际上单元P7不存在(事实上一种双重反馈形态出现:先前h是
按常规方式反馈,随后以P6到P6 (与P3组合)的新存数反馈。认识到 这一点,P,的存数对应于P6的存数在一次正规的移位操作之后,就象
这样:
=® 这里给出:pr')=rf) ® w) ® . 象这样,应该理解,上述一般原理可以扩展,即使需要依赖更多的逻
辑或操作(例中以2个异或代替1个异或操作)。
在进一步实施方案中,控制子发生器C的控制数据项包含多个L 位,至少是一个,而最好是,全部数字选择器Si都包含变换控制数据 项的L位的变换装置,作为控制子发生器的输出,变换成对相应的组 Hi的整数iii,j中的一个。通常任何适合的变换都可以用。更好的, 一种平衡的变换被采用。图4说明一种优先的安排用于变换多位(例中:L 是三位)成整数中的一个(例中该整数选自两个整数的一组)例中, 两个子发生器LFSR1 (410)和LFSR2 ( 420 )净皮采用,每个有相应的数 字选择器416和426。该数字选择器的每个包含相应的布尔函数Fi用 于变换多于一位为一位。例中两位("和k2)被变换为一位。该变换 可选择为一种固定方式,如下表所示:
formula see original document page 15
根据表中的值,若k2(tV0= "01" (二进制),Fi和F2生成二进 制T作为输出,而若k2")k/t)-00, Fi生成T而Fz生成"0,,。或 者,该变换表格可能被填入可配置的初始值,例如来自于密钥。在图4 中的方案中,优先的,Fi和F2运行不同的变换(映射),对于函数F! 和F2可能做出这样的选择,使它们的输出是平衡的。图中的安排方案 中不要求Fi和F2提供平衡输出,平衡的实现是通过把该函数的输出与 控制子发生器C的输出位K。")组合在一起,假定这个输出是平衡的(这 对LFSR成立)。在该方案中相应的函数Gi用来把两个相应的位流419 和429变换为相应的数字流,选自相应的组Hi,那些被选择的数字决 定相应的子发生器Mi的"内部同步"的数字。适合的数组的例子为: H产(1,5)和H产(1,7)。
函数Gi可定义如下:
G!(0)-l;G'(l)-5, G2(0)=1;G2(1) = 7,
其它交换(映射)函数也可用于G"假定子发生器Hi是具有周期 为Qi的有限状态机,则函数Gi最好是满足如下准则,以获得最优的非 线性特性和总发生器100的周期长度:假定Pi是Gi的输入位流的最小周期,而ai和bi相应地表示二进制数"0"和"1"在周期(Pi-ai+bi) 内的数量,则gcd(aiGi(0)+biGi(l),qi)-l。 一种相似准则适用于多于两 个数的组。
图4的方案结合图3的LFSRl与LFSR2的内部多移位/反馈技术可 以实现。即在硬件中把少于2000门用于大约35个一位单元的寄存器, 并且在80Mbps的位率以上,采用常规技术可以操作,如标准可编程装 置。显然该系统也可利用软件技术实现。
图5说明一个加密/解密站500的方块图。该站500包含输入510, 用于接收被加密的,相应于与时钟触发520同步的解密数据项的流 515。该时钟可被内部地生成在设备上或可伴生于该数据项流。根据本 发明,该站进一步包括数据流发生器100,时钟触发520作为输入#皮供 给数据流发生器100,该发生器100响应生成数据项同步流530。站500 包含组合装置540,诸如异或(XOR)运算符,把接收到的数据流515 和生成的数据流530组合在一起。通过采用同样的流发生器100 (即一 个同样的生成函数用于同样的初始值条件控制下,例如密钥)在加密 站以及解密站两者中,实现一个称之为对称的加密系统。更好的,该 加密站被用来给数字式音频/视频数据加密,然后它就以加密格式被存 l&在记录载体上,如光存储器媒体,或被以一种加密格式传送,例如, 通过互联网,然后,该被加密数据在阅读器/接收器中存取,存取密钥 则被限制在阅读器/接收器站内的解密站。这样一种被限制的存取,例 如,可以利用公共密钥加密方法以加密格式转换密钥来实现。利用这 种技术可保证仅由特许的接收器来接收密钥并能够解密该数据。为通
过一存储器媒体分配,专用的特许硬件可被利用在阅读器中从存储媒 体抽取密钥。该密钥可被存贮在一般存储媒体不可存取的存储硬件中。 最好是,这样一种密钥然后以外部不可常规地存取方式提供给解密站。 例如密钥器读硬件和解密器站可被集成到同样的IC中,它甚至可能被 做成抗干扰。图5说明在阅读机/播放机设备550中应用解密站500。 设备55G包含存储媒体560。代替永久地包含存储器媒体(记录载体), 该设备550还包含一4亭舶装置(berthing means),例如一个托架 (tray),作为接收存储器装置,设备550包含一时钟570,为从存储 器媒体到解密站500读出/供给数据提供定时,读出由阅读器580来操 作,它提供数据流515。阅读器580还检索数据,如密钥,用来初始化解密器站500初始化数据590被供给解密器站。应当理解, 一种相似 的反向方案可被用来加密数据和以加密格式存贮数据,如果要求组合 被应用的初始化数据。
使用根据本发明的加密/解密,内容所有者或发行人获得有效的版 权保护,对于消费电子接收器/阅读器设备可用一种低成本来实现。