对至少二维的数据集的加密和解密的制作方法

文档序号:6476613阅读:282来源:国知局
专利名称:对至少二维的数据集的加密和解密的制作方法
技术领域
本发明涉及密码学领域。具体地说,本发明涉及一种用于对存 储在存储器中的数据集的至少一部分进行加密的方法、和一种用于对 存储在存储器中的数据集的至少一部分进行解密的方法,其中所述数 据集至少具有二维。
此外,本发明涉及一种临时将数据集的至少一部分存储到存储 器中的方法,其中使用如上所述的加密方法来进行存储以及/或者使 用如上所述的解密方法来从存储器取回所述数据集的所述部分。此 夕卜,本发明涉及一种用于处理具有至少二维的数据集的装置,其中通 过使用上述加密方法来将数据集的所述部分从处理装置传输至存储 器,以及/或者其中通过使用如上所述的解密方法来从所述存储器向 所述处理装置传输所述数据集的所述部分。
背景技术
对压縮多媒体内容的加密逐渐成为内容产业的共同需求,并且
是一种符合数字版权管理(DRM)标准中的各种鲁棒性规则的要求。
一般的经验法则是,为了有效地防止对诸如高清(HD)视频之类的
多媒体内容的未授权复制,则不能在不对所述多媒体内容进行加密的 情况下将其存储在电子设备的存储器中。
当前已知的加密方案的一个问题是渲染引擎(rendering engine) 不以线性模式来访问存储器。更确切地讲,帧存储表示二维(2D) 图像,并且所渲染的对象可在该帧内自由移动。基于分组密码和流密 码的已知解密方法不能容易地处理这种类型的访问或者较大的内容 加密的2D块中的任意大小和位置的访问。例如在HD图像的情况下, 帧存储约为1920X 1080X32比特的数量级。很明显,仅仅为了获得 更小的用于处理的数据内容而解密这种大小的帧存储是不切实际的。另外一个使存储器加密变得困难的问题是必须不对存储器的读 操作增加明显延迟。加密期间的任何复杂的操作都可能搅乱工作平台 的定时并且使得加密方案对用户不起作用。
WO 03/048939公开了一种方法,用于对与计算装置的图形子系 统有关的安全内容的进行加密保护。通过实施技术来对视频存储器的 内容进行加密,以使未授权的软件不能对其进行有意义的访问,从而 保持保密性。此外,提供一种用于篡改检测的机制,以使当数据以某 种方式被更改时可以获知,从而保持其完整性。在各种实施例中,对 覆盖表面的内容和/或命令缓冲区进行加密,和/或当阻止其对不信任 用户、装置或软件的可用性时,图像处理单元可以对已加密的内容进 行操作。
US 2003/0135742公开了一种方法和一种系统,用于保护将要使 用并在视频或图像卡上处理的数据。在各种实施例中,可以对视屏卡 将要使用的数据进行加密,以使在任何时间在视频卡与计算机系统之 间的总线上提供所述数据。例如,当从视频卡上的存储器向系统存储 器移动数据时,数据为已加密的形式并且因此获得保护,反之亦然。
US 6,711,683公开了一种计算系统,用于防止对机顶盒的先进先 出存储缓冲器中存储的压縮的视频数据的未授权使用。单个集成电路 包括数据处理器和芯片身份只读寄存器,该芯片身份只读寄存器存储 了在生产期间固定的唯一的芯片身份号。所述数据处理器通过使用芯 片身份号(作为加密密钥)来对压縮视频数据流进行加密。将加密后 的数据存储在先进先出(FIFO)缓存器中并从所述先进先出(FIFO) 缓存器恢复该加密后的数据。接着,数据处理器使用芯片身份号的至 少一部分作为解密密钥来解密所恢复的数据。通过使用该技术,则以 压縮的形式暂存在FIFO缓冲器中的压縮视频数据流仅可以被具有所 述唯一的芯片身份号的特定处理器使用。
因此,需要提供一种改进的加密和解密方案,其对包括二维结 构的数据内容尤其有效
发明内容
可通过根据独立权利要求的客体来满足这种需求。通过从属权 利要求来描述本发明的优选实施例。
根据本发明的第一方面,提供了一种用于对存储在存储器中的 数据集的至少一部分进行加密的方法,其中,所述数据集至少具有二 维。所述提供的方法包括(a)形成分配给数据集的第一维的第一密 钥流,(b)形成分配给数据集的第二维的第二密钥流,以及(C)通过使 用第一密钥流和第二密钥流的组合来对数据集的一部分的每个数据 分组进行加密。
本发明的第一方面基于这样一种思想,即,可通过考虑数据集 的维数和存储器的维数来改进已知的一维流密码加密方法,所述存储 器存储至少二维(2D)的数据集。因此,通过分别执行如下步骤来 独立地对数据集的该部分进行加密(a)沿着数据集和存储器的第一 方向执行第一流密码加密;(b)沿着数据集和存储器的第二方向执行 第二流密码加密。每个方向分别表示数据集和存储器的一维。
应该注意,所述方法不限于加密2D数据集。由于该方法依靠沿 不同方向进行独立的加密,因此理论上可以对具有任意的较高维度的 数据集进行加密。具体地说,也可以通过使用上述方法来对三维(3D) 数据集有效地进行加密,该三维(3D)数据集可表示3D图像或者 2D图像的时间序列。此外,也可以通过有效并可靠的方式来对四维 (4D)数据集(例如,可以是表示3D图像的时间序列的4D数据集) 进行加密。
在这方面,必须强调,数据集的维数不一定直接反映存储器的 物理结构以及对存储器进行限定的单独存储单元的空间布置。即,可 以将数据集和存储器看作具有大于1的任意维数的数学矩阵。
优选地,以加密的结果不依赖于组合的顺序的方式来执行两个 密钥流的组合。即,不管是先执行第一方向的加密再执行第二方向的 加密,还是反过来先执行第二方向的加密再执行第一方向的加密,数 据集部分内的特定数据分组的加密都是相同的。此外,如果对不同方 向执行不同的分步加密,数据集部分内的特定数据分组的加密也应该 相同。即,在加密特定数据分组之前,已经通过一系列的不同加密程序来执行对其他数据分组的加密,该一系列的不同加密表示沿交替方 向的加密。
所述方法可提供如下优点当仅需要对加密的多维数据集的选 择部分进行解密时,则不再需要解密整个数据集或者其绝大部分。如 果使用已知的一维流密码加密或分组密码加密来加密数据集,则需要 完整的解码。通过使用所述多维流密码加密,可以获得对已加密的数 据分组的相对较快的访问,所述已加密的数据分组被分配到数据集的 选择部分。因为当通过对沿不同方向的相邻数据分组使用依次解密的 适当组合来从数据集的预定起始数据分组开始进行解密时,可以在解 密程序启动之后相对较短的时间间隔内解密数据集的选择部分的加 密数据分组,所以可以进行快速访问。因此,与已知的一维流密码解 密相比,不再需要沿覆盖了整个加密的2D数据集的预定线路来依次 解密相邻数据分组。对于加密的2D数据集,所述线路可以是曲折线。
上述说明即是指,通过使用已定义的多维加密方法来加密存储 器中存储的数据内容,可以有效地使用于解密的解密区域与需要解密 的存储器的特定部分对齐。因此,可以显著地减少对用户不需要的数 据内容的不必要解密。因此,与已知的加密以及相应的解密程序相比, 所述多维加密方法能使存储器的特定部分的解密更快。
上述方法可用于例如表示视频片段或电影的帧的2D数据集。即 使相应的2D数据集只是居中地存储于已知帧缓冲器中,上述方法也 可以使对特定帧部分的解密变得有效并且快速。
根据本发明的实施例,(a)根据第一流密码来产生第一密钥流, 并且(b)根据第二流密码来产生第二密钥流。
可通过迭代的方式来执行各密钥流的产生,其中每次迭代精确 地产生各密钥流的一个数据分组。这种数据分组的产生可以以一种已 知的方式基于各流密码的内部状态信息,所述各流密码的内部状态信 息包括更新功能、流密码产生功能以及密码密钥。
当第一流密码和第二流密码相互独立时,可自动实现由于两种 密钥流为了确定数据集的特定位的地址而相互组合的特定方法所产 生的加密独立性。S卩,前移第一密钥流对第二流密码没有影响,以使
8两种密钥流的组合方式不影响加密结果。
根据本发明的另一方面,(a)第一流密码和第二流密码相同,并 且(b)使用第一密钥来产生第一密钥流,使用不同于第一密钥的第二
密钥来产生第二密钥流。这可以提供如下优点仅需要一个流密码来 简单地执行所述多维加密方法。即,当执行常见的流密码的重置密钥 时(例如为了增加所述多维加密方法的安全级别),仅仅必须为每个 重置密钥程序产生一个流密码。
与必须为每个重置密钥程序产生多个(其数量与数据集和存储 器的维数相对应)流密码的方法相比,可以显著减少为整个流密码产 生所付出的努力。
根据本发明的另一个实施例,第一密钥流和/或第二密钥流包括 循环码(recurring codes)。循环码以及重复码的使用可提供如下优 点无论数据集的大小如何,所述多维加密方法都可用于所有数据集。 换句话说,无论密钥流的大小以及存储器的大小如何,都可通过每个 存储器位置处的至少两个密钥流的组合来唯一地覆盖整个存储器的 空间。为了对具有任意大小的存储器和数据集执行所述多维加密方 法,具有预定存储空间的流密码的内部状态的内部存储是足够的。
根据本发明的另一个实施例,第一密钥流与第二密钥流相互关 联。即,两个密钥流中的一个的输出同时取决于相应的流密码和两个 密钥流中的另一个的状态。换句话说,两个流密码具有共享的状态, 并且移动密钥流将更新与两个密码相关的状态。
根据本发明的另一个实施例,第一密钥流和第二密钥流的组合 包括第一密钥流的位与第二密钥流的位的XOR运算。因此,第一密
钥流的位数与第二密钥流的位数取决于多维数据集中明文数据分组 的位置,其中假设已对所述明文数据分组加密。
异或XOR运算的使用可提供如下优点所述多维加密方法是对 称的。即,可以使用与加密数据分组时使用的第一密钥流和第二密钥 流的组合相同的组合来从加密的数据集中解密所述数据分组。
根据本发明的另一个实施例,(a)数据分组具有单个位的大小,
并且(b)对数据集的所述部分的每位的加密包括对数据集的位与所组合的第一和第二密钥流的相应位执行XOR运算。这可提供如下优点 所述多维加密方法可以不仅仅关于第一密钥流和第二密钥流的组合 对称。所述加密方法还可以关于明文和加密的数据集的每个位的加密 和解密对称。
根据本发明的另一个实施例,数据分组具有大于单个位的大小。 即,以大于单个位的间隔尺寸利用流密码来执行所述多维加密。这可
以提供如下优点可以在数据分组基础上执行加密程序,其中根据各 应用,每个数据分组具有合适的大小。例如,为了加密视频数据,以 像素为单位的数据打包应该合适,其中根据所期望的单个像素的色彩
分辨率,每个数据分组可具有或大或小的大小。对于很高的色彩分辨 率,32位似乎合适。
根据本发明的另一方面,提供了一种用于解密存储器中存储的 数据集的至少一部分的方法,其中所述数据集至少具有二维。所提供 的方法包括(a)形成分配给数据集的第一维的第一密钥流,(b)形成
分配给数据集的第二维的第二密钥流,以及(C)通过使用第一密钥流 和第二密钥流的组合来解密所述数据集的所述部分的每个位。
本发明的这个方面是基于一种思想,该思想是已知的一维流 密码解密方法还可通过考虑数据集的维数和存储器的维数来改进,所
述存储器存储至少二维(2D)的数据集。因此,通过执行如下步骤来独 立地对数据集的该部分进行解密(a)沿着数据集和存储器的第一方 向执行第一流密码解密;(b)沿着数据集和存储器的第二方向执行第 二流密码解密。每个方向分别表示数据集和存储器的一维。
通过结合与上述多维加密方法的实施例相关的一个或多个限制 来给出所述多维加密方法的另外的实施例。因此,为了避免不必要的 重复,参考所述加密方法的上述实施例来给出相应的描述。特别地, 如果所述多维加密方法和解密方法是对称的,本领域的技术人员可以 很明显地找到由与加密方法相关的实施例给出的限制是如何用于所 述多维解密方法的。在这方面中,术语"对称加密"与"对称解密" 是指加密和解密使用相同的密钥。
根据本发明的实施例,对数据集的一部分的每个位执行解密包括对数据集的位和所组合的第一和第二密钥流的相应位执行XOR运算。
如上所述,参考解密方法的相应实施例,可以提供如下优点 所述多维解密方法可以不仅仅关于第一密钥流和第二密钥流的组合 对称。所述解密方法也可以关于明文和加密的数据集的每个位的加密 和解密对称。同样,"对称加密"和"对称解密"是指加密和解密使 用相同的密钥。
根据本发明的另一方面,提供了一种用于将数据集的至少一部 分暂存到存储器中的方法,其中所述数据集至少具有二维。所提供的 方法包括(a)通过执行上述多维加密方法来加密数据集的该部分;(b) 将数据集的已加密部分存储到存储器中;(c)从存储器中读出所存储 的数据集的已加密部分;以及(C)通过执行上述多维解密方法来解密 所读出的数据集的已加密部分。
本发明的这个方面基于一种思想,该思想是指通过利用上述 多维加密和解密方法,可以有效地在存储器中暂存数据集的至少一部 分,其中所述存储器不受物理保护或者仅分散地保护其免受未授权攻
击。在数据集的该部分的存储期间,由于只能获取存储器中的加密形 式下的数据集,从而阻止了来自未授权人员的攻击或者至少限制来自 未授权人的攻击。
由于上述多维加密和解密方法能有效地加密数据集并且尤其是 能有效地解密多维数据集的一部分,所以可以很快地执行整个程序。 这提供了如下机会所述暂存方法可用于例如多媒体装置,其中表示
例如视频内容的数据集(如MPEG4数据文件)必须被快速地从安全
处理器传输到相对不安全的工作存储器。同样适用于以相反方向从相 对不安全的工作存储器向安全存储器的数据传输。由于所述加密和解 密方法的效率,这至少可以近似实时地执行,从而一方面使用户注意 不到该加密和解密并且另一方面可以满足安全性需求。这种安全性需 求通常由媒体内容的版权拥有者给出,版权拥有者希望阻止其媒体内 容的未授权复制和传播。
根据本发明的另一方面,提供了一种用于处理至少具有二维的
11数据集(特别是多媒体数据集)的装置。所提供的装置包括(a)处 理装置;以及(b)工作存储器,该工作存储器连接到所述处理单元。 因此,所述处理装置适用于通过执行上述多维加密方法将数据传输到 工作存储器,和/或所述处理装置适用于通过执行上述多维解密方法 从工作存储器接收数据。
本发明的这个方面也基于一种思想,该思想是指通过利用上 述多维加密和解密方法,可以有效并安全地在所述数据处理装置的工 作存储器中存储数据集的一部分。这可以提供如下优点在不使所述 装置成为一个对黑客攻击完全不安全的装置的情况下,所述装置可以 具有一个相对不安全的存储器。
例如,所述数据集处理装置可以是便携多媒体装置或者是固定 的多媒体装置,该装置可以用于显示图像或视频数据和/或用于输出 声音数据。可以使所述装置安装和/或连接输入/输出装置。输入/输出 装置可以包括例如检测器和/或扬声器。
根据本发明的实施例,所述处理装置包括(a)用于通过使用第 一密钥流对数据集加密和/或解密的第一加密单元;以及(b)用于通过 使用第二密钥流对数据集加密和/或解密的第二加密单元。即,第一 加密单元适用于执行与数据集和存储器的第一维相关的加密和/或解 密程序。相应地,第二加密单元适用于执行与数据集和存储器的第二 维相关的加密和/或解密程序。
这种为不同维的加密和解密提供分立单元的划分可以提供如下 优点可以非常有效地执行整个多维加密和解密程序。即,可以相对 较快地执行加密和解密。
必须说明,可以通过计算机程序和软件的方式来实现所述划分。 但是,也可以通过一个或多个特定的电子电路以及硬件来实现本发 明。此外,也可以以混合的形式实现本发明,即以软件模块和硬件模 块的适当组合的方式。
根据本发明的另一个实施例,数据集处理装置还包括用于接收 数据的数据输入。这可以提供如下优点可以向数据集处理装置提供 来自任意外部数据载体(如数字多功能光碟(DVD))的数据。因此,所述数据可以是未加密格式的原始数据。此外,可以将来自网络 (如因特网)的数据提供给所述数据处理装置。根据本发明的另一个实施例,所述处理装置还包括中央处理单 元,其适用于执行MPEG解码。这可以提供如下优点可以以有效 的方式来处理视频数据集。此外,由于MPEG标准广泛用于视频数据的处理,因此所述数据集处理装置可以用于市场上的大多数视频应 用。应该注意,已参考不同客体描述了本发明的实施例。特别地, 一些实施例是参考方法类型权利要求描述的,而另一些实施例是参考 设备类型权利要求描述的。但是,本领域的技术人员根据以上及以下 描述可以理解的是,除非特别说明,否则除了属于一种类型客体的特 征的任意组合之外,与不同客体相关的特征之间的任意组合(尤其是 方法类型权利要求的特征与设备类型权利要求的特征之间的任意组 合)也被认为已经被本申请所公开。上文所限定的方面以及本发明的其他方面从下文所述的实施例 的示例可以很明显地得知并且通过参考实施例的示例来对其进行说 明。下文将参考实施例的示例(而不受其限制)来更详细地说明本发 明。


