高保密性的数据解密方法与装置的制作方法

文档序号:7955315阅读:175来源:国知局
专利名称:高保密性的数据解密方法与装置的制作方法
本申请是中国专利申请96111260.3的分案申请。
本发明涉及一种加密(scrambling)方法及其装置,一种解密(descrambling)方法及其装置和一个数据传输方法及其系统,该系统适合传输符合MPEG(动态图象专家组)规定的数据位流(或简化流)。MPEG标准(后面简称为MPEG)是数字动态图象编码(压缩)和声音信号编码的一个国际标准,同样也是多路复用与信号分离的国际标准。


图1.显示了一个传统的数据传输系统。
参照图1,数据传输系统包括一个摄像机1用于获得图象数据,一个麦克风2用于获得声音数据。还有一个MPEG编码器3,它把通过摄像机1获得的图象数据和通过麦克风2获得的声音数据,按时分复用处理过程进行编码以产生符合MPEG规格的数据位流。这里产生的数据位流包括一个数据组标题,它包含附加数据;数据位流还包含一个分组数据(packet data part),它包含了图象数据和声音数据。
图1的传输信息还包含一个加密电路4,用于对MPEG编码器3输出的数据流进行加密,这样的数据流就成为一个分组数据已加密流。
加密电路4包括一个随机数发生器5,用于依照一个密钥信号的规定来产生一串随机数;还包括一个异或电路6,它对MPEG编码器3输出的分组数据数据流与随机数发生器5产生的随机数两者进行异或操作。
加密电路4还包括一个选择电路7,用于对MPEG编码器3输出的分组数据数据流和异或电路6输出的数据流进行有选择的输出,选择电路7输出加密电路4在传输媒介8上的数据流,传输媒介8可能是一个物理媒介如一个磁盘或磁带,或者是一个非物理媒介如卫星广播或有线电视广播。
图1的系统中还包括一个解密电路9,它对传输媒介8传送的,由加密电路4输出的数据流进行解密,使数据流成为其中的分组数据已解密的数据流。
需要注明的是,解密电路9包括一个与随机数发生器5结构相同的随机数发生器10,在随机数发生器5中使用的密钥信号也同样用于随机数发生器10。
解密电路9还包括一个异或电路11,它对传输媒介传送的,由加密电路4输出的分组数据流和随机数发生器10产生的随机数进行异或操作。
解密电路9还包括一个选择电路12,它在传输媒介8传送的,由加密电路4输出的数据流的组标题和异或电路11输出的数据流两者之中有选择地输出其中之一。
解密电路9输出的数据流送入一个MPEG解码器13,用来对其中的图象数据和声音数据进行分离,这样解密后的图象数据和声音数据便送入电视接收机14。
通过利用图1的数据传输系统,在传输过程中MPEG流的分组数据被加密,这就可以保护数据组不被非法拷贝。
图1的系统在图2所示的情况下会产生问题。MPEG编码器3输出了包括数据a1,a2,a3……的一个数据流,同时随机数发生器5和10输出了随机数c1,c2,c3……。这种情况下,异或电路6产生输出为a1c1,a2c2,a3c3……上述结果经由选择电路7选择后输出到异或电路11。这样,异或电路11产生包括a1,a2,a3……的数据流。
这种情况下,要想恢复随机数c1,c2,c3……,只需加入另一个异或电路15,对输入异或电路11的数据流与异或电路11输出的数据流a1,a2,a3……两者进行异或操作a1c1,a2c2,a3c3……即可。
这意味着即便密钥信号秘密保存,图1的传输系统仍很容易被非法拷贝随机数发生器10产生的随机数。这样,加密的数据组很容易被解密。
相应地,本发明的总体目标就是提供一个新型有效的数据传输系统和传输方法,从而可以消除前述问题。
本发明的另一个更具体的目标是提供一个加密方法及其装置,一个解密方法及其装置,还有一个数据传输方法和传输系统,在该系统中提高了数据传输的安全性。
本发明的另一个目标是提供一个数据流加密方法,适用于包括一串连续的单元数据流的数据流,单元数据流包括一个第一数据流和一个位于第一数据流之后的第二数据流。第二数据流的加密方法是利用一个随机数发生器,该方法包括下面这个步骤把第一数据流中包含的有一个不定数值的预置的数据提供给每个第二数据流用于对其加密, 同时也提供给随机数发生器作为初始值。
使用本发明的加密方法时,第一数据流中包含的有一个不定数值的预置的数据作为初始值提供给解密装置中的随机数发生器,以便解密使用。
相应于这一过程,解密一方的随机数发生器使用一个不确定的初始值对第二数据流的每一个解密。这样,分析随机数发生器产生的随机数模式就变得很困难,数据传输的安全性有了很大的提高。
本发明的另一个目标是提供一个加密装置,它适用于包括一串连续的单元数据流的数据流,单元数据流包括一个第一数据流和第一数据流之后的一个第二数据流,加密装置对第二数据流加密,加密装置由以下部分组成一个随机数发生器,用于产生随机数;一个初始值提供电路,为每个第二数据流的加密,把第一数据流中包含的预置不定值数据提供给随机数发生器作为初始值;还有一个逻辑操作电路,用于对待加密的第二数据流和由随机数发生器产生的随机数进行逻辑操作,以便对第二数据流加密。
使用本发明的加密装置时,使用的解密装置中包括有一个随机数发生器用于产生随机数;一个初始值提供电路用于提供第一数据流中包含的有一个不定数值的预置的数据提供给随机数发生器作为初始值;还有一个逻辑操作电路, 用于对已加密的第二数据流和由随机数发生器的随机数进行逻辑操作,从而对已加密的第二数据流进行解密。
本发明中,各个第二数据流加密时使用的不定初始值提供给解密一方的随机数发生器,作为解密时的初始值来使用。这样,分析随机数发生器产生的随机数模式就变得很困难,数据传输的安全性有了很大提高。
本发明的另一个目标是提供一个数据流解密方法,这里的数据流包含有一串连续的单元数据流,单元数据流又包含一个第一数据流和紧跟其后的一个第二数据流,第二数据流的解密方法是利用一个随机数发生器,该方法包括下面这个步骤对每个待解密的第二数据流,把各个第一数据流中包含的预置的不定的数据值提供给随机数发生器作初始值,以便对每个待解密的第二数据流进行解密。
本发明中,需要注意的是第二数据流加密时使用的不定初始值提供给解密装置的随机数发生器。这样,分析随机数发生器产生的随机数模式就变得很困难,数据传输的安全性有了很大提高。
本发明的另一个目标是提供一个数据流解密装置,数据流包括一个数据流和紧跟其后的第二数据流两部分。解密装置由以下部分组成一个随机数发生器用于产生随机数;一个初始值提供电路,为了每个待解密的第二数据流,把各个第一数据流中预置的不定值数据提供给随机数发生器作为初始值;还有一个逻辑操作电路,用于对待解密的第二数据流和随机数发生器产生的随机数进行逻辑操作,以便对第二数据流解密。
本发明中,需要注意的是各个第二数据流加密时的不定的初始值被提供给解密装置中的随机数发生器。这样,分析随机数发生器产生的随机数模式就变得很困难,数据传输的安全性有很大提与。
本发明的另一个目标是提供数据传输的方法,包括下面的步骤
对包括一串连续单元数据流的数据流使用加密方法。其中单元数据流包括一个第一数据流和紧跟其后的一个第二数据流。加密方法包括的一个步骤就是提供各个第一数据流中的具有不定数值的预置的数据,为了对各个第二数据流加密,提供给随机数发生器作为初始值;经过加密步骤后已加密的数据流通过媒介被传送至目的地;经媒介传送到目的地的数据流被运用解密方法解密。该方法的一个步骤就是对每个待解密的第二数据流,把各个第一数据流中预置的不定数据值提供给随机数发生器作为初始值,以便对各个第二数据流解密。
本发明的数据传输方法中,每个第二数据流各有一个加密用的不定的初始值提供给加密装置的随机数发生器和解密装置的随机数发生器。这样,分析随机数发生器产生的随机数模式就变得很困难,数据传输的安全性有很大提高。
本发明的另一个目的是提供数据传输系统,用于传输包括一串连续单元数据流在内的数据流,单元数据流包括一个第一数据流和紧跟其后的一个第二数据流,上述的数据传输系统由以下部分组成一个包括了加密装置的传输源。加密装置包括一个随机数发生器用于产生随机数;一个初始值提供电路,把各个第一数据流中包含的预置的不同数据提供给随机数发生器作为初始值,用于为各个第二数据流加密;还有一个逻辑操作电路,用于对待加密的第二数据流和由随机数发生器产生的随机数进行逻辑操作,以便对第二数据流加密。传输源把加密装置产生的已加密数据流传送到媒介上;一个包括了解密装置的目的地。解密装置对通过媒介传送来的已加密数据流解密。解密装置包括一个随机数发生器用于产生随机数;一个初始值提供电路,把由媒介传送来的已加密流中各个第一数据流包含的预置的不定数据,提供给随机数发生器作为初始值,用于为媒介传送来的各个已加密的第二数据流解密;还有一个逻辑操作电路,用于对已加密的第二数据流和由随机数发生器产生的随机数进行逻辑操作,以便对第二数据流解密。
本发明的传输系统中,每个第二数据流各有一个加密用的不定的初始值提供给加密装置的随机数发生器和解密装置的随机数发生器。这样,分析随机数发生器产生的随机数类型就变得很困难,数据传输的安全性有很大提高。
随后的详细描述和所附图表会使本发明的其它目标和进一步的特点更加清晰明确。
图1.显示了常规数据传输系统的结构;图2.显示了图1中常规数据传输系统的操作;图3.显示了依照本发明的实施例一的数据传输系统的结构;图4.是解释了MPEG2-PS中使用的PES数据组的构造的视图;图5.是一个流程图,它解释了图3的数据传输系统中的加密电路的操作;图6.是一个流程图,它解释了图3的数据传输系统中的解密电路的操作;图7.显示了依照本发明的实施例二的数据传输系统的结构;图8.是解释了MPEG2-TS中使用的传输数据组的构造的视图;图9.是一个流程图,它解释了图7的数据传输系统中的加密电路的操作;图10.是一个流程图,它解释了图7的数据传输系统中的解密电路的操作;图11.显示了依照本发明的实施例三的数据传输系统的结构;图12.显示了依照本发明的实施例四的数据传输系统的结构;图13.显示了依照本发明的实施例五的数据传输系统的结构。
〖实施例一〗图3.显示了依照本发明的实施例一的数据传输系统的结构;参照图3,系统包括一个摄像机20用于获得图象数据,一个麦克风21用于获得声音数据。还有一个MPEG编码器22,它利用时分多路复用技术把通过摄像机20得到的图象数据和通过麦克风21得到的声音数据多路复合为依照MPEG2-PS(程序流)规定的数据位流。
图4,显示了一个按照MPEG2-PS规定的PES(分组基本数据流)数据组。
参照图4,PES数据组包括一系列PES数据组,每个PES数据组包括一个数据标题和分组数据,数据组标题包括一个32位的数据组启动码,一个16位的数据组长度代码,一个2位代码指定为“10”,一个14位代码用于标志位和控制位,一个8位的PES头长度代码和一个40位的代码用于标志和控制,一个8位码长的PES标题,一个40位的码PTS和DTS数据。另一方面,数据组内的数据可能包含有图象数据和声音数据。
图4中,PTS(放像时间标记)数据代表了再现输出时使用的时间管理信息,每隔700ms加入一条PTS数据。另一方面,DTS(解码时间标记)是解码时使用的时间管理信息。14位的“标志和控制”域中有两位作为“PES加密控制”的代码,它是代表是否有加密控制存在的数据,而一个PTS&DTS标志位则是代表PTS数据是否存在的标志。
重回到图3,系统中还包括一个加密电路23,它通过加密分组数据数据流对MPEG编码器22输出的数据流进行加密。
加密电路23包括一个随机数发生器24和一个定位检测电路25。其中随机数发生器24是一个DES(数据加密标准)型的随机数发生器,它由一个密钥信号指定产生一系列随机数。另一方面,MPEG编码器22输出的数据流提供给定位检测电路25,由定位检测电路25进行各种不同的操作,如检测数据组启动码,确认PES加密控制中的内容,确认PTS&DTS标志位,定位检测DTS,检测分组数据的起始位置等等。
加密电路23还包括有一个数据保持电路26用于保存PTS数据,在加密电路23中数据保持电路26受到控制,当电路25发现PTS的位置,便保留已经定位的PTS数据。
加密电路23还包括一个选择电路27,它把数据保持电路26得到的PTS数据或随机数发生器24产生的随机数有选择地提供给随机数发生器本身。这样,当定位检测电路25发现了待加密的分组数据的起始位置时,选择电路27就把数据保持电路中的PTS数据提供给随机数发生器24作为初始值。之后,选择电路27受定位检测电路25控制直到分组数据结束,这样随机数发生器24产生的随机数又被反馈到随机数发生器24自身。
需要注意的是,定位检测电路25,数据保持电路26和选择电路27一起在加密电路23中组成了初始值提供电路。
加密电路23还包括一个异或电路28,它为了对分组数据加密,对MPEG编码器22输出的数据流以及随机数发生器24产生的随机数进行异或操作。异或操作的结果是分组数据被加密。
加密电路23还包括一个选择电路29,它有选择地输出由MPEG编码器22输出的数据流和由异或电路28输出的数据流。选择电路29受控于定位检测电路25,这样就可以输出已加密数据流。在已加密数据流中,MPEG编码器22输出的分组数据流已经被加密。
选择电路29输出的数据流提供给媒介30,该媒介可能是一张磁盘,其中存放加密电路23输出的数据流。存于媒介30中的加密电路23输出的数据流随后被解密电路31解密。特别指出的是,解密电路31把从媒介30中读出的数据流转换为已解密流,在已解密流中,被加密流中的加密分组数据已经被解密。
解密电路31也组成了本发明实施例一的一个部分。
需要注意的是,解密电路包括一个与随机数发生器24相同的随机数发生器32,后者使用与前者相同的密钥信号。
解密电路31还包括一个定位检测电路33,通过媒介30传送的加密电路23的输出数据流被提供给定位检测电路33,由它进行各种不同操作,如检测数据组启动码,确认PES加密控制中的内容,确认PTS&DTS标志位,对DTS检测定位,检测分组数据的起始位置等等。
解密电路31还包括有一个数据保持电路34用于保存PTS数据,在解密电路31中数据保持电路34受到控制,当电路33发现PTS的位置,便保持已被定位的PTS数据。
解密电路31还包括一个选择电路35,它把数据保持电路34保持的PTS数据或随机数发生器32产生的随机数有选择地提供给随机数发生器32本身。这样,当定位检测电路33发现了待解密的分组数据的起始位置时,选择电路35就把数据保持电路34中保持的的PTS数据提供给随机数发生器32作为初始值。之后,直到分组数据结束,选择电路35受定位检测电路33控制,使得随机数发生器32产生的随机数又反馈给随机数发生器32自身。
需要注意的是,定位检测电路33,数据保持电路34和选择电路35一起在解密电路31中组成了初始值提供电路。
解密电路31还包括一个异或电路36,它对经媒介30传送来的已加密的分组数据流以及随机数发生器32产生的随机数进行异或操作。异或操作的结果就是使分组数据被解密。
解密电路31还包括一个选择电路37,它有选择地输出经媒介30传送的数据流或由异或电路36输出的数据流。选择电路37受控于定位检测电路33,这样就可以输出已解密数据流。在已解密数据流中,媒介30提供的分组数据流已被解密。
通过解密电路31解密的数据流和来自选择电路37的输出被送到一个MPEG解码器38中,分离并解码为图象数据流和声音数据流,其中解码后的图象数据和声音数据被送至电视接收机39。
综上所述,由摄像机20获得的图象数据和由麦克风21获得的声音数据通过MPEG编码器22,编码为按照MPEG2-PS的规定形式的数据流,然后提供给加密电路23。在加密电路23中,数据流被提供给定位检测电路25,数据保持电路26,异或电路28和选择电路29。
图5.显示了参照本发明实施例一的加密电路23的操作流程图,在加密电路23中,同样的操作被重复数次。这样,随后的描述将从选择电路29完成了待加密数据流的输出这一状态开始。
参照图5,定位检测电路25控制了选择电路29,这样从MPEG编码器22传输的数据流就可以被连续输出(第S1步)。这样,加密电路23改变了状态,等待数据组起始代码的输入(第S2步)。
当发现了数据组起始代码的时候,定位检测电路25接下来检查数据组标题的加密控制信息的内容,辨别该分组数据流是否应被加密(第S3步)。当相关的数据流不是应加密时,操作转回第S2步,定位检测电路25等待下一个数据组起始代码的输入。
当分组数据流应被加密时(第S3步结果为“是”),定位检测电路25辨别数据组标题的PTS&DTS标志位是否是“10”或“11”(第S3步)。换句话说,这一步中检查是否存在PTS数据。
当确认PTS&DTS标志位是“10”或“11”,也就是说PTS数据存在的时候,定位检测电路25发现PTS的位置并使数据保持电路26保留该PTS数据(第S5步)。之后,定位检测电路25等待找到分组数据的起始位置(第S6步)。
相反地,当PTS&DTS标志位不是“10”或“11”,也就是说PTS数据不存在的时候,定位检测电路25等待找到分组数据的起始位置(第S6步)。
在发现了分组数据起始位置的情况下,定位检测电路25控制选择电路27,这样由数据保持电路26保留的PTS数据被提供给随机数发生器24作为初始值。当待加密的数据组标题不存在PTS数据时,此数据组在加密之前的上一个数据组的PTS数据被提供给随机数发生器22作为初始值(第S7步)。当再次出现数据组不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
异或电路28对MPEG编码器22输出流中的待加密分组数据流部分和随机数发生器24产生的随机数进行异或操作。这样,包含有待加密数据的数据流就被加密。
定位检测电路25控制选择电路29,这样异或电路28产生的已加密流就被连续地输出(第S8步),直到分组数据流结束(第S9步)。这以后,处理过程重返第S1步。
MPEG编码器22的数据流就这样转换为一个已加密数据流,其中的成组数据流已被加密。然后已加密流被存储在媒介30中,必要时提供给解密电路31。
图6.显示了参照本发明实施例一的解密电路31的操作流程图。在解密电路31中,同样的操作放重复数次。因此,随后的描述将从选择电路37完成了待解密分组数据流输出的状态开始。
参照图6.,定位检测电路33控制选择电路37,这样从媒介30传送来的数据流就被连续地输出(第P1步)。这之后,解密电路31改变了状态,等待数据组启动码的输入(第P2步)。
当发现了数据组启动码的时候,定位检测电路33根据数据组标题的加密控制信息的内容,辨别该分组数据是否应被解密(第P3步)。当相关数据流并未被加密时,操作转回第P2步,定位检测电路33等待下一个数据组启动码的输入。
当分组数据流已被加密而又必须解密时(第P3步结果为“是”),定位检测电路25辨别数据组标题的PTS&DTS标志位是否为“10”或“11”(第P4步)。换句话说,这一步检查是否存在PTS数据。
当确认PTS&DTS标志位是“10”或“11”,也就是说PTS数据存在的时候,定位检测电路33发现PTS的位置并使数据保持电路34保留该PTS数据(第P5步)。之后,解密电路31等待找到分组数据的起始位置(第P6步)。
相反地,当PTS&DTS标志位不是“10”或“11”,也就是说PTS数据不存在的时候,定位检测电路33等待找到分组数据的起始位置(第P6步)。
在发现了分组数据起始位置的情况下,定位检测电路33控制选择电路35,这样由数据保持电路34保留的PTS数据被提供给随机数发生器32作为初始值。当待解密的数据组标题中不存在PTS数据时,此待解密数据组之前的上一个数据组的PTS数据被提供给随机数发生器32作为初始值(第P7步)。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
异或电路36对媒介30输出的待解密分组数据流和随机数发生器32产生的随机数进行异或操作。这样,包含有待解密数据的数据流就被解密。
定位检测电路33控制选择电路37,这样异或电路36产生的已解密输出流就被连续地输出(第P8步),直到分组数据流结束(第P9步)。这以后,处理过程重返第P1步。
由媒介30提供的数据流便转换为一个已解密数据流,其中的成组数据流已被解密。然后,已解密数据流被传输至MPEG解码器38。
在MPEG解码器38中,由解密电路31提供的数据流被分为图象数据流和声音数据流,并且由MPEG解码器38对已分离的图象数据流和声音数据流进一步解码。由MPEG解码器38解码后的图象数据和声音数据被传输至电视接收机39。
在本发明的实施例一中,MPEG编码器22输出的符合MPEG2-PS规格的数据流由加密电路23转换为已加密数据流,数据流中待加密的分组数据被加密。已加密数据流随后经由媒介30提供给解密电路31,解密电路31在数据流解密后把它传送至MPEG解码器38。
这里需要注意的是,为了对各个分组数据加密,加密电路23把包含于各待加密数据组标题的PTS数提供给随机数发生器24作为初始值。当待加密数据组标题不存在PTS数据时,此待解密数据组之前的上一个数据组的PTS数据被提供给随机数发生器24作为初始值。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
与上述情况相同,解密电路31为了对各个数据解密,解密电路31把包含于各待解密数据组标题的PTS数据提供给随机数发生器32作为初始值。当待解密数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据被提供给随机数发生器32作为初始值。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
本发明实施例一中的数据传输方法及系统中,为了对各个待加密数据流加密,把其中的数值非常数或不定值的PTS提供给随机数发生器32作为初始值。这样,分析随机数发生器32产生的随机数形式就变得很困难,数据传输的安全性有很大提高。
〖实施例二〗图7.表示依照本发明实施例二的数据传输系统的结构。
参照图7,数据传输系统包括一个摄像机41用于获得图象数据,一个麦克风42用于获得声音数据。还有一个MPEG编码器43,它对通过摄像机41得到的图象数据和通过麦克风42得到的声音数据进行编码,并利用时分复用技术把它们多路复用为符合MPEG2-TS(传输流)规定的数据位流。
图8.表示一个符合MP EG2-TS规定的传输数据组。
参照图8.,传输数据包包括一个标题和一个负载。标题中包括一个8位同步代码域,一个3位标志域,一个13位PTD域,一个加密控制代码域,一个适配域控制标志域,一个4位循环计数器域,和一个8位的适配域长度代码域。其中适配域控制标志可以包括1位适配标志或1位负载标志。适配标志标明了适配域的存在,而负载标志标明了负载的存在。
另一方面,负载中装有如A1,B1,A2……的图象数据或声音数据。并包括一个1位的标志域,如一个PCR标志或一个OPCR标志;还包括一个48位的PCR(程序参考时钟)数据域。PCR数据用于对STC信号复位。负载中还包括一个同步信号,它用作MPEG编码器43的指定时间参考值。通常,PCR数据每隔100ms插入一个。还有,PCR标志标明PCR是否存在。
重回到图7.,数据传输系统中包括一个加密电路44,它把MPEG编码器43中的数据流转换为已加密流,其中数据流中的负载被加密。
加密电路44包括一个DES型的随机数发生器45,它依照密钥信号的指令产生一系列随机数;还包括一个定位检测电路46,它进行各种不同的操作,如检测包括在MPEG编码器45输出的数据流中的同步字节或代码,确认适配标志位的内容,确认负载标志位的内容,确认PCR标志位的内容,检测PCR的位置,以及检测负载的起始位置。
数据传输系统还包括一个数据保持电路47,用来保留PCR数据,当定位检测电路46检测PCR的位置时,数据保持电路47是由定位检测电路46控制的。以便把位置被检测到的PCR数据保存下来。
传输系统还包括一个选择电路48,它有选择地将由数据保持电路47所保持的PCR数据或由随机数发生器45所产生的随机数提供给随机数发生器45本身。应该注意的是,当由位置检测电路46检测待加密的负载的起始位置时,选择电路48将由数据保持电路47所保持的PCR数提供给随机数发生器45作为初始值。其后,选择电路48受位置检测电路46控制,这样使得从随机数发生器45输出的随机数反馈到随机数发生器45,直到负载流的输出结束。
定位检测电路46,数据保持电路47和选择电路48一起组成了加密电路44中的初始值提供电路。
传输系统还包括一个异或电路49,它为了对相应的负载加密,对MPEG编码器43输出的数据流和随机数发生器45产生的随机数进行异或操作。这样,异或电路49对负载数据流进行了加密。
传输系统还包括一个选择电路50,它有选择地输出MPEG编码器43输出的数据流或异或电路49输出的数据流。选择电路50受定位检测电路46控制,这样选择电路输出了已加密数据流,其中MPEG编码器43输出的负载数据流已被加密。
传输系统还包括一个数字调制器51,它用于对选择电路50输出的数据流以及此处加密电路44的输出流进行数字调制;还包括一个上变频器52用于传输数字调制器51的输出;还包括一个传输天线53。
图7.中的传输系统还包括一个接收天线54和一个用于调谐的调谐器55,还有一个数字解调器56用于对调谐器55进行数字解调。
传输系统中还包括一个解密电路57,它对数字解调器56输出的已加密流进行解密,从而使已加密的负载数据流被解密。
解密电路57同样也包括一个与随机数发生器45结构相同的随机数发生器58,它使用的密钥信号与随机数发生器45使用的一样。
解密电路57还包括一个定位检测电路59,它进行各种不同的操作,如检测包含在数字解调器56输出的数据流中的同步字节或代码,确认适配标志位的内容,确认负载标志位的内容,确认PCR标志位的内容,检测PCR的位置,以及检测负载的起始位置。
解密电路57还包括一个数据保持电路60,用来保留PCR数据,数据保持电路60是由定位检测电路59控制的。一旦定位检测电路59发现PCR的位置,就把被检测到的PCR数据保存下来。
解密电路57还包括一个选择电路61,它有选择地提供数据保持电路60保留的PCR数据或随机数发生器58产生的随机数,当定位检测电路59发现了已加密负载的位置时,选择电路61把数据保持电路60保留的PCR数据提供给随机数发生器58作为初始值。之后,选择电路61受定位检测电路59的控制,这样使得随机数发生器58产生的随机数又反馈给随机数发生器58。
需要注意的是,定位检测电路59,数据保持电路60和选择电路61一起组成了解密电路57的初始值提供电路。
解密电路57还包括一个异或电路62,它对从数字解调器56传送来的已加密负载数据流和随机数发生器58产生的随机数进行异或操作,异或操作的结果是,在异或电路62中已加密流被解密。
解密电路57还包括一个选择电路63,它有选择地输出数字解调器56输出的数据流或异或电路62输出的数据流,选择电路63受定位检测电路59的控制,这样选择电路63输出了已解密数据流,其中数字解调器56输出的已加密负载流被解密。
从选择电路63输出的解密电路57的输出流随后被提供给MPEG解码器64以便对图象数据流和声音数据流进行分离和解码,然后被分离和解调的图象数据和声音数据被送至电视接收机65。
在数据传输系统中,需要注意的是,由摄像机41得到的图象数据和由麦克风42得到的声音数据通过MPEG编码器43,被编码为符合MPEG2-TS规定的数据流,然后被提供给加密电路44。在加密电路44中,数据流被提供给定位检测电路46,数据保持电路47,异或电路49和选择电路50。
图9.表示按照本发明实施例二的加密电路44的操作流程图,在加密电路44中,同样的操作被重复数次。这样,随后的描述将从选择电路50完成了待加密负载数据流的输出这一状态开始。
参照图9,定位检测电路46控制选择电路50,这样从MPEG编码器43传输过来的数据流就可以被连续输出。这样,定位检测电路46处于检测同步字节的状态(第N1步)。
当发现了同步字节的时候,在数据组标题所描述的加密控制信息的内容基础上,定位检测电路46同样也辨别该负载数据流是否应被加密(第N2步)。当相关的数据流不是应加密流时,操作转回第N1步,定位检测电路25等待下一个同步代码的输入。
当分组数据流应被加密时(第N2步结果为“是”),定位检测电路从适配标志上辨别是否有适配域存在(第N3步)。
当确认有适配域存在(第N3步结果为“是”),定位检测电路通过PCR标志位辨别是否有PCR存在(第N4步)。当有PCR存在(第N4步结果为“是”),定位检测电路找到PCR的位置并使数据保持电路47保留PCR数据(第N5步)。
定位检测电路46还需要从负载标志位辨别是否有负载存在。如果有负载存在(第N6步结果为“是”),定位检测电路46就等待直到发现负载的起始位置(第N7步)。当没有负载时(第N7步结果为“否”),定位检测电路46的操作转回第N1步。
当第N3步中经辨别没有适配域存在或第N4步中没有PCR存在,操作过程转到第N6步。
在发现了负载起始位置的情况下,定位检测电路46控制选择电路48,使得数据保持电路47保持PCR数据,也就是说,待加密负载的数据组标题中的PCR数据直接被提供给随机数发生器48作为初始值(第N8步)。当待加密的数据组标题不存在PCR数据时,此数据组之前的上一个数据组的PCR数据被提供给随机数发生器45作为初始值(第N8步)。当再次出现被选择的分组数据中不存在PCR数据时,则选择更前面的一个负载的PCR数据,直到负载含有PCR数据为止。
异或电路49对待加密分组数据流部分的MPEG编码器43输出流和随机数发生器45产生的随机数进行异或操作。这样,包含有待加密的负载的数据流就被加密。
定位检测电路46控制选择电路50,这样异或电路49产生的已加密流就被连续地输出(第N9步),直到负载输出结束(第N10步)。这以后,处理过程重返第N1步。
MPEG编码器43产生的输出数据流就这样转换为一个已加密数据流,其中的成组数据流已被加密。然后已加密流通过数字调制器51,上变频器52,天线53和54,和数字解调器56被传送至解密电路57。
图10.显示了参照本发明实施例二的解密电路57的操作流程图,在解密电路57中,同样的操作被重复数次。这样,随后的描述将从选择电路63完成了待解密分组数据流的输出这一状态开始。
参照图10,定位检测电路59控制了选择电路63,这样从数字解调器56传输过来的数据流就可以被连续输出(第Q1步)。这样,定位检测电路53被置为监测同步字节的状态。
当发现了同步字节的时候,在数据组标题所描述的加密控制信息的内容的基础上,定位检测电路59同样也辨别该负载数据流是否应被解密(第Q2步)。当相关的数据流不是应解密流时,操作转回第Q1步,定位检测电路59等待下一个同步字节的输入。
当负载数据流应被解密时(第Q2步结果为“是”),定位检测电路59从适配标志上辨别是否有适配域存在(第Q3步)。
当确认有适配域存在(第Q3步结果为“是”),定位检测电路59通过PCR标志位辨别是否有PCR存在(第Q4步)。当有PCR存在(第Q4步结果为“是”),定位检测电路59找到PCR的位置并使数据保持电路60保留PCR数据(第Q5步)。
之后,定位检测电路59还需要从负载标志位判断是否有负载存在(第Q6步),如果有负载存在(第Q6步结果为“是”),定位检测电路59等待直到发现负载的起始位置(第Q7步)。当没有负载时(第Q7步结果为“否”),处理过程转回第Q1步。
当第Q3步中经辨别没有适配域存在(第Q3步结果为“否”),或第Q4步中没有PCR存在(第Q4步结果为“否”)时,操作过程转到第Q6步。
在第Q7步后发现了负载起始位置的情况下,定位检测电路59控制选择电路61,使得数据保持电路60保持PCR数据,也就是说,待解密负载中的PCR数据被提供给随机数发生器58作为初始值。当待解密的负载数据组标题不存在PCR数据时,此数据组之前的上一个负载的PCR数据被直接提供给随机数发生器58作为初始值(第Q8步)。当再次出现分组数据标题中不存在PCR数据时,则选择更前面的一个负载,直到碰到含有PCR数据的负载为止。
异或电路62对待解密负载数据流部分的数字解调器56的输出流和随机数发生器58产生的随机数进行异或操作。这样,包含有负载的数据流就被解密。
因此,位检测电路59控制选择电路63,这样异或电路62产生的已解密流就被连续地输出(第Q9步),直到负载输出结束(第Q10步)。这以后,处理过程重返第Q1步。
由解调器56输出的数据流便通过解密电路57转换为一个已解密数据流,这样负载数据流在解密电路57中已被解密。然后,已解密数据流被传输至MPEG解码器64。
在MPEG解码器64中,图象数据流和声音数据流从解码数据流中分离出来并被解码,解码后的图象数据和声音数据被传输至电视接收机65。
在本发明的实施例二的数据传输系统和方法中,MPEG编码器43输出的符合MPEG2-TS规格的数据流由加密电路44转换为已加密数据流,数据流中的负载流被加密。已加密数据流随后被提供给解密电路57,数据流解密后把它传送至MPEG解码器64。
在加密电路44中,把包含于待加密负载数据组标题的PCR数提供给随机数发生器45作为初始值。当待加密负载数据组标题不存在PCR数据时,在待加密负载之前的负载分组数据标题中的PCR数据被提供给随机数发生器45作为初始值。当选择的负载分组数据标题中仍不存在PCR数据时,选择更前面一个负载,直到遇到包含PCR数据的负载。
解密电路57为了对各个数据解密,把包含于各待解密负载数据组标题的PCR数据提供给随机数发生器58作为初始值。当待解密负载数据组标题不存在PCR时,此数据组之前的上一个负载的PCR数据立即被提供给随机数发生器58作为初始值。当再次出现数据组标题不存在PCR数据时,则选择更前面的一个负载的PCR数据,直到负载含有PCR数据为止。
本发明实施例二中的数据传输方法及系统中,为了对各负载流解密,提供给解密电路57中的随机数发生器58的PCR的数据不是常数。这样,分析随机数发生器58产生的随机数型式就变得很困难,数据传输的安全性有很大提高。
本实施例中,可以用循环计数器的值代替PCR数据作为初始值提供给随机数发生器45和58,还可以使用将PCR与循环计数器值组合起来所产生的数据。另一种选择是,通过对包含PCR数据与循环计数器值进行的操作来得到初始值。
〖实施例三〗图11.显示了依照本发明实施例三的数据传输系统的结构。
参照图11,数据传输系统包括一个摄像机67用于获得图象数据,一个麦克风68用于获得声音数据。还有一个MPEG编码器69,它对通过摄像机67得到的图象数据和通过麦克风68得到的声音数据进行编码,并利用时分多路复用技术把它们多路复合为依照MPEG2-PS规定的数据位流。
在图11.中,数据传输系统中包括一个加密电路70,它把MPEG编码器69中的数据流转换为已加密流,数据流中的分组数据被加密。
加密电路70包括一个随机数发生器71和一个定位检测电路72,随机数发生器71是一个DES(数据加密标准)型的随机数发生器,它依照密钥信号的指令产生一系列随机数。另一方面MPEG编码器69输出的数据流提供给定位检测电路72,定位检测电路72还进行各种不同的操作,如发现数据组起始代码,确认PES加密控制的内容,确认PTS&DTS标志位,定位检测PTS,发现分组数据的起始位置等等。
加密电路70包括一个串-并转换器73,它对MPEG编码器69输出的数据流进行并行转换后变为64位并行数据流。加密电路70还包括一个40位的寄存器74用于保存PTS数据。当定位检测电路72检测PTS的位置时寄存器74受定位检测电路72控制,这样使得寄存器74保存由串一并转换器73输出的PTS数据。
加密电路70还包括一个64位的寄存器75,寄存器75受控于定位检测电路72并保存待加密的分组数据流。
加密电路70还包括一个选择电路76,它把寄存器74保留的PTS数据或随机数发生器71产生的随机数有选择地提供给随机数发生器71本身。这样,当定位检测电路72发现了待加密的分组数据的起始位置时,选择电路76就把寄存器74中的PTS数据提供给随机数发生器71作为初始值。之后,选择电路76受定位检测电路72控制直到分组数据结束,这样随机数发生器71产生的随机数又被重输入随机数发生器71自身。
需要注意的是,定位检测电路72,寄存器74和选择电路76一起在加密电路70中组成了初始值提供电路。
加密电路70还包括一个异或电路77,它对寄存器75输出的并行数据流及随机数发生器71产生的随机数进行异或操作。异或操作的结果就是使分组数据被加密。
加密电路70还包括一个64位寄存器用于在定位检测电路72的控制下存储异或电路77输出的并行数据流。加密电路70还包括一个并-串转换器79用于把寄存器78输出的并行数据流转换为串行数据流。
加密电路70还包括一个选择电路80,它有选择地输出由MPEG编码器69输出的数据流或由并-串转换器79输出的数据流。选择电路80受控于定位检测电路72,这样就可以输出已加密数据流。在已加密流中,MPEG编码器69输出的分组数据流已经被加密。
选择电路80输出的数据流提供给媒介81,该媒介可能是一张磁盘,其中存有加密电路70输出的数据流。存于媒介81中的加密电路70输出的数据流随后被解密电路82解密。特别指出的是,解密电路82把从媒介81中读出的数据流转换为已解密流,在已解密流中,被加密流中的加密分组数据已经被解密。
需要注意的是,解密电路82包括与随机数发生器71相同的一个随机数发生器83,并使用与随机数发生器71相同的密钥信号。
解密电路82还包括一个定位检测电路84,通过媒介81传送来的加密电路70的输出数据流被提供给定位检测电路84,由它进行各种不同操作,如检测数据组启动码,确认PES加密控制中的内容,确认PTS&DTS标志位,对PTS定位检测,检测分组数据的起始位置等等。
解密电路82还包括一个串-并转换器85,它对媒介81输出的串行数据流进行串-并转换,使之成为64位宽的并行数据流。解密电路82还包括一个40位宽的寄存器86用于保存PTS数据。当定位检测电路84发现并定位了PTS时寄存器86受控于定位检测电路84,这样使得寄存器86保存串-并转换器85输出的PTS数据。
解密电路82还包括一个另一个64位的寄存器87,它受控于定位检测电路84并保存待解密的分组数据。
解密电路82还包括一个选择电路88,它把寄存器86保存的PTS数据或随机数发生器83产生的随机数有选择地提供给随机数发生器83本身。这样,当定位检测电路84发现了待加密的分组数据的起始位置时,选择电路88就把寄存器86中的PTS数据提供给随机数发生器83作为初始值。之后,选择电路88受定位检测电路84控制直到分组数据结束,这样随机数发生器83产生的随机数又被反馈到随机数发生器83自身。
需要注意的是,定位检测电路84,寄存器86和选择电路88一起在解密电路82中组成了初始值提供电路。
解密电路82还包括一个异或电路89,它对寄存器87提供的待解密分组数据流以及随机数发生器83产生的随机数进行异或操作。异或操作的结果就是使分组数据被解密。
解密电路82还包括一个64位结构的寄存器90用于在定位检测电路84的控制下存储异或电路89输出的并行数据流。解密电路82还包括一个并-串转换器91用于把寄存器90输出的并行数据流转换为串行数据流。
解密电路82还包括一个选择电路92,它有选择地输出媒介81输出的数据流或由并一串转换电路91输出的数据流。选择电路92受控于定位检测电路84,这样就可以输出已解密数据流。在已解密流中,媒介81输出的分组数据流已经被解密。
通过解密电路82解密的数据流从选择电路92输出到一个MPEG解码器93中,经过分离解码为图象数据流和声音数据流,其中解码后的图象数据和声音数据被送至电视接收机94。
在该数据传输系统中,由摄像机67获得的图象数据和由麦克风68获得的声音数据通过MPEG编码器69,编码为按照MPEG2-PS的规定形式的数据流,然后提供给加密电路70。在加密电路70中,数据流被提供给定位检测电路72,串-并转换器73和选择电路80。
操作中,当发现了数据组起始代码的时候,定位检测电路72就在数据组标题所描述的加密控制信息的内容基础上,辨别该分组数据的数据流是否应被加密。当相关的数据流不是应加密流时,操作返回等待数据组起始代码输入的状态。
当分组数据流应被加密时,定位检测电路72辨别数据组标题的PTS&DTS标志位是“10”还是“11。换句话说,这一步中检查是否存在PTS数据。
当确认PTS&DTS标志位是“10”或“11”,也就是说确认PTS数据存在的时候,定位检测电路72发现PTS的位置并使寄存器74保留该PTS数据。之后,加密电路70等待找到分组数据的起始位置。
相反地,当PTS&DTS标志位不是“10”或“11”,也就是说PTS数据不存在的时候,定位检测电路72继续检测分组数据的起始位置。
在发现了分组数据起始位置的情况下,定位检测电路72控制选择电路76,这样由寄存器74保留的PTS数据被提供给随机数发生器71作为初始值。当待加密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据立即被提供给随机数发生器71作为初始值。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。然后,由串-并转换器73输出的数据流被寄存器75保存。
异或电路77对寄存器75输出流中的待加密分组数据流部分和随机数发生器71产生的随机数进行异或操作。这样,包含有待加密数据的数据流就被加密。加密后的数据流被存入寄存器78,寄存器78输出的并行数据流又通过并-串转换器79转换为串行数据流。
定位检测电路72控制选择电路80,使得连续地输出并-串转换器79的加密输出数据流,直到分组数据结束。也可以在加密数据流输出结束之后输出MPEG编码器69的输出。
因此,MPEG编码器69的输出数据流被转换成加密数据流,流中分组数据流被加密,随后加密数据流被存储在媒介81内。在需要的时候存储在媒介81中的数据流提供给解密电路82。
在解密电路82中,媒介81来的数据流传送给定位检测电路84,串-并转换器85和选择电路92。
在解密电路中,当数据启动码被检测到时,根据数据组标题加密控制信息的内容,由定位检测电路84确定是否对分组数据流进行解密操作。当相关的数据流不需解密时,操作回到等待数据组启动码输入的状态。
当分组数据流已被加密时,定位检测电路84辨别数据组标题的PTS&DTS标志位是不是“10”或“11”。换句话说,在这一步骤中检测PTS数据的存在。
当确定了PTS&DTS标志位是“10”或“11”,或者说,当确定了PTS数据存在,定位检测电路84检测PTS的位置,并使寄存器86保持PTS数据。之后,解码电路82等待检测数据组起始位置。
反之,当PTS&DTS标志并非“10”或“11”,或者说,当PTS数据不存在,定位检测电路84就继续检测分组数据起始位置。
当检测分组数据起始位置时,定位检测电路84控制选择电路88使得寄存器86保持的PTS数据供给随机数发生器83作为初始值。当需要解密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据立即被提供给随机数发生器83作为初始值。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。此外,串-并转换器85的输出数据流由寄存器87保持。
异或电路89对含有加密数据组部分的寄存器87的输出数据和随机数发生器83输出的随机数进行异或操作。于是,包含数据组的加密数据流被解密。
定位检测电路84控制选择电路92,使得并-串转换器91连续输出解密数据流,直到分组数据的数据流结束。随后,选择电路92可被控制为使得来自媒介81的数据流按原样输出。
于是,由媒介81提供的数据被转换成解密数据流,流中数据组被解密,解密数据流传送到MPEG解码器93。在MPEG解码器93内,从解密电路82送来的数据流中,图象数据流和声音数据流被分离,并由MPEG解码器93进一步将分离的图象数据流和声音数据流解码。被MPEG解码器93解码的图象数据和声音数据被传送给电视接收机94。
根据本发明实施例一,MPEG编码器69以MPEG2-PS-规定的格式输出的数据流由加密电路70转换成加密数据流,使得含有待加密数据组的数据流被加密。加密数据流经媒介81提供给解密电路82,由解密电路82在解密后传送给MPEG解码器93。
这里,需要注意的是对于每个待加密数据组,加密电路70提供包含在待加密数据组标题内的PTS数据,作为随机数发生器71的初始值。当待加密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据被立即提供给随机数发生器83作为初始值。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
为适应上述事项,解密电路82实现解密操作,对于每个待解密数据组数据,解密电路82提供包含在待解密数据组标题的PTS数据,作为随机数发生器83的初始值。当待解密的数据组标题不存在PTS时,此数据组之前的上一个数据组的PTS数据被立即提供给随机数发生器83作为初始值。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
根据本发明实施例三中的数据传输方法和系统,对于每个数据组已加密的数据流,提供给解密电路82的随机数发生器83的PTS的数据的值不固定,也不是常数。因此,分析由随机数发生器83生成的随机数模式明显变得困难,数据传输的保密性有显著改进。
实施例四图12展示了本发明实施例四的实现数据传输方法的数据传输系统。
参考图12,数据传输系统包括一台个人电脑97和一块符合PCMCIA2.0标准的PCMCIA(个人电脑存储卡国际联盟)卡。
个人电脑97包括一个CPU(中央处理单元)99,一个存储器100,一条总线101和一个PCMCIA接口102。
详细来讲,个人电脑97包含了带有一张磁盘104的磁盘驱动器103。磁盘104存有数据组被加密的加密状态中的MPEG2-PS数据流。
图12的系统还包括了定位检测电路106,磁头机构读出的数据流提供给它和进行其它一些操作。例如,检测数据组启动码,确定PES加密控制的内容,确定PTS&DTS标志位,定位检测PTS,以及检测数据组起始位置等等。
PCMCIA卡98还包括用来通过密钥信号产生随机数序列的随机数发生器107和保持PTS数据的数据保持电路108。数据保持电路108用于当定位检测电路106检测出PTS数据时,保持其位置被检测到的PTS数据。
PCMCIA卡98还包含选择电路109,以便有选择地将由数据保持电路108所保持的PTS数据或随机数发生器107输出的随机数,提供给随机数发生器107本身。因此,选择电路109在定位检测电路106检测到待加密数据组起始位置时将数据保持电路108的PTS数据作为初始值提供给随机数发生器107。此后,由定位检测电路106控制选择电路109,直到数据组结束。使得随机数发生器107产生的随机数被反馈给随机数发生器107,PCMCIA卡98还包含一个异或电路110,该电路对来自磁头机构的待加密的数据组的输出数据流和随机数发生器107产生的随机数进行异或操作。异或操作的结果是数据组的数据流被解密。
PCMCIA卡98还包含在磁头机构105输出数据流和异或电路110输出数据流之间进行有选择的输出的选择电路111。由定位检测电路106控制选择电路110使得输出为解密数据流。在解密流中,由磁头机构输出数据流的加密数据被解密。
此外,PCMCIA卡还包括存储用于识别用户的ID数据的存储设备112,以及与存储装置112协同操作、阅读并输出ID数据的处理电路113等等。
需注意的是,根据本发明实施例四,定位检测电路106和PCMC1A卡98一起构成了解密电路。
还需注意的是,定位检测电路106,数据保持电路108和选择电路109一起构成了解密电路的初始值供给电路。
定位检测电路106可装在PCMCIA卡98内,但最好装入个人电脑97中以便减少PCMCIA卡98的输入输出管脚。
应注意的是,个人电脑97包含MPEG解码器114,它从选择电路111的数据流输出中分离并解码图象数据流和声音数据流,以便恢复图象数据和声音数据。
个人电脑还包含从MPEG解码器114接受图象数据的显示装置和从MPEG解码器114接受声音数据的扬声器。
在图12数据传输系统中,当PCMCIA卡98被插入个人电脑后,无论CPU99是否决定接受ID数据,它都驱动PCMCLA卡98输出ID数据。如果结果是“是”,则CPU99使处理单元113产生一个密钥,此密钥与磁盘104中数据加密时使用的密钥相同。随后,随机数发生器107产生一串与加密时一样的随机数序列。
在磁盘驱动器103动作时,存于磁盘104中的数据流被磁头机构105读出并传送给定位检测电路106、PCMCIA卡98的数据保持电路108、异或电路110和选择电路111。
在解密电路中,当数据启动码被检测到时,根据数据组标题加密控制信息的内容,由定位检测电路106确定是否对分组数据流进行解密操作。当相关的数据流不需解密时,操作回到等待输入数据组启动码的状态。
另一方面,当数据组的数据流需解密时,定位检测电路106辨别数据组标题的PTS&DTS标志位是不是“10”或“11”。换句话说,即在这一步骤中检查PTS数据的存在性。
当确定了PTS&DTS标志位是“10”或“11”,或者说,当确定了PTS数据存在,定位检测电路106就检测PTS的位置,并使数据保持电路108保持PTS数据。之后,定位检测电路106处于等待检测数据组起始位置的状态。
反之,当PTS&DTS标志并非“10”或“11”,或者说,当PTS数据不存在时,定位检测电路106就继续检测分组数据起始位置。
当检测分组数据起始位置时,定位检测电路106控制选择电路109使得数据保持电路108保持的PTS数据供给随机数发生器107作为初始值。当需要解密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据被立即提供给随机数发生器107作为初始值。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组合有PTS数据为止。
异或电路110对含有解密数据组部分的磁头机构105的输出数据和随机数发生器107输出的随机数进行异或操作。于是,包含待解密的数据组的数据流被解密。
定位检测电路106控制选择电路111,使得异或电路110连续输出解密数据流,直到分组数据的数据流结束。随后,来自磁头机构105的数据流按原样输出。
于是,由磁头机构105提供的加密数据被转换成解密数据流,流中数据组被解密,解密数据流传送到MPEG解码器114。
在MPEG解码器114内,从PCMCIA卡98送来的数据流中,图象数据流和声音数据流被分离,并由MPEG解码器114进一步将分离的图象数据流和声音数据流解码。被解码的图象数据和声音数据被传送给显示装置115和扬声器116。
于是,根据本发明实施例四的数据传输系统和方法,从磁盘104读出的以MPEG2-PS-规定为格式的加密数据流被包含定位检测电路106和PCMCIA卡98的解密电路解密。
这里,需要注意的是对于每个待解密数据组,包含定位检测电路106和PCMCIA卡98的解密电路通过提供包含在待加密数据组标题的PTS数据作为随机数发生器107的初始值来解密。当待解密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据被立即提供给随机数发生器107作为初始值。当再次出现数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
根据本发明实施例四的数据传输方法和系统,对于每个数据组加密的数据流,提供给PCMCIA卡98中随机数发生器107的PTS的数据的值不固定,也不是常数。因此,分析由随机数发生器107生成的随机数模式明显变得困难,数据传输的保密性有显著改进。
进一步地,可以制造含有记帐信息的PCMCIA卡。这样,就可以为读出磁盘104的信息计费。
〖实施例五〗图13表示根据本发明实施例五,实现一种数据传输方法的数据传输系统。
参考图13,该系统包含一个MPEG编码器117,通过按时分复用处理,对摄像机获得的图象数据和麦克风获得的声音数据进行编码以产生符合MPEG2-PS或MPEG2-TS规格的数据位流。
图13的传输系统还包含一个加密电路118,用于将MPEG编码器117输出的数据流转换成加密数据流,其中分组数据的数据流被加密。
请注意,在前面的实施例中,加密电路118用于加密数据流。
加密电路118包含缓冲存储器119用于存储MPEG解码器117的输出数据流,一个存储器控制器120,用于控制缓冲存储器119和总线121。
加密电路118还包括一个随机数发生器122和一个定位检测电路123,其中DES(数据加密标准)型随机数发生器122用于产生依照一个密钥信号规定的一串随机数。另外,定位检测电路123由封装成集成电路形式的CPU构成,CPU123执行了一系列操作,例如检测数据组启动码,确定PES加密控制的内容,确定PTS&DTS标志位,定位检测PTS,以及对MPEG2-PS数据流检测数据组起始位置。对于MPEG2-TS数据流,定位检测电路123执行的操作有检测同步位,确定适配标志位内容,确定负载标志位内容,确定PCR标志位内容,检测PCR位置,检测负载起始位置等等。
加密电路118还包含存有程序的程序存储器124,它依靠MPEG解码器117的数据流是否是MPEG-PS或MPEG-TS来切换CPU123的操作。
加密电路118还包含数据寄存器125,用来保存供给随机数发生器122用的初始值。因此,当MPEG编码器117输出数据流是MPEG2-PS时数据寄存器125保存PTS数据,当MPEG编码器117输出数据流是MPEG2-TS时数据寄存器125保存PCR数据,加密电路118还包含选择电路126和控制选择电路126操作的控制寄存器127,选择电路126从数据寄存器125保存的数据或随机数发生器122输出的随机数中进行选择并供给随机数发生器122自身。
因此,当CPU123检测到待加密的数据组或负载的起始位置时,将数据寄存器125保存的数据作为初始值提供给随机数发生器122。随后,直到数据组或负载结束,选择电路126由控制寄存器127的输出控制,使得随机数发生器122产生的随机数反馈给随机数发生器122。
加密电路118还包含存放缓冲存储器119输出数据流的数据寄存器128和异或电路129,后者对数据寄存器128输出的待加密数据流和随机数发生器122产生的随机数提供异或操作。异或操作的结果是数据组的数据流被加密。
加密电路还包含选择电路130,它对数据寄存器128和异或电路129的输出数据流有选择地输出。受控的选择电路130使数据组或负载的加密数据流被输出。在加密数据流中,从数据寄存器128来的数据组或负载数据流被加密。
选择电路130的输出数据流被送入媒介131,它也许是一张磁盘。在媒介中存储了加密电路118的输出数据流。
存储在媒介131中的加密电路118的输出数据流被解密电路132解密。
尤其是,解密电路132包含缓冲存储器133,用于存储媒介131的输出数据流,一个存储器控制器134,用于控制缓冲存储器133和总线135。
解密电路132还包括与随机数发生器122结构相同的随机数发生器136,并且使用了与随机数发生器136中完全相同的密钥信号。
解密电路132还包括了定位检测电路137。定位检测电路137中提供了CPU并执行一系列操作。例如对于MPEG2-PS数据流,检测数据组启动码,确定PES加密控制的内容,确定PTS&DTS标志位,定位检测PTS,以及检测数据组起始位置等等。另一方面,若提供给定位检测电路137的是MPEG2-TS数据流,定位检测电路137就执行以下操作,例如检测同步位,确定适配标志位内容,确定负载标志位内容,确定PCR标志位内容,检测PCR位置,检测负载起始位置等等。
解密电路132还包含了依靠MPEG解码器117的数据流是否是MPEG-PS或MPEG-TS来切换CPU123的操作的程序存储器138。
加密电路118还包含数据寄存器139,用来保存供给随机数发生器136使用的初始值。当媒介131来的数据流是MPEG2-PS数据流时,数据寄存器125保存PTS数据,当MPEG编码器117输出数据流是MPEG2-TS数据流时,数据寄存器125保存PCR数据。
解密电路132还包含选择电路140,在控制选择电路140操作的选择控制寄存器141控制下,选择电路126从数据寄存器139保存的数据或随机数发生器136输出的随机数中进行选择并供给随机数发生器136自身。
这里要注意的是,选择电路140使得数据寄存器139将初始值送入随机数发生器136来响应由CPU137对加密数据组或负载的检测。选择电路140由选择控制寄存器141的输出来控制,使得随机数发生器136产生的随机数反馈给随机数发生器136自身,直到数据组或负载数据流结束。
解密电路132还包含一个存放缓冲存储器133输出数据流的数据寄存器142和一个异或电路143,后者对数据寄存器142输出的数据流和随机数发生器122产生的随机数提供异或操作。异或操作的结果是数据组的加密数据流被解密。
解密电路132还包含一个选择电路144,它对数据寄存器142和异或电路143的输出数据流进行选择输出。选择电路144被控制使得解密数据流被输出,即从数据寄存器142来的数据流中数据组或负载被解密。
由解密电路132解密的数据流输入MPEG卡145进行图象数据和声音数据的解码和分离。解码后的图象和声音数据送入电视接收机145。
在这样的数据传输系统中,摄像机来的图象数据和麦克风来的声音数据由MPEG编码器117编码成为MPEG2-PS或MPEG2-TS形式,其中被编码的数据流被送入加密电路118。
在加密电路118中,数据流存入缓冲存储器119并由CPU123读出。
当MPEG编码器117的输出是MPEG2-PS数据流,CPU123执行一系列操作。例如检测数据组启动码,确定PES加密控制的内容,确定PTS&DTS标志位,定位检测PTS,以及检测数据组起始位置等等。
当CPU123检测到数据启动码时,根据数据组标题加密控制信息的内容,辨别分组数据流是否被加密。当数据流不需加密时,CPU123回到检测数据组启动码的状态。
当分组数据流待加密时,CPU123辨别数据组标题的PTS&DTS标志位是不是“10”或“11”。换句话说,在这一步骤中检测PTS数据的存在。
当确定了PTS&DTS标志位是“10”或“11”,或者说,当确定了PTS数据存在,CPU123检测PTS的位置,并使寄存器125保持PTS数据。之后,CPU123设定为等待检测数据组起始位置的状态。
反之,当PTS&DTS标志并非“10”或“11”,或者说,当PTS数据不存在,CPU123就继续检测分组数据起始位置。
当检测分组数据起始位置时,CPU123重写选择控制寄存器127的内容,使得数据寄存器125保持的PTS数据供给随机数发生器122作为初始值。当需要解密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据被立即提供给随机数发生器作为初始值。当被选择的数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
因此,异或电路129对含有待加密数据组部分的寄存器128的输出数据和随机数发生器122输出的随机数进行异或操作。于是,包含待加密的数据组的数据流被加密。
CPU123控制选择电路130,使得异或电路129连续输出解密数据流,直到分组数据的数据流结束。随后,处理回到检测数据组启动码的状态。
MPEG编码器117的输出数据流被转换成分组数据被加密的加密数据流。加密数据流被存入存储媒介131,在需要的时候将存入存储媒介131的数据流提供给解密电路132。
提供给解密电路132的数据流存入缓冲存储器133。存入缓冲存储器133的数据流又被CPU137读出。
另一方面,当检测数据组启动码时,CPU137依靠数据组标题的加密控制信息来辨别数据组是否被加密。若没加密,CPU137回到检测分组数据起始位置的状态。
当分组数据流是加密的(步骤P3判定“是”),CPU137辨别PTS&DS标志位是不是“10”或“11”。换句话说,即在这一步骤中检查PTS数据的存在性。
当确定了PTS&DTS标志位是“10”或“11”,或者说,当确定了PTS数据存在,CPU137检测PTS的位置,并使数据保持电路134保持PTS数据。之后,CPU137等待数据组起始位置的检测。
反之,当PTS&DTS标志并非“10”或“11”,或者说,当PTS数据不存在,CPU137就继续检测分组数据起始位置。
当检测分组数据起始位置时,CPU137重写选择控制寄存器141的内容,使得寄存器139保持的PTS数据供给随机数发生器136作为初始值。当需要解密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据被立即提供给随机数发生器136作为初始值。当被选择的数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。
异或电路143对数据寄存器142输出的待解密数据流和随机数发生器136产生的随机数提供异或操作。异或操作的结果是待解密的数据组的数据流被解密。
因此,CPU123控制选择电路144使得异或电路143输出的解密数据流连续的输出,直到分组数据流结束为止。之后,过程回到检测数据组起始码的状态。
于是,从媒介131来的输出数据流被转换成分组数据被解密的解密数据流。解密数据流被传送到MPEG解码器145。
在MPEG解码器117产生的是MPEG2-TS数据流的情况下,CPU123检测同步位并根据数据组标题加密控制域的内容辨别负载数据流是不是被加密的。当数据流是未加密的,CPU123回到检测同步位的状态。
当负载数据流被加密,CPU123从适配标志位判断是否存在适配域。若无适配域,CPU依靠负载标志位判断是否存在负载。
当确认适配域存在,CPU123从PCR标志位判断是否存在PCR。若无PCR,CPU依靠负载标志位判断是否存在负载。
当PCR存在,CPU123检测PCR位置,并使数据寄存器125保持PCR数据,CPU123进一步依靠负载标志位判断是否存在负载。
当负载不存在,CPU123处于检测同步字节的状态。当负载存在时,CPU123就取检测负载起始位置的状态。
当检测负载起始位置时,CPU123重写选择控制寄存器127的内容,使得寄存器125保持PCR数据,或者说,加密负载的数据组标题的PCR数据,供给随机数发生器122作为初始值。当需要解密的数据组标题不存在PCR数据时,此数据组之前的上一个数据组的PCR数据被立即提供给随机数发生器122作为初始值。当被选择的数据组标题不存在PCR数据时,则选择更前面的一个数据组的PCR数据,直到数据组含有PCR数据为止。
因此,异或电路129对数据寄存器128输出的待解密数据流和随机数发生器122产生的随机数提供异或操作。异或操作的结果是包含待解密的负载的数据组的数据流被解密。
定位检测电路123控制选择电路130使得异或电路129输出的解密数据流连续的输出,直到负载输出结束为止。之后,CPU123回到检测同步位的状态。
MPEG117的输出数据流被转换成数据组被加密的加密数据流。然后加密数据流被存入媒介131并在需要的时候再送入解密电路132。
应注意的是送入解密电路的数据流被存入缓冲存储器133,再从缓冲存储器133被CPU137读出。
CPU137检测同步位并根据数据组标题加密控制信息的内容辨别数据流或负载是不是被加密的。当负载数据流是未加密的,CPU123就回到检测同步位的状态。
反之,当负载数据流被加密,CPU123从适配标志位判断是否存在适配域。
当适配域存在,CPU123从PCR标志位判断是否存在PCR。若无PCR,CPU依靠负载标志位判断是否存在负载。
当PCR存在,CPU123检测PCR位置,并使数据寄存器139保持PCR数据,CPU进一步依靠负载标志位判断是否存在负载。当负载不存在,CPU123处理回到检测同步位的状态。另一方面,当负载存在,CPU137处于检测负载起始位置的状态。
当检测负载起始位置时,CPU137重写选择控制寄存器141的内容,使得寄存器139保持PCR数据,或者说,待解密负载的数据组标题的PCR数据,供给随机数发生器136作为初始值。当需要解密的数据组标题不存在PCR数据时,此数据组之前的上一个数据组的PCR数据被立即提供给随机数发生器136作为初始值。当被选择的数据组标题仍不存在PCR数据时,则选择更前面的一个数据组的PCR数据,直到数据组含有PCR数据为止。
因此,异或电路143对数据寄存器142输出的待解密数据流和随机数发生器122产生的随机数提供异或操作。从而,包含数据组的待解密数据流的解密操作被完成。
CPU137控制选择电路144使得异或电路143输出的加密数据流连续的输出,直到分组数据流结束为止。之后,CPU137回到检测同步位的状态。
于是,从媒介131读出的数据流被解密电路132转换成解密数据流,使得负载的加密数据流被解密。解密数据流被送入MPEG解码器145。
因此,在根据本发明第5实施例的数据传输系统和方法中,MPEG117的MPEG2-PS或MPEG2-TS格式的输出数据流由加密电路118被转换成加密的数据流,这样使得分组数据或负载的数据流被加密。然后,被加密的数据流提供给解密电路132以便经媒介131解密。然后被解密的数据流传输给MPEG解码器145。
在加密电路118中,通过提供待加密的分组数据的数据组标题的PTS数据或负载的数据组标题的PCR数据给随机数发生器122作为初始值,来完成加密。当需要加密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据被立即提供给随机数发生器122作为初始值。当再次发生数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。当需要加密的负载数据组标题不存在PCR数据时,此数据组之前的上一个数据组的PCR数据被提供给随机数发生器122作为初始值。当再次发生负载的数据组标题不存在PCR数据时,则选择更前面的一个负载的PCR数据,直到负载含有PCR数据为止。
另一方面,在解密电路132中,对于每一个待解密数据组或负载,通过提供待加密的分组数据的数据组标题的PTS数据或负载的数据组标题的PCR数据给随机数发生器136作为初始值,来完成加密。当需要加密的数据组标题不存在PTS数据时,此数据组之前的上一个数据组的PTS数据被立即提供给随机数发生器136作为初始值。当再次发生数据组标题不存在PTS数据时,则选择更前面的一个数据组的PTS数据,直到数据组含有PTS数据为止。当需要加密的负载数据组标题不存在PCR数据时,此数据组之前的上一个数据组的PCR数据被提供给随机数发生器136作为初始值。当再次发生负载数据组标题不存在PCR数据时,则选择更前面的一个负载的PCR数据,直到负载含有PCR数据为止。
根据本发明实施例五的数据传输方法和系统,对于每个被解密的数据组或负载的数据流,提供给解密电路132中随机数发生器136的PTS数据或PCR数据的值不是常数。因此,分析由随机数发生器107生成的随机数模式明显变得困难,数据传输的保密性有显著改进。而且,本发明中的数据传输系统可用于MPEG2-PS和MPEG2-TS两种系统。
在上面的任何实施例中,供给加密或解密设备中的随机数发生器的预定的不定值并不局限于PTS数据或PCR数据,而是可由另外的数据,如包含在数据组标题的其它数据,对PTS数据或PCR数据的操作来形成。例如,预定数据可以通过组合,或者将PTS数据作用于DTS数据或具有MPEG2-PS格式的循环计数器数据上来形成。而且,预定的数据也可通过组合,或者将PCR数据作用于循环计数器数据来获了。
本发明并不局限于这里描述的实施例,可以有不遵循本发明范围的各种各样的变化和修改。
权利要求
1.一个包含一串连续单元数据流的数据流的解密方法,单元数据流包括一个第一数据流和一个位于第一数据流之后的第二数据流,该解密方法利用一个随机数发生器(32,58,83,107,136)对第二数据流解密,包括下面这个步骤对每个待加密的第二数据流,把第一数据流中包含的预置的一个不定值数据,提供给随机数发生器作为初始值,以便对第二数据流解密。
2.权利要求1中的解密方法,当第一数据流中不存在预置的不定的数据时,将相应于此不存在预置不定数据的第一数据流之前的上一个第一数据流中的预置不定的数据的数据提供给随机数发生器作为初始值。
3.权利要求1中的解密方法,其中,包含一串连续单元数据流的数据流是由MPEG标准规定的,其第一数据流包含一个形成数据组标题的数据流,第二数据流包含一个形成数据组的数据流,预置的不定的数据包含一个放象时间标记(PTS)。
4.权利要求1中的解密方法,其中,包含一串连续单元数据流的数据流是由MPEG标准规定的,其第一数据流包含一个形成数据组标题的数据流,第二数据流包含一个形成数据组的数据流,预置的不定数据包含一个程序参考时钟(PCR)。
5.权利要求1中的解密方法,包含了并行转换步骤,用于至少将由单元数据流形成的部分数据流转换成多元数据流,此方法可对每一种多元数据流加密。
6.一种解密设备,该解密设备提供了包含一串连续单元数据流的数据流,单元数据流包括一个第一数据流和一个位于第一数据流之后的第二数据流,解密设备包括一个随机数发生器(32,58,83,107,136),用于产生随机数;一个初始值提供电路(33,34,35;59,60,61;84,86,88;137,139,140),对每个待解密的第二数据流,把第一数据流中包含的预置的不定值数据提供给随机数发生器作为初始值;一个逻辑操作电路(36,62,89,110,143),用于对待解密的第二数据流和由随机数发生器产生的随机数进行操作,以便对第二数据流解密。
7.权利要求6中的解密设备,其中的初始值供给电路(33,34,35;59,60,61;84,86,88;137,139,140)当第一数据流中不存在预置的不定值数据时,将相应于此不存在预置不定值数据的第一数据流之前的上一个第一数据流的预置不定值数据的数据提供给随机数发生器(32,58,83,107,136)作为初始值。
8.权利要求6中的解密设备,其中包含一串连续单元数据流的数据流是由MPEG标准规定的,其第一数据流包含一个形成数据组标题的数据流,第二数据流包含一个形成数据组的数据流,预置的数据组包含了放象时间标记(PTS)。
9.权利要求6中的解密设备,包含一串连续单元数据流的数据流是由MPEG标准规定的,其第一数据流包含一个形成数据组标题的数据流,第二数据流包含一个形成数据组的数据流,预置的数据组包含了程序参考时钟(PCR)。
10.权利要求6中的解密设备,其初始值供给电路包含定位检测电路(33,59,84,106,137),用于检测预置的不定值数据的位置和第二数据流的起始位置;数据保持电路(34,60,86,108,139),在定位检测电路检测到预置的不定值数据时,该数据保持电路就保存预置的不定值数据。
11.权利要求6中的解密设备,其解密设备中还包含串-并转换器(85),用于将一串连续单元数据流的数据流转换成多元数据流,每个单元数据流包括第一数据流和位于第一数据流之后的第二数据流;包含随机数发生器,初始值供给电路和将每个多元数据流解密成多元解密数据流的逻辑操作电路。解密设备中还包含一个并-串转换器(79),用于将多元解密数据流转换成简单的解密数据流。
12.权利要求10中的解密设备,其定位检测电路包含微处理器(137)和存有微处理器控制程序的程序存储器(138),使得定位检测电路能够对从多元不同格式的数据流中任选一个数据流进行解密,如同对数据流一样进行解密。
13.权利要求6中的解密设备,其解密设备构成一个带有用于存储个人识别数据的存储电路的IC卡(98),此IC卡适合于可分离安装在一个外部设备中,只有当IC卡的识别数据由外部设备认可时,解密设备才允许随机数发生器动作。
14.一种数据传输方法,包括以下若干步骤提供一个包含一串连续单元数据流的数据流的加密方法,单元数据流包括一个第一数据流和一个位于第一数据流之后的第二数据流。对每个待加密的第二数据流,加密方法包含一个步骤,把第一数据流中包含的预置的一个不定值数据,提供给随机数发生器(24,45,71,122)作为初始值;在加密步骤中经由一个媒介将加密数据流传输到终端;在终端中,对经由一个媒介传递的数据流提供一个解密方法,对每个待解密的第二数据流,解密方法包含一个步骤,把第一数据流中包含的预置的一个不定值数据,提供给随机数发生器(32,58,83,107,136)作为初始值,以便对第二数据解密;
15.一个数据传输系统,用于传输包含一串连续单元数据流的数据流,单元数据流包括一个第一数据流和一个位于第一数据流之后的第二数据流,上述数据传输系统包括一个包含加密设备的传输源(23,44,70,118),加密设备包括一个随机数发生器产生随机数;一个初始值提供电路,对每个待加密的第二数据流,把第一数据流中包含的预置的不定值数据提供给随机数发生器作为初始值;一个逻辑操作电路,用于对待加密的第二数据流和由随机数发生器产生的随机数进行操作,以便对第二数据流加密。传输源将加密设备产生的加密数据流提供给一个媒介;一个包含解密设备的终端(31,57,82,98,132),对经由一个媒介传递的加密数据流解密,解密设备包括一个随机数发生器产生随机数;一个初始值提供电路,对每个包含经由媒介提供的已加密数据流中的待解密的第二数据流,把包含在由一个媒介传递的加密数据流的第一数据流中的预置不定值数据提供给随机数发生器作为初始值;一个逻辑操作电路,用于对待解密的第二数据流和由随机数发生器产生的随机数进行操作,以便对第二数据流解密。
全文摘要
一个由一串连续数据流单元的数据流构成的数据流加密方法,数据流单元包括一个第一数据流和一个位于第一数据流之后的第二数据流。该加密方法是使用一个随机数发生器对第二数据流加密,并且包括以下步骤,即对每个待加密的第二数据流,加密方法把第一数据流中包含的一个预置不定值数据,提供给随机数发生器作为初始值。还有加密设备,解密方法和解密设备已公开。
文档编号H04N7/169GK1398083SQ0113319
公开日2003年2月19日 申请日期1996年8月30日 优先权日1995年12月7日
发明者小川清隆, 小桧山清之, 秋山良太, 饭岛清克 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1