图1示出了描绘2D存储器的不规则部分的解密的图示,其中已 通过使用水平流密码和垂直流密码执行连续的XOR运算来对2D存 储器中存储的数据进行了加密。图2示出了一种多媒体装置,其适用于通过使用水平流密码和 垂直流密码来执行数据加密和数据解密。图3示出了 2D存储器的不规则部分的解密,其中已通过使用分 组密码对其中的数据内容进行了加密。图4示出了 2D存储器的不规则部分的解密,其中已通过使用流 密码对其中的数据内容进行了加密。
具体实施例方式
图示中的说明是概要的。应该注意,在不同的图示中,对类似或相同的元件所提供的参考符号仅在第一数字不同于相应的参考符号。
以下所描述的本发明的实施例本质上提供了一种新的流密码的形式。因此,为了方便理解这些实施例,首先将给出一些关于已知流密码加密和流密码解密的背景信息。
流密码通常是基于线性反馈移位寄存器和非线性布尔元件的。
其被设计为可以在硬件中简单并且容易地实现。假设密钥k和初始矢量IV,则从内部密码寄存器的内部状态s来产生位流。
下文中f是流密码更新函数,并且Si是对明文的位i加密后流密
码的内部寄存器结构。使用如下的每次迭代来更新内部状态的密码
对于当前流密码,s约为150-300位的数量级。使用密钥k和初始矢量IV来作为初始寄存器状态以及内部寄存器状态s0.
密钥流的位ki完全通过给定的内部密码结构Si确定,并由如下
等式产生
其中,g是表示密钥流产生的函数,其每次从内部状态寄存器结构提取一位。
明文的位Xi的实际加密通过如下表达式实现Cy = X, + &
其中,"+ "表示按位XOR运算。相应的解密通过相同密钥流ki的产生以及简单地执行XOR运算x,c,+A:,来实现。
如果己知流密码Fk的内部状态Si,则可以产生从该点开始的整个密钥流,其中所述流密码Fk的内部状态、包括用于状态更新的函数f、用于产生密钥流和密码密钥k的函数g。这是通过每次迭代一位来实现的,可以将其描述为如下表达式
一个重要的性能是流密码在对线性数据流(例如所下载的较大的文件)的加密和解密中是非常有效的。但是,加密和解密程序依赖于以精确顺序逐位获得数据。这是因为对特定位加密的方式取决于密码状态,所述状态在所有在先的加密中已被采用。因此,为了跳过数据流的一部分,密码需要知道从假设解密再次开始的点的数据流开始的所有在先的内部结构以及所有密码状态。在这方面中,流密码解密明显不同于分组密码,分组密码可以根据精确的使用单独解密每个数据分组。
从下文所述将很明显,根据本发明的所述实施例的多维加密和解密程序具有如下优点其可以支持复杂的存储器访问模式,这种模
式特别在多媒体应用中逐渐增多。与其相比,基于已知分组密码的加密和解密以及基于已知流密码的加密和解密都不能提供这种优点。
为了说明这方面并且为了增进对本发明的理解,将参考图3简要说明对存储在二维(2D)存储器(如闪存)中的视频内容的基于分组密码的加密和基于分组密码的解密的示例。将参考图4简要说明对存储在二维(2D)存储器中的视频内容的基于流密码的加密和基
于流密码的解密的另一示例。这些示例说明了通常如何实现任意大小
和位置的数据的2D访问,如在视频解压縮或图像产生过程中。
图3示出了 2D存储器350的不规则部分355的解密,其数据内容已通过使用分组密码加密。即使需要解密的存储器350的部分355可能与单独的分组380相同,部分355通常也不与分组边界对齐。这意味着在所述情况下的解密需要六个存储器分组380。这说明了使用分组密码以及对这类型的存储器访问的一个普遍问题。尽管原则上使用分组密码的存储器访问确实是随机访问,但是,除非用于解密的存储器350的部分355与分组边界精确地对齐,否则必须执行大量额外的冗余的解密工作。这意味着必须对不需要解密的数据进行解密。
图4示出了对2D存储器450的不规则部分455的解密,其数据内容已通过使用流密码490加密。为了解密存储器450的不规则部分455,需要密码流中的四个入口点491。由于流密码通常需要以与对其进行加密完全一样的顺序来解密数据,则在解密过程中不能跳过不需要的数据分组。因此,当使用流密码加密时,也必须执行大量的额外的冗余解码工作。
下文将更详细地描述使用水平流密码F^和垂直流密码Fky的二
维(2D)加密和解密程序。尽管该二维(2D)加密和解密过程是本发明的优选实施例,但是需要指出的是通过该应用描述的本发明不限于2D加密过程。还可以通过相应的基于三个或者甚至更多不同流密码的加密过程来实现本发明,其中每个流密码代表存储器和/或数据集的一维。
用于有效地加密存储器的2D部分(如,帧缓冲器)的2D加密程序包括如下重要步骤
在第一步中,产生两个单独的流密码,即水平流密码Fkx和垂直流密码Fky。其中,这些流密码在使用不同密钥的情况下可以是相同的。
在第二步中,形成水平密钥流&(&)。通过内部寄存器结构的内
部状态Si来产生该水平密钥流&")。
在第三步中,形成垂直密钥流~(~)。通过内部寄存器结构的内部状态sj来产生该垂直密钥流^(。)。
在第四步中,通过如下逻辑运算来对表示明文的位的2D存储器的每个位Xij进行加密
C(/ = + ~
其中、=&") + ~",),并且"+ "是逻辑XOR运算。
该实施例的特征在于与仅使用单一密钥流的一维流密码加密
(参见以上所述)相比,在2D流密码加密中,通过水平和垂直密钥流的XOR运算覆盖了整个2D存储器空间。
通过使用水平密钥流的内部状态Si和垂直密钥流的内部状态Sj
的信息来实现对存储在2D存储器中的这种已加密的数据集的任意矩形部分进行相应的解密。可通过使用如下逻辑运算来实现所述解密~ 、+^
尽管对2D存储器上的水平和垂直方向仅使用单一重复的水平密钥流,但是,通过每个存储器位置的两个流的XOR运算能唯一地覆盖所述存储器空间。相应的逻辑表达式如下所述2D加密和解密方法可提供如下优点整个加密仅需要对用于水平密钥流&^)和垂直密钥流i^^,)的密码的内部状态Si和Sj进行内部存储。在相应密钥包括重复密钥码的情况下,所需要的内部存储
容量是一个与2D存储器的大小无关的恒定值。
所述2D加密过程还提供如下优点为目前为止尚未解决的对较
大2D存储器中2D存储器的部分的任意访问的问题提供了有效的具有面积和时间效率的解决方案。与己有方法相比,所提供的解决方案更快、更廉价,并且需要较小的存储容量。
图1示出了描述对2D存储器250的不规则部分155的解密的图示。所述存储器可以是如闪存250。己通过使用水平流密码Fkx160和垂直流密码Fky170执行连续的XOR运算来对2D存储器250中存储的数据进行了加密。用参考符号165来表示内部密码状态si的水平密钥流Fkx。用参考符号175来表示内部密码状态Sj的垂直密钥流Fky。
如从图1所能看到的,存储器150包括11X7个2D存储器网格。对于7位水平密钥流Fkx160,由4位内部密码状态Si来表示水平流中的每位,其中i二0…6。对于11位垂直密钥流Fky170,由4位内部密码状态Sj来表示垂直流中的每位,其中〗=0-10。因此,在这种情况下仅需要7X4+11 X4=336位来描述2D存储器150的完整密钥流,并且仅需要两部分状态信息(Si, Sj)来描述存储器150的任意矩形部分155。
如从图1所能看到的,水平密钥流Fbl60和垂直密钥流Fkyl70 —样均横跨较大2D存储器150。如果已知明文,黑客则能恢复密钥流的点。在这种使用相同密钥流的情况下,如下表达式描述了通常不安全的2D存储器150的每个点
这实际上表示了 i+j变量的iXj个线性表达式。即,可通过求解这些线性表达式来恢复密钥流的这些部分。因此,为了增加所述2D加密程序的安全性,应该频繁地重置流密码的密钥。当经常改变密钥并且通常未知明文时,该方案提供了高度安全性。
图2示出了表示本发明的实施例的多媒体装置200。所述多媒体装置可以是如DVD视频播放器200。
所述多媒体装置200包括处理装置210和工作存储器250。将处理装置210看作是表示多媒体装置200的安全部件。将外部2D存储器250看作是表示多媒体装置200的相对不安全的部件。处理装置210包括数据输入230,其能将视频数据加载到处理装置210。根据本文所述的实施例,所述视频数据是来自数据载体(如DVD)的原始数据。该原始数据是明文数据,其通过已知的压縮程序(如MPEG编码)压缩。
处理装置210还包括中央处理单元215,其用于对从数据输入230到中央处理单元215传输的数据执行MPEG解码。
此外,处理装置210包括第一加密单元221和第二加密单元222。这些加密单元221、 222的组合用于对中央处理单元所提供的已压縮的
数据执行二维解密。
此外,处理装置210包括存储子系统控制单元225和掩码单元228。存储子系统控制单元225用于控制2D加密程序。具体地说,存储子系统控制单元225确定哪些数据部分必须保留在安全处理装置210中以及哪些数据部分可以离开安全处理装置210。掩码单元228用于对水平流密码和垂直流密码进行加密。这可以确保可以将这些流密码仅以加密的形式外部地存储在2D工作存储器250的存储部分252中。将已加密的视频数据存储在2D视频帧缓冲器251中,所述2D视频帧缓冲器251也表示外部的相对不安全的2D工作存储器250的一部分。
多媒体装置200还包括输入/输出单元240和监测器242。输入/输出单元240用于向用户提供例如关于多媒体装置200的运行情况的信息和/或用于从用户端接收控制命令。耦接在输入/输出单元240的监测器242用于显示所需要的视频内容。
下文将描述多媒体装置200的运行
A) 首先,从数据载体加载受数字版权管理(DRM)保护的内容并且消除DRM保护。图示中未示出该步骤。
B) 接着,用视频内容填充2D视频帧缓冲器251。但是,在将视频内容存储到缓冲器251中之前,使用本申请先前已描述的2D加密方法来对视频内容加密。
18C) 同时产生水平和垂直流密码(Sl, Sj)的状态数据。在将视频
内容存储到外部存储器251之前,通过与任意值的XOR运算来对视频内容作掩码处理。
D) 当媒体解码需要存储器251中存储的视频数据的特定的2D部分时,从帧缓冲器251中获取该部分。同时也获得合适的和Sj数据并消除掩码。
r 、 士承巻 ^fr;TM厶6^i3rr说乂击ffl6h、、/右^fera "cv 壬n 17』^k在S7;nit fi
l乂 ;i又z目,》hx_hu rj MliUJ/w'lT i人乂 ij w.j i乂ilt山丄'kx化h i'ky zi、/hth,乂i在媒体解码器之前使用所述Si和Sj数据。
F) 接着通过相同的加密处理将任何更新信息写入帧缓冲器251中。
G) 偶然地,将完全重新填充帧缓冲器251。在这之前,执行水平和垂直流密码,并且掩码值被密钥重置。这将显著提高安全性。
例如,上述发明可用于需要对存储器的2D部分进行快速有效的加密和解密的处理器。例如这同样可用于处理已编码的视频内容(如MPEG4压縮的视频数据)的许多处理器。
与已知的加密和解密程序相比,所述2D加密方法可提供如下优

-比分组密码加密更快速并且更有效的加密和解密。-比使用单一流密码需要更少的存储空间并且更有效。-仅通过较低的硬件需求并提供频繁的重置密钥,可以提供可接受的安全级别。
-解决了目前尚未解决的有效的2D随机存储访问的问题。应该注意,术语"包括"不排除其他元件或步骤,并且"一"和"一个"不排除多个。同时相关不同实施例中描述的元件可以组合。
同样应该注意,权利要求中的参考符号不解释为对权利要求的保护范
围的限制。
权利要求
1.一种用于对存储在存储器(150)中的数据集的至少一部分(155)进行加密的方法,其中所述数据集至少具有二维,该方法包括形成分配给所述数据集的第一维的第一密钥流(165),形成分配给所述数据集的第二维的第二密钥流(175),以及通过使用第一密钥流(165)和第二密钥流(175)的组合来对所述数据集的所述部分(155)的每个数据分组进行加密。
2. 根据权利要求1所述的方法,其中第一密钥流(165)是基于第一流密码(160)产生的,并且 第二密钥流(175)是基于第二流密码(170)产生的。
3. 根据权利要求2所述的方法,其中第一流密码(160)和第二流密码(170)是相同的,并且其中 使用第一密钥来产生第一密钥流(165)并且使用不同于第一密 钥的第二密钥来产生第二密钥流(175)。
4. 根据权利要求1所述的方法,其中第一密钥流(165)和/或第二密钥流(175)包括循环码。
5. 根据权利要求1所述的方法,其中 第一密钥流(165)和第二密钥流(175)相互关联。
6. 根据权利要求1所述的方法,其中第一密钥流(165)和第二密钥流(175)的组合包括第一密钥 流(165)的位与第二密钥流(175)的位之间的XOR运算。
7. 根据权利要求1所述的方法,其中所述数据分组具有单单个位的大小,并且 对数据集的部分(155)的每个位的加密包括 对数据集的位与第一密钥流(165)和第二密钥流(175)的组 合的相应位进行XOR运算。
8. 根据权利要求1所述的方法,其中 所述数据分组具有大于单个位的大小。
9. 一种用于对存储器(150)中存储的数据集的至少一部分进行解密的方法,其中所述数据集至少具有二维,该方法包括形成分配给所述数据集的第一维的第一密钥流(165), 形成分配给所述数据集的第二维的第二密钥流(175),以及 通过使用第一密钥流(165)和第二密钥流(175)的组合来对 所述数据集的所述部分的每个位进行解密。
10. 根据权利要求9所述的方法,其中 对所述数据集的所述部分(155)的每个位进行解密包括 对数据集的位与第一密钥流(165)和第二密钥流(175)的组合的相应位执行XOR运算。
11. 一种用于将数据集的至少一部分暂存到存储器(150)中的 方法,其中所述数据集至少具有二维,该方法包括通过执行权利要求1中所述的方法来对所述数据集的所述部分 (155)进行加密,将已加密的所述数据集的所述部分(155)存储到存储器(150)中,从存储器(150)中读出所存储的已加密的所述数据集的所述部 分(155),以及通过执行权利要求9中所述的方法来对所读出的已加密的数据 集的部分进行解密。
12. —种用于处理至少具有二维的数据集的装置,特别用于处理 多媒体数据集,该装置(200)包括处理装置(210),以及耦接至处理装置(210)的工作存储器(250),其中-处理装置(210)适用于通过执行权利要求1中所述的方法将数据传输到工作存储器(250),和/或-处理装置(210)适用于通过执行权利要求9中所述的方法从工作存储器(250)接收数据。
13. 根据权利要求12所述的装置,其中 处理装置(210)包括第一加密单元(221),用于通过使用第一密钥流来对数据集进 行加密和/或解密,以及第二加密单元(222),用于通过使用第二密钥流来对数据集进 行加密和/或解密。
14. 根据权利要求12所述的装置,还包括 用于接收数据的数据输入(230)。
15. 根据权利要求12所述的装置,其中 所述处理装置(210)还包括中央处理单元(215),其适用于执行MPEG解码。
全文摘要
本发明描述了一种用于对存储在存储器(150)中的数据集的至少一部分(155)进行加密和解密的方法,其中所述数据集至少具有二维。所述多维加密方法包括形成分配给所述数据集的第一维的第一密钥流(165);形成分配给所述数据集的第二维的第二密钥流(175)。所述加密方法还包括通过使用第一密钥流(165)和第二密钥流(175)的组合来对所述数据集的所述部分(155)的每个数据分组进行加密。所述解密方法还包括通过使用第一密钥流(165)和第二密钥流(175)的组合来对所述数据集的所述部分(155)的每个数据分组进行解密。本发明还描述了一种用于将数据集的至少一部分(155)暂存到存储器(150)的方法以及一种用于处理数据集的装置,所述方法和所述装置都利用了上述加密方法和/或上述解密方法。
文档编号G06F21/10GK101632084SQ200880007908
公开日2010年1月20日 申请日期2008年3月11日 优先权日2007年3月13日
发明者克劳斯·库尔萨韦, 蒂莫西·克林斯 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1