表示意在用于人感知的刺激的材料与编解码无关的加密的制作方法

文档序号:7677935阅读:169来源:国知局
专利名称:表示意在用于人感知的刺激的材料与编解码无关的加密的制作方法
技术领域
本发明总的来说涉及加密且更具体地说涉及表示比如静止和运 动的可视图像和声音的意在用于人感知的刺激的材料的加密。
背景技术
多媒体娱乐内容及表示意在用于人感知的刺激的其他材料被通 过包括因特网的多种分配介质以数字格式传送到消费者。数字格式的 使用一方面促进了该材料的分配,但是另一方面其也促进了材料的未 授权的复制和呈现。
已经开发和正在开发通常被称为数字版权管理(DRM)的多种 方法以帮助保护给予版权保护的材料不受未授权的使用。普通的 DRM方法加密某些或者所有材料且允许自由地分配该材料,但是控 制装置的分配以仅对那些已经获得了使用该材料的权利的个体解密 加密的信息。该解密加密的信息的装置通常属于两个方法之一。
第一个DRM方法使用基于与材料相关联的面向该材料的密码 密钥的加密和解密。解密所需要的面向材料的密钥对该材料是唯一的 且被以某种安全和受控的方式分配到全部授权的接收方。该方法的一 个实例是在可从华盛顿州雷蒙德市的微软公司获得的Windows媒体 播放器软件的版本中实现的。该具体的实现给予每个授权的接收方对 该接收方来说唯一的内容证书或者数字文件。内容证书包括已经使用 加密法加密的面向材料的密钥,该加密法基于对接收方来说唯一的某 些面向接收方的主密钥。
第二个DRM方法使用基于与材料的意向接收方相关联的面向 接收方的密码密钥的加密和解密。解密所需要的面向接收方的密钥对 该接收方来说是唯一 的且可对于不同材料而不同。该方法的 一个实例是在由位于加州库珀蒂诺的Apple Computer公司提供的iTunes服务 中实现的,且被称为FairPlay DRM。该具体的'实现给予每个授权的 接收方一个面向接收方的密钥,使用基于面向接收方的主密钥的加密 法加密该它。
对于任意一个方法,接收方通常仅具有一个主密钥。每个方法相 对于另一个具有优点。第一个面向材料的方法能够更高效,但是其还 可能更不安全。对于第一个面向材料的方法作为分配服务器的计算机 系统通常需要更少的计算资源,因为能够对于所有授权的接收方一次 性加密材料。不幸地是,如果通过密码分析或者未授权的公开使得一 个面向材料的密钥对于公众可用,则可能损害材料的所有分配的安全 性。
然而,对于任意一个方法,当加密所有材料时通常使用对称密钥 或者秘密密钥加密方法,因为执行更安全的方法,比如不对称密钥或 者公共/私有密钥方法需要的计算资源通常惊人地昂贵。通过应用较高 安全性的加密处理到材料的所选部分和对于材料的其余部分应用较 低安全性的加密处理或者不使用加密,能够增加效率而不牺牲安全 性。优选地选择所选部分以使得在没有所选部分的情况下,材料的其 余部分基本上无价值。
存在两个基本方法用于选择使用较高安全性的加密处理加密哪 个所选部分。第一方法基于材料的逻辑结构,材料的逻辑结构又取决 于用于编码材料为信号以进行传输或者存储并随后解码该信号以进 行重放或者呈现的编码/解码(编解码)技术。该取决于编解码的方法 允许以能够对于给定级别的加密效率最优化安全性的方式选择所选 部分,但是对于不同类型的材料或者对于由不同编码技术编码的给定 类型材料,通常没有单一选择是可接受的。与编解码无关的方法对于 宽范围的使用是优选的。

发明内容
本发明的目的是以与编解码无关的方式保护表示意在用于人感知的刺激的材料免受未授权的复制和呈现,其提供了处理效率的改进 而不恶化保护级别,提供了保护级别的改进而不降低效率,或提供了 效率和安全性两者的平衡的改进。
如独立权利要求提出的,由本发明实现这些目的。在从属权利要 求中说明有利的实现。
通过参考以下说明和附图可以更好地理解本发明的各种特征和 优选的实现,在附图中,类似的参考数字表示几个图中的类似的元件。 仅作为实例提出以下说明和附图的内容,且其不应该被理解为表示本 发明的范围的限制。


图1和2是其中处理器准备加密的材料以用于传输或者存储以随 后传送到接收器的系统的示意性框图。
图3是处理器和接收器的网络的示意性框图。
图4和5是其中准备加密的材料用于传输或者存储以随后传送到 接收器的处理器的示意性框图。
图6和7是接收加密的材料以对接收方解密和呈现的接收器的示 意性框图。
图8是可以用于实现本发明的各种方面的装置的示意性框图。
具体实施方式
A.简介
图1和2是产生指定材料的加密的表示的系统的示意性框图,该 指定材料表示意在用于人感知的刺激,比如静止或者活动图像和声 音。该编码的表示被分配给接收器用于对意向的接收方解密和呈现。 在本公开中,更具体地提到材料是由以一个或多个帧排列的数据来表 示的。术语"帧"是指可能要求的数据的任意划分或分段。在上下文中, 在这里涉及的帧不必对应于对于用于编码材料以进行传输或者存储 的任意编码技术都适用的数据的划分。表示单一图像的数据可以被组织成一个帧。以运动画面表示图像的数据,例如,典型地被组织成帧 序列。
参考图1,处理器3从传送指定材料的指示的路径l接收一个或 多个信号,获得包括表示指定材料的一部分的所选数据的控制数据, 对控制数据应用第一加密处理以产生第一加密的数据,和将第一加密 的数据组装到沿着路径5传递的第一编码的信号中。该第一加密处理 响应于第一加密密钥,并且控制数据以某种方式表示或者对应于第二 加密密钥。
处理器4从传送数据帧的路径2接收一个或多个信号,获得数据 帧中未包括在所选数据内的非所选数据,对非所选数据应用第二加密 处理以产生第二加密的数据,并组装第二加密的数据到沿着路径6传 递的第二编码的信号中。该第二加密处理响应于第二加密密钥。
沿着路径5和6传递的编码的信号被分别传送到分配介质7和8, 分配介质7和8分别可以是用于基带通信信号或者包括从超声波到紫 外线频率的整个频谱上的调制通信信号的电的、光的或无线的传输介 质,或者使用基本上任何记录技术的存储介质,包括磁带、卡或盘, 光卡或盘,以及在包括纸张的介质上的可检测的标记。分配介质7和 8分别传送第一和第二编码的信号到路径11和12。
接收器15分别从路径11和12接收第一和第二编码的信号。接 收器15对第一加密的数据应用第一解密处理以获得在指定材料的数 据帧中的包括所选数据的控制数据。第一解密处理响应于第一解密密 钥且控制数据包括从其可以获得或者导出第二解密密钥的信息。接收 器15对第二加密的数据应用第二解密处理以获得非所选数据。第二 解密处理响应于第二解密密钥。将所选数据与非所选数据结合为表示 指定材料的数据帧,该指定材料表示意在用于人感知的刺激。
所选数据和非所选数据每个包括以数据帧形式表示指定材料的 至少一些数据;然而,所选数据和非所选数据共同地不必构成以数据 帧形式表示指定材料的所有数据。帧中的其它数据可以被以未由第一 加密处理或者第二加密处理加密过的形式分配给接收器15。在这里该其他数据被称为"明文数据",因为其能够^皮不经加密地分配给接收器
15;但是,如果需要,能够通过其它的处理加密或者扰码该所谓的明 文数据。
在优选的实现中,第一加密密钥和第一解密密钥与意向接收方相 关联,且设计第一加密处理和第一解密处理以使得除了意向接收方之 外的任何人解密第一加密的数据是不可行的,由此使得处理器3为如 在附图中标记的面向接收方的处理器。优选地,第二加密密钥和第二 解密密钥与指定材料相关联,且设计第二加密处理和第二解密处理以 使得没有第二加密密钥的任何人解密该笫二加密的数据是不可行的, 由此使得处理器4为如在附图中标记的面向材料的处理器。
图2示出的系统类似于图1示出的系统,但是不同之处在于处理 器10执行由处理器3和4执行的工作。
图3是如图l和2所示且如上所述的处理器和接收器的网络的示 意性框图。分配设施20表示分配介质7和8的实现。例如,分配设 施20可以是广域网、局域网、物理存储介质的传送,或者网络和传 送的组合。
可同时或者不同时执行对于处理器3和处理器4描述的工作。可 以在产生第二加密的数据之前、之后或者同时产生第一加密的数据。 可以在第二编码的信号的分配之前、之后或者同时分配第一编码的信 号。可以根据可用的处理资源将该处理分派给不同计算机系统。对于 运动i勤,钭如,能够对^"所省#^^方一次地产生第-二加奮的数椐且 将其记录在一个或多个存储介质上以用于即时或者随后向意向接收 方分配。能够对于每个意向接收方在之后按照需要产生和分配唯一组 第一加密的数据。
在用于运动画面的指定材料的加密和分配的系统中,例如,传送 第二编码的信号所需要的带宽或者存储容量典型地远大于传送第一
编码的信号所需要的带宽或者存储容量。对于比如这些的系统,可优 选地使用不同类型的分配介质用于两个编码的信号。例如,可以由传 输介质分配第一编码的信号并可以通过存储介质的物理传送来分配第二编码的信号。作为选择地,可以通过无线传输介质分配第一编码
的信号并可以通过电的或者光的传输介质分配第二编码的信号。如果 要求,还可以在对等网络上分配第二编码的数据,这可以降低分配的 成本。基本上能够以包括具有第二加密数据的分配的要求的任何方式 分配任何明文数据。
B.发射机
图4和5是用于处理器10的实现的示意性框图。该实现的特征 可应用于处理器3和4。
参考图4,密钥服务器31从传送指定材料的指示的路径1接收 一个或多个信号。将该指定材料的指示或者指定材料的数据帧沿着路 径2传递到选择器42。可以存储该沿着路径2传递的数据帧并可由密 钥服务器31直接访问,或者可以响应于指定材料的指示从在附图中 未示出的源获得其。选择器42获得数据帧,选择其一部分,并沿着 路径43将所选数据传递到加密器33。如果要求,所选数据可以与其 他数据结合并构成控制数据。加密器33对控制数据应用第一加密处 理以产生沿着路径36的第一加密的数据。该第一加密处理响应于由 密钥服务器31通过路径32提供的第一加密密钥。如果要求,第一加 密处理还可以响应于从路径35接收到的第一初始化向量(IV)。如 果要求,第一IV可以由密钥服务器31提供。第一IV的使用是可选 的,但是,如果使用其,优选地将其以在附图中未示出的某种方式加 密。
将表示第二加密密钥的至少一部分所选数据沿着路径43传递到 加密器45。该加密器45对数据帧中的非所选数据应用第二加密处理 以产生沿着路径6的第二加密的数据。该非所选数据表示未包括在所 选数据内的数据帧中的至少一部分数据。第二加密处理响应于第二加 密密钥且还可以响应于从路径46接收到的第二IV。如果要求,第二 IV可以由密钥服务器31提供。第二IV的使用是可选的,但是,如 果使用它,则将其传递到加密器33并和所选数据一起结合为控制数 据。装配器34组装第一加密的数据和任何第一 IV,该第一 IV可能 已经用于沿着路径5传递的编码的输出信号中。还可以将第二加密的 数据装配到输出信号中,如图所示。在实现加密和分配表示活动画面 的材料时,例如,第一和第二加密的数据可以被装配到不同的输出信 号中以用于由如上所述和如图1和2所示的不同分配介质传送。
如图5所示的处理器10的实现类似于如图4所示的实现,但是 不同在于加密器45应用响应于第二加密密钥的第二加密处理,该第 二加密密钥未由所选数据表示而是从密钥服务器31通过路径44接收 的。将该第二加密密钥传递到加密器32并和所选数据一起结合到控 制数据中。
C.接收器
图6和7是接收器15的实现的示意性框图。如图6所示的接收 器15可以有益地用于接收和解密由如图4所示的处理器IO产生的信 号。如图7所示的接收器15可以有益地用于接收和解密由如图5所 示的处理器IO产生的信号。
参考图6,解密器接收来自路径11的第一加密的数据,接收来 自路径52的第一解密密钥,并对第一加密的数据应用第一解密处理 以产生沿着路径53的控制数据。该第一解密处理响应于第一解密密 钥。控制数据包括指定材料的数据帧中表示意在用于人感知的刺激的 所选数据。所选数据表示可以获得或者导出第二加密密钥的信息。将 第二解密密钥沿着路径53传递封解密器61。该第一解密处理还可以 响应于从路径55接收到的第一 IV。使用第一 IV在原则上是可选的 但是如果在使用IV的处理器10中由互补的第 一加密处理产生了第一 加密的数据,则应该使用第一IV。如果加密第一IV,则以在附图中 未示出的某种方式解密其。
加密器61接收来自路径12的第二加密的数据,接收来自路径 53的第二解密密钥,并对第二加密的数据应用第二解密处理以产生沿 着路径63的非所选数据。该非所选数据表示数据帧中未包括在所选 数据内的数据的至少一部分。第二解密处理响应于第二解密密钥且还可以响应于第二IV。如果使用第二IV,其是从控制数据获得的并沿 着路径65传递的。使用第二IV在原则上是可选的,但是如果在使用 第二 IV的处理器10中由互补的第二加密处理产生了第二加密的数 据,则应该使用第二 I v 。
装配器54装配所选数据和非所选数据到表示指定材料的数据帧 中。比如明文数据的其他数据也可以与所选数据和非所选数据一起结 合到数据帧中。
如图7所示的接收器15的实现类似于如图6所示的实现,但是 不同在于解密器61应用第二加密处理,该第二加密处理响应于从在 未由所选数据表示的控制数据中的信息获得或者导出的第二解密密 钥。第二解密密钥是从路径62接收的。
D.加密处理
1.综述
可以以多种方式执行第一和第二加密处理。可以以相同或以不同 的方式执行这两个处理。在用于加密活动画面的指定材料的系统实现 中,例如,效率较高的对称秘密密钥加密方法被用于执行第二加密处 理且效率较低的不对称公共密钥/私有密钥加密方法被用于执行第 一加密处理。对称密钥加密方法的一些实例包括高级加密标准(AES ) 块密码、数据加密标准(DES)的变型、由Lai和Massey提议的国 际数据加密算法(IDEA)、和以下将要描述的密码。不对称密钥加 密方法iiiL个实倒包括血Rivest、 Shamir和Adleman^44iU^ RSA蜜 码,以及由ElGamal提议的ElGamal密码。可以使用多种密码-密钥 分配和交换协议。通常可以考虑一般的考虑因素而选择合适的密钥分 配或者交换协议。
在优选的实现中,第一加密密钥是公共密钥且第一解密密钥是与
指定材料的意向接收方相关联的公共密钥/私有密钥对的私有密钥,且 第二加密密钥和第二解密密钥是与指定材料相关联的对称密钥。 一个
对称密钥可以用于指定材料的全部帧或者可以从如上所述和以下将 要描述的每个帧中的数据获得对称密钥的实例。在优选的实现中,第一加密/解密处理和有关密钥被称为是面向接收方的并且第二加密/解 密处理和有关密钥被称为是面向材料的。这反映在图1中,其示出处
理器3作为面向接收方的处理器且示出处理器4作为面向材料的处理 器。
可以用于执行第二加密处理的几个方法的描述如下。 2.基本实现
可以通过基本上任何可逆的变换来实现第二加密处理。 一种适当 类型的变转可以表示为 y =」'x (1)
其中」=&行和附列的矩阵;
%=待加密的数据帧中的非所选数据;且
y-通过加密处理产生的第二加密的数据。
互补的解密处理可以被表示为
x = n (2)
其中j"是矩阵」的逆矩阵。
以包括在有限域中的附个码元或元素的固定长度的a个分组的 行和列组织待加密的数据at的帧。a个分组中的每个是数据帧中的一 行且分组中附个码元中的每个在数据帧的各个列中。产生的加密的数 据y是如以下讨论的具有行和附列的数据帧。
以下实例假定每个码元是一字节数据,其中每个字节包括八位。
分ia的特定长复不是差键胜妁但是优i^Li^择甚至少和加密密钒一 样长,以使得通过随机猜测其各位的值而对第一加密的分组进行强力 密码分析攻击不比强力随机猜测用于加密该分组的密钥更容易。
等式1所示的变换的一个实现可以表示为
<formula>formula see original document page 17</formula>
其中々=数据at的帧中的行或者分组0; jc产数据a:的帧中的行或者分组/;
y产加密的数据r的帧中的行或者分组z;且
a,6,F非零矩阵系数。可以以要求的任意方式建立这些矩阵系数以及以下讨论的其他 矩阵系数的值,但是优选地通过响应于待加密的每帧数据的所选数据 的至少一部分而产生伪随机值的处理建立。这些值应该是非零的,以 保证加密矩阵j是可逆的。
等式3表示在下面讨论中被称为基本变换的变换。基本变换不加 密数据的第一行或者说分组x。。该分组对应于上述讨论的控制数据内 的所选数据,其是通过第一加密处理加密的。
在一个实现中,等式3中的每项是在8位有限域中定义的8位数 字。如果要求,可以使用更长的有限域,这将允许将矩阵应用于长于 8位的数据码元。有限域的使用允许通过对位数固定(在该实例中为 8位)的数据元素进行算术运算而实现变换而不必顾虑进位或算术下 溢和上溢。等式3所示的算术运算对于/=1,2可表示为
乂 = ". & + 6. h + c x0 = a. + (6 + c) x。 (4) 少2 =x2 + 6. x + c. = a. x2 + c. x[ + 6 (a x, + (6 + c). x0) =a. x2 + (6. a + c). a + 6 (6 + c). x。
该等式等效于在矩阵A的主对角线以下的三角矩阵的乘法,如
等式5所示。
少o -— 1000 (Tx0
乂+ c00 --.0
少20 .-0x2
6 (6. a + 。a 0x3
. 0
o—
等式5示出了表达式3仅是等式1所示的变换的特殊情况。表达 式3中的等式等效于假定系数a, 6, c全部是非零的满秩可逆矩阵变 换。表达式3中的变换仅是满足可逆特性的许多变换中的一个变换, 但是因为其能够通过3抽头线性滤波器实现而是吸引人的。该变换的 计算复杂度对于每个列是OW,这比整个矩阵都是非零系数的变换的 计算复杂度Or/^低得多。
能够以累进或递增方式将表达式3中实现的加密处理应用于数 据的行或者分组。输入数据的整个帧在能够开始加密处理之前不必是可用的。这使得减少储存用于加密的数据所需要的存储量或减少緩冲
延迟。相同优点适用于互补解密处理,其可以被表示为
A =少0
, (X 4乂—'-c.;c, J ^p. , (6)
a
假定系数a具有非零值,表达式6中的等式示出了表达式3的变换是可逆的;然而,重要的是保证系数6和c也是非零的,以使得每个解密的分组取决于先前分组的内容。这保证了未授权的接收方在不解密所有先前的分组的情况下不能解密分组。
3.替代性实现
通过颠倒在矩阵乘法运算中的项的顺序,能够分别从等式1和2所示的变换荻得可以用于实现第二加密处理和它的互补的第二解密处理的可选的基本变换和可选的基本逆变换。不在这里详细地讨论这些可选的变换。通过颠倒矩阵乘法运算中项的顺序、转置矩阵、交换行和列向量、以及互换对行和列的引用,可以直接从基本变换的讨论获得它们的实现的细节。
上述讨论的基本变换的实现和以下讨论的附加特征的变型对应于将系数的矩阵A乘以待加密的数据X的帧的算术处理。查看表达式3示出的等式显示出,独立于对于其他列的算术运算而执行对于数据X的帧或者数据y的帧的每列的算术运算。能够使用以下讨论的一个或多个特征改进通过基本变换提供的安全性级别。
如果如上所述的可选的基本变换或者具有附加特征的变型用于实现第二加密处理,则该实现对应于将待加密的数据AT的帧乘以系数的矩阵j的算术处理。独立于对于其他行的算术运算而执行对于数据
A:的帧或者数据y的帧的每行的算术运算。能够通过使用以下讨论的
一个或多个特征的合适的变型来改进由该可选的基本变换提供的安全性级别,所述一个或多个特征是能够通过互换对行和列的引用和进行如上所述的其他改变而从以下讨论推导出的。
总的来说在下面的讨论中考虑矩阵运算或者各种算术运算来涉择的实现的方便的方式且不意在暗示其中必须实现该变换的任何特定的方式。其他方式是可能的,比如通过如上所述的多抽头滤波器的应用。
")胂场在
其中可以实现作为选择的实现的一个方式是通过执行除基本变换的应用之外的各种操作将附加特征并入加密处理中。这些附加特征可以用于^C此组合。
(1)列置换
可以通过改变或者置换加密变换中的列的顺序来增加由基本变换提供的安全性级别。这可以通过以下解释的多种方式进行。该用于导出顺序的方法或功能可以具有影响加密处理的总体安全性的实际的意义,但是原则上没有哪种特定的方法是必需的。可能的方法描述如下。
一个特征在将其应用到待加密的数据X的帧之前重新排列变换
矩阵j的列。可以以附z个可能的顺序或置换中的任何一个排列矩阵
的附个列。顺序是由上述控制数据的至少一部分指定的。在一个实现
中,置换顺序是从来自数据帧的所选数据中的第一分组或者说行JC。
获得的,如以下公式表示
H^X^i^XoJ)] for OS/<A:, 0^.<w (7a)
其中^卩,力=行Z和列中的矩阵A的系数;
F(x。,/)-对于列/ 的置换的爿根据该记号,F(x。,力表示移位到列的初始列的索引号。
列置换可以是取决于行的,在于可以允许它们在矩阵的行与行之间是不同的。这基本上可以以取决于行号的任意方式进行。 一个方式通过对于每行调用置换函数F不同次数来实现该结果。置换函数的每个后续调用对由先前调用获得的置换结果执行它的置换处理。在一个实例中,以等于行号的次数调用置换函数,这能够被表示为
才[/, _/■] = ^ [/, F (x。,力]for 0《/ < A:, 0《y' < A: (7b)0」炎凝为、逸
另一特征在应用变换矩阵到待加密的数据之前或之后重新排列
数据的列。当和上述表达式3的基本变换一起使用时,通过在应用基
本变换之前重新排列非所选数据jv:的列或者在应用基本变换之后重 新排列加密的数据y的列,可以实现相同结果。
可以以/w.'个可能的顺序或置换中的任意一个排列数据的w个 列。顺序是由上述控制数据的至少一部分指定的。在对于数据AT的帧
的列置换的一个实现中,例如,从来自数据帧的所选数据中的第一分
组或者说行x。得出置换顺序,如以下等式表示的
JT[/,力=X[/,F(x0,for 1《,'< A:, 0 S_/ < w (8a) 其中Z[/,y]=数据AT的帧的行/中的数据的字节力 F(x。,y)-对于列y的置换的列号;和
JT[/,y]-置换之后的数据X的帧的行/中的数据的字节y。 列置换可以是取决于行的,在于可以允许它们在行与行之间是不 同的。这基本上可以以取决于行号的任意方式进行。 一个方式通过对 于每行调用置换函数F不同次数来实现该结果。置换函数的每次后续 调用对由先前调用获得的置换结果执行它的置换处理。在用于待加密 的数据X的一个实例中,以等于行号的次数调用置换函数,这能够被
表示为
义'[/, y] = X [/, F' (x。 , /)] for 1 a < A:, 0 S _/ < w (8b)
(2)行置换
可以在加密变换中通过改变或者置换行的顺序来增加由基本变 换提供的安全性级别。这可以通过以下解释的多种方式进行。该用于 得出顺序的方法或功能可以具有影响加密处理的总体安全性的实际 的意义,但是原则上没有哪种特定的方法是必需的。可能的方法描述
一个特征在应用变换矩阵之前重新排列数据AT的帧中的数据的 行。优选地,第一行不移位。待加密的数据的行置换可以表示为Z'[/,_/] = Z[G(x。,0J] for "/d, 0《_/<w (9)
其中义'[/,_/]=置换之后的数据1的帧的行/中数据的字节且 G(x。,!,对于^f亍/的置换的行号。
根据该记号,G(x。,/)表示移位到行/的初始行的索引号。
行置换可以是取决于列的,在于可以允许它们在列和列之间是不 同的。这基本上可以以取决于列号的任意方式进行。 一个方式通过对 于每列调用置换函数G不同次数来实现该结果。置换函数的每次后续 调用对由先前调用获得的置换结果执行它的置换处理。在一个实例
中,以等于列号加一的次数调用置换函数,这能够被表示为
Z'卩,7]-y[G川(Xo,,'),j'] for l^/</t,<m (10) 0) >密#炎拔^为、逸
另一特征重新排列加密的数据的行的顺序。这可以通过置换变换
矩阵爿的行或者通过在应用变换矩阵之后置换加密的数椐y的帧中的 加密的数据的行来实现。在变换矩阵中的行的置换可以被表示为
v4'[/'/]"[G(jc0,,'),y] for W<yt, 0",</ (lla)
其中,[/,/]=置换之后的行/和列y中的矩阵^的系数;和
G(x。,/h对于^亍/的置换的行号。
该加密的数据y的行的置换可以被表示为
r[/,_/] = ;r[G(jc。,/),7] for osy〈附 (lib)
其中7'[/,/]=在置换之后行/和列/ 中的加密的数据。 可以允许行置换在列和列之间是不同的,这基本上可以以取决于 列号的任意方式进行。 一个方式是上述的结合等式10。该用于变换矩 阵j和加密的数据r的行置换的方法能够被表示为
^'[,》XG"'(;Co,,'),_/] for lS/<ifc, 0^.<w (12a) r[^']-r[G川(x。 ,/),_/] for <A:, 0^'<附 (12b)
(3)列置换和行置换
另一特征使用一个或多个类型的行和列置换。如果需要,能够在 应用变换矩阵之前和之后置换行和/或列。此外,取决于行的和与行无 关的列置换的任何组合可以与取决于列的和与列无关的行置换一起使用,但是其中进行置换的顺序是重要的。在解密期间,以相反的顺 序执行互补的逆置换。
(4) 一维动态系数
另一特征修改基本变换矩阵j的系数",6和c,以使得不同组 的系数用于每行。通过该特征,表达式3示出的等式能够重写为
joy =x0j for 0^_/<w
乂. y = a, x, y + 6,.. jv,—i y. + c,. a—j) for 1《/ < a:, 0《_/ < m 其中jc。,广数据X的帧的行0中数据的字节六 jaV:数据AT的帧的行/中数据的字节 》广加密的数据F的帧的行/中数据的字节_/ ;且 fl〃 c产用于行/的变换的矩阵系数。
类似表达式3中的等式,表达式13中的等式以可以被表示为如
等式14所示的矩阵乘法。
、。] 「i o o
少2 "夂+Ci) V^"2 "2
_… … …
优选地,这些系数是以使得在不访问控制数据的情况下使得系数 值难以预测的方式从控制数据的至少一部分得出的。在一种实现中,
这些系数是从来自数据帧的所选数据中的第 一行a:。得出的。尽管该用
于得出系数的方法或功能的选择可以具有影响加密处理的总体安全 性的实际的意义,但是原则上没有哪种特定的方法是必需的。可能的 方法描述如下。因为系数仅在一维中变化,该特征被称为一维动态系 数。
该一维动态系数技术还可以用于和上述的任意列和行置换技术结合。
(5) 二维动态系数
另一特征以取决于行的和取决于列的方式改变变换矩阵系数。可 以进行的一种方式是对于一维动态系数产生如上所述的取决于行的
0- o-X。-
0 0、
0 ,-04 .0、
. 0
' 0--、-
(14)系数,产生其值是取决于列的第二组系数d, C和/,并且将这些取决
于列的系数乘以取决于行的系数。通过该特征,表达式3或者表达式 13示出的等式能够重写为
=xo,) for 0 S j. < w

:y = a,.《 《y + 6,.. ~ ' + c,. ■ /y. x,.一 ; for 1 S / < A:, 0《_/ < w
(15)
其中,《,力,力-用于列y的变换的取决于列的矩阵系数。 如果取决于列和取决于行的系数都不是零,则该变换是可逆的。这是 变换可逆的充分条件而不是必要条件。
表达式15中的等式可以被表示为使用在这里被称为动态矩阵的 数据结构的矩阵乘法。动态矩阵中的系数具有对于执行以产生数据r 的帧的不同行和/或列中的加密的数据的算术运算而改变的值。例如,
在等式15的动态矩阵中的系数被以以下两个表达式示出
剩=
A ~ + & 力 a, 《■
62 .e」62 -e; .c^ ■《.+c2.
63.~ .62.~ .(6, 。■ +c, /》63 ■ .a, 《■ +c2 /》
(16)
冲,3,…("1)卜
0 0
0 0
fl" 0
63 e, o2.《+ c3. a3.《■
(17)
其中^{0}=用于在数据Y的帧的列集合{0}中产生加密的数据的矩阵 ^的系数。
可以以多种方式实现由动态矩阵表示的变换。该变换可以实现为 使用从一组矩阵{^}选出的矩阵的与数据X的帧的矩阵乘法。也可以 通过使用从一组滤波器选出的多抽头滤波器,而将滤波器应用于数据
AT的帧来实现该变换。基于在数据y的帧中产生的第二加密的数据的
行和/或列动态地选择该矩阵或者滤波器。在通过矩阵乘法的实现的公 开中进行更具体的陈述。
例如,由表达式15表示的变换可以由4吏用从如表达式16和17 所示的一组两个矩阵选出的矩阵的矩阵乘法实现。这两个矩阵中合适的一个被选为对于数据y的帧产生该数据列的函数。在该特定的实例
中,当对于列0或l产生加密的数据时选择表达式16中示出的矩阵, 并且当对于数据Y的帧中全部其他列产生加密的数据时选择表达式 17中所示的矩阵。
优选地,该取决于行的系数和取决于列的系数是以使得在不访问 控制数据的情况下难以预测系数值的方式从控制数据的至少一部分 得出的。在一种实现中,该系数是从来自数据帧的所选数据中的第一 行jc。得出的。尽管该用于得出系数的方法或功能的选择可以具有影响 加密处理的总体安全性的实际的意义,但是原则上没有哪种特定的方 法是必需的。可能的方法描述如下。因为产生的矩阵的系数二维地变 化,所以该特征被称为二维动态系数。
该二维动态系数技术还可以和上述的任意列和行置换技术结合
地使用。
(6)防止零字节
如果在数据X的帧中的数据的一个或多个行中的所有字节都具 有零值或者具有相同的值,那么可能损害由第二加密处理提供的安全 性级别。通过添加非零项到变换等式,该情况出现的概率能够被减小 到基本上是零。该特征在这里被称为防止零字节防止,因为对于零比 对于任意其它值更可能发生重复的值。在等式18和19中示出了两个 不同的方式,其可以用于实现用于表达式15的变换中的防止零字节 技术
少,;=《.《 A j + 6,.勺.y + c,.力 x,_w + g,.. ~ for 1《/ < 0 S / < m (18) 少"= 《.""+ g, A ) + 6, e乂'少,—,,y + c,. /乂 x,一,乂 for 1 ^ < /c, 0《_/ <附(19)
其中g尸取决于行的非零系数;且
~=取决于列的非零系数。 如果需要,能够添加更多非零的项。仅一个非零项的添加表示在变换 被应用于具有相同值的字节的行的概率的减少量和实现该技术需要
的计算资源之间的平衡。
以上示出的该两个防止零字节技术在数学上等效于添加防止零字节的动态矩阵5到变换中的运算,如下
y"-Z + s (20) 其中动态矩阵5是
对于等式18, ^
l
V, . g々/+ M)+M

(21)
对于等式19, s
6,乂 a!《.gA. + fl^.g^.
(22)
其中5{/}=列y中矩阵5的系数。
尽管对于矩阵^中系数值的表达式和防止零的动态矩阵丑对于 全部行和列保持相同,但系数的实际的值在行与行之间和列和列之间 是不同的,因为这些值是从上述讨论的二维动态系数技术得出的。
如果要求,通过设置取决于列的系数j, e和/等于i,防止零字
节技术能够使用比如上述的用于一维动态系数技术的静态矩阵。通过
设置系数a, 6和c为不在行和行之间不同的值,能够和基本变换一 起使用该防止零字节技术。 (7)初始化向量
上述的置换和动态系数技术的优选的实现响应于从控制数据中 的信息获得或者得出的数据而控制系数的置换和修改。在 一 种实现 中,使用帧的第一行x。中的数据。如果使用的数据对于不同数据帧是 恒定或者可预测的,那么产生的置换顺序和系数修改也是可预测的, 这将降低第二加密处理提供的安全性级别。
通过使用将不可预测的数字或者初始化向量(IV)引入用于获得 置换顺序或者动态系数的方法中的特征,能够基本上消除该情况。使 用IV及比如第一行数据x。的其他数据。IV与优选的实现中的指定材 料相关联,但是其能够与比如意向接收方的一些其它的元素相关联。 使用的任何IV包括在控制数据中且通过第一加密处理加密。当加密帧序列时能够偶尔地改变IV。如果不能从已经在信号中 的其它数据预测或确定IV的新值的存在,则能够通过某些另外的数 据指示IV中的变化,这些另外的数据被包括在第一加密的数据或者
第二加密的数据中或与笫一加密的数据或者第二加密的数据相关联。
如果需要,能够对于每帧数据使用不同的IV。新值可以是可预测的或
者不可预测的。可以产生可预测的值的一个方式是以可预测的或者指
定的方式从一个帧到下一个帧修改IV。例如,对于每个连续的帧,IV
能够被增加固定的量,或者将其增加从控制数据获得的量。
尽管该用于获得IV的方法或功能的选择可以具有影响加密处理
的总体安全性的实际的意义,但是原则上没有哪种特定的方法是必需 的。可能的方法描述如下。
w初始必
使用列和行置换和动态系数的优选的实现响应于从数据帧中的
所选数据,比如来自第一行数据a:。的数据得出的初始化数据控制置换 的行和列的顺序和动态系数的值。如果初始化数据的每位的值取决于 所选数据中每位的值,则能够增强第二加密处理的安全性。通过使用 具有某些链式机制,比如密码块链式(CBC)的块密码能够实现。该 加密模式在加密当前块之前,在当前数据块和先前数据块的加密结果 之间执行异或(XOR)。
在一种实现中,第一行数据x。被划分为数据块Po, Pn P2,…Ps。 依次将块密码应用于每个块。从块密码获得的加密的数据块Co, d, C2, ...Cs表示能够用于计算IV或者初始化上述讨论到的置换和动态
系数技术的二进制数据的伪随机流。如果初始化需要比行jc。的长度长
的位流,则密码能够回绕到行的开头并通过从行的末尾使用加密的块 Cs来在再次加密第一数据块P。之前XOR第一数据块P。,而继续它 的处理。第一数据块P。的初始的加密能够使用从第一行数据w的全 部或任意部分得出的IV、加密密钥或者两者。许多变化是可能的。没 有哪种特定的技术是关键性的。
如果需要,密码能够在产生初始化数据之前在第一行xfl中进行初始通过所有的数据块P。, Pp P2, ...Ps。在一种实现中,从初始化
通过获得的初始的一組加密的数据块C。, d, C2,…Cs用于代替第 一行数据;ctf。
特别关心的是需要动态系数技术,因为如果某些系数是零则产生 的变换可能不是可逆的。通过从初始化数据省略全部零值的字节能够 避免该问题。实现该技术的一个方式是检查伪随机流中的每个字节并 只有当其具有非零值才将该字节插入初始化数据中的过程。
能够以多种方式产生该由列和行置换技术使用的置换的顺序。优 选地,该置换的顺序基于从笫一行数据x。得出的信息。有效率的和统 计上不偏的一个方式通过在值的单调减少的范围内产生伪随机数以 指定按一 系列数字顺序的重新排列来产生置换的顺序。
例如,可以通过构造列号的阵列CX和以某些随机方式重新排列 号码的顺序的处理来产生列的置换的顺序。该阵列具有编号从0到 附-J的附个元素,并被初始化以使得每个阵列元素CX[/]记录数字/。 该处理从第 一行数据jc。开始迭代地得出 一 系列伪随机数A^/V2,...A^, 使用比如如上所述的CBC技术的某些技术。在第一迭代期间产生的 数字7V,具有局限于从0直到并包括m-7的范围内的值。每次连续迭 代的数字被限制在稳定地减少的范围内。如果码元及表示迭代数字, 从第及次迭代开始的伪随机数A^被限制在可以被表示为02V"Z附-及 的范围内。例如,由第一迭代产生的数字iV/的范围是O^VS/M-L且 由最后或第附次迭代产生的数字A^的范围是0^VW^)。如果需要, 对于最后迭代的数字A^能够被设置为等于零,而不得出伪随机数。 通过在阵列CX中重新排列元素来产生置换的顺序。对于每次迭代, 记录在阵列元素CX[w-及中的值和记录在阵列元素CX[iV及中的值交 换。在完成最后迭代的情况下,对于/=0到附-/的阵列元素CX[/的 序列以从第 一行数据;c。得出的置换顺序记录列号。
相同的技术可以用于以元素的阵列RX[/产生行的置换的顺序。 对于从及=魟7运行到1的迭代产生伪随机数7Vw,具有限制在可以表 示为1《V/^/^R范围内的值。在完成最后迭代的情况下,对于/=1到魟7的阵列元素RX[/的序列以从第一行数据x。获得的置换的顺序记 录行号。
初始化向量能够是基本上从任何要求的源,比如由伪随机数发生 器产生的数字的伪随机流获得的。 一个简单的过程使用伪随机流的开 始作为IV。如果IV是128位长,例如,其能够是从伪随机流的第一 个128位获得的。
这里提到的特定实现和过程仅是可以执行初始化的方式的实例。 实质上可以使用能够产生伪随机数据的任何技术。
^ /f/七^增强f换
现在将描述在这里被称为简化的增强变换(SET)的具有动态矩 阵的具体变换。该SET是通过置换矩阵系数和随机化待加密的非所选 数据的特征增强的基本变换的变型,其使用由从如上所述的第一数据 行x。得出的二进制数据伪随机流初始化的处理。该SET是高效的并 对于许多应用提供良好的安全性级别。
该SET可以纟皮表示为如表达式23所示的
1 =x" for 0《_/ < w (23) X ■/ = .x'' 乂 for 1《f < A, 0 S _/ < ot
其中、=从数据行xo得出的二进制数据的伪随机流; (24a)
";,=",,^,"=取决于行的列移位的矩阵系数; (24b) 《==取决于列的行移位的矩阵系数; (24c) (=、+=随机化的待加密的非所选数据。 (24d) 优选的,表示为《的二进制数据的伪随机流是从应用于第 一数据行 x。的CBC处理的初始传递得出的。该矩阵系数"'和f应该具有非零 的值。
记号及(7V,W表示置换系数a的顺序的函数。记号5Y/,y,附)表示置 换系数d的顺序的函数。记号尸(7,y,/^表示置换在第一数据行x。中的 块的顺序的函数。
如上所述的置换函数可以被实现为如以下表达式所示的
= —ra(y)) mod A; (25)
51 (/, _/, ;w) = (y — rd (/)) mod /w (26) ■尸(/, w) = (_/ — rx (0) mod w (27) 其中ra(/'"用于0和之间的整数的伪随机映射函数;
rd(/^用于在0和w-7之间的整数的伪随机映射函数; rx(Z"用于在0和w-7之间的整数的伪随机映射函数;和 mod n-返回在0和之间的非负数字的模运算符。 在优选的实现中,对于每帧数据计算每个映射函数ra(/'), rd(/) 和rx(/)的值一次。可以从由伪随机数发生器或者由如上所述的CBC 初始化处理产生的数字实现映射函数。
优选地,映射函数ra(/), rd(/)和rx(/)被实现为在输出范围0到 魟7和0到附-7中一次地并对于每帧非所选数据仅一次地产生每个整 数的置换函数。如果这些映射函数被实现为置换函数,则系数《'是取 决于行的列置换的矩阵系数并且系数f是取决于列的行置换的矩阵 系数。
用于如上所述的伪随机映射函数的输出范围通常是优选的。可以 使用不同的输出范围但是可能损害由产生的SET提供的安全性级别。
在表达式24d中的加(+ )运算符表示在从第一数据行x。得出的
二进制数据的伪随机流的置换和剩余行的数据中非所选数据的块之
间的XOR操作。可以通过循环移位实现该置换,其将伪随机流旋转
对于非所选数据的每行改变的多个字节或者位。如果需要,能够预先 计算和存储一些或者全部需要的旋转量用于在加密处理期间使用。
如果需要,可选的SET可以用于实现该第二加密处理。该可选 的SET可以是通过调换以上等式所示的系数"'和W,切换行和列向 量,和互换对行和列的引用而从SET得出的。
力麥码密訪
上述的一些技术可以使用响应于加密密钥和IV两者的第二加密 处理。可以将该IV本身视为一种类型的加密密钥。如果需要,上述 用于产生IV或者其他初始化数据的技术可以用于产生加密密钥。用 这样的方式获得的加密密钥是面向材料的密钥。其可用于加密数据帧 中的其余数据的全部或者至少一部分。通过第一加密处理加密该IV并将其包括在第一加密的数据中。该方法的一个优点在于其提供分配
接收器15得出用于第二解密处理的解密密钥所需要的数据的简单的 方法。
如果需要,相同的加密算法可以用于第一和第二加密处理且相同 的解密处理可以用于第一和第二解密处理。实质上可以使用任何算 法,但是比如AES或者DES的对称密钥算法是方便的选择,因为简 化了密钥分配。如果不对称密钥的算法用于第一加密处理,则需要一 种方法来分配适当的解密密钥。在一种分配方法中,处理器10得出 适当的解密密钥并将其包括在通过第一加密处理加密的控制数据中。
E.解密处理
1. 综述
可以以多种方式执行用于解密第一和第二加密的数据的第一和 第二解密处理,但是它们应该是用于产生加密的数据的各个第一和第 二加密处理的逆处理。在下面段落中讨论适于解密通过上述的基本变 换产生的数据的处理的实例。
2. 基本实现
可以通过与用于产生该第二加密的数据的变换相反的任何适当 的变换实现第二解密处理。在上面等式2中示出了实例。上面在等式 6中示出的基本逆变换适于用于采用表达式3的基本变换的系统的接 收器15。
3. 替代性的实现
如果第二加密处理使用表达式3的基本变换且包括任意上述附 加特征,则以下讨论的相应的相反特征应该是由表达式6的基本逆变 换使用的。
具有和没有上述附加特征的基本逆变换的实现对应于将系数的 矩阵^"乘以待解密的数据r的帧的算术处理。表达式6示出的等式 的检查显示独立于对于其他列的算术运算执行对于数据F的帧或者数 据X的帧的每列的算术运算。能够通过使用以下讨论的一个或多个特 征改进安全性级别。如果第二加密处理使用替代的基本变换或者具有如上所述的附 加特征的一些变型,则该解密处理应该使用替代的基本逆变换或者其
适当的变型。适当的逆变换的实现对应于将待解密的数据y的帧乘以 系数的矩阵j"的算术处理。独立于对于其他行的算术运算而执行对 于数据y的帧或者数据x的帧的每行的算术运算。如果第二加密处理 也包括上述附加特征的适当的变型,则应该将相应的相反特征并入该 解密处理中。该相应的相反特征可以是从通过互换对行和列的引用和 进行如上所述的其它改变的以下讨论中得出的。
在下面的讨论中关于矩阵运算或者各种算术运算来涉及反变换 的应用,其中系数矩阵以行和列排列。正像对于加密处理的讨论,这 些引用是描述替代的实现的方便的方式且不意在暗指其中必须实现 该逆变换的任何特定的方式。其他实现的方法是可能的,比如对待解 密的数据y的帧应用一个或多个多抽头滤波器。
^ ^它逆挣在
对上述讨论的附加特4正互补的特征在这里被称为逆特征,可以通 过除以下解释的基本逆变换的应用之外的各种操作来实现其。
(1) 列和行置换
一些逆特征重新排列逆矩阵^"的列、行或者列和行两者,并以 与在第二加密处理中进行的相反的方式重新排列加密的数据f或者解 密的数据x。这被称为逆置换。如果在变换矩阵的应用之前执行了置 换,则在逆变换矩阵的应用之后执行相应的逆置换。如果在变换矩阵 的应用之后执行了置换,则在逆变换矩阵的应用之前执行相应的逆置 换。
(2) 动态系数
其他逆特征修改逆矩阵的系数以使得其保存用于加密数据的矩 阵的逆。可以根据上述的一维的或者二维动态系数技术采用该系数。
具有二维动态系数的逆变换可以被实现为具有动态矩阵的矩阵 乘法,其中适当的矩阵是从一组逆矩阵^-"中选择的。该组逆矩阵中 的每个矩阵是在表示第二加密变换的一组矩阵{^4}中各个矩阵的逆。如果需要,还可以通过应用一组多抽头滤波器来实现逆变换,其中每 个滤波器是在表示第二加密变换的一组滤波器中各个滤波器的逆。
(3) 防止零字节
另 一逆特征是上述防止零字节技术的逆技术。该逆技术在数学上
与从如下的逆变换减去防止零动态矩阵B的运算等效
义二v4-、(y—s)二z一.;r—^画'.5二乂—、y—5—1 (28)
其中5"表示逆的防止零的动态矩阵。
动态矩阵5和它的逆5"取决于如上述和等式21和22中所示所 使用的防止零字节技术的特定实现。如果需要,能够如下计算逆动志 矩阵
s、d (29)
(4) 初始jb向量
上述的置换和动态系数技术的优选实现响应于从控制数据中的 信息获得或者得出的数据而控制系数的置换和修改。通过第一加密处 理加密该控制数据并将其包括在第 一加密的数据中。逆置换和逆动态 系数技术响应于通过解密第一加密的数据获得的相同的数据来控制 它们的运算。需要的任何IV被包括在第一加密的数据中。
W初始^
在第二解密处理中的逆特征的实现能够从由第二加密处理中的
互补的特征使用的相同的初始化数据初始化它们的运算。可以以和用 于加密的得出方式同样的方式得出该初始化数据。用于该得出步骤的 全部所需数据能够被包括在第一加密的数据中。
如果该SET用于执行第二加密处理,则通过在这里,皮称为逆的 简化的增强变换(ISET)的逆变换实现第二解密处理。该ISET是由 置换矩阵系数和去随机化非所选数据的特征增强的基本逆变换的变 型。
该ISET可以被表示为表达式30所示的, 少,, (30)
jc; , = w for 1兰/ < /t, 0 S j. < w 、'
其中、=x。 + x;(" m)=解密之后的非所选数据。 (31)
在表达式31中的加(+ )运算符表示在从第一数据行X。得出的 二进制数据的伪随机流的置换和剩余行的数据中非所选数据的加密
的块之间的XOR运算。可以通过循环移位实现该置换,其将伪随机
流旋转对于非所选数据的每个行改变的多个字节或者位。如果需要, 能够预先计算和存储一些或者全部需要的旋转量用于在解密处理期 间使用。
如果第二加密处理使用上述讨论的替代的SET,则相应的替代 的ISET应该用于第二解密处理。替代的ISET可以是通过转置由表 达式30中示出的矩阵系数表示的矩阵、切换行和列向量、和互换对 行和列的引用而从ISET得出的。
力密码密韵
接收器15可以以可能要求的基本上任何方式获得全部需要的解 密密钥。在优选的实现中,从通过解密第一加密的数据恢复的控制数 据获得或得出第二解密密钥。可以以任何要求的方式分配解密第一加 密的数据需要的第一解密密钥。例如,如果第一解密密钥是意向接收 方的与该接收方相关联的公共密钥/私有密钥对中的私有密钥,则公 共密钥将用于产生第一加密的数据且私有密钥能够由加密该数据的 实体创建并通过除第一加密的数据的分配以外的一些安全方法被分 配给接收方。相反地,能够由接收方创建密钥对并将公共密钥提供到 加密数据的实体。后一种方法的优点在于不需要安全的信道来分配公 共密钥。
F.实现
可以以包括用于由计算机或者一些其它装置执行的软件的多种 方式实现包括本发明的各种方面的装置,该装置包括更专业化的部 件,比如耦合到类似于在通用目的计算机中建立的部件的数字信号处 理器电路。图8是可以用于实现本发明的各种方面的装置70的示意性框图。处理器72提供计算资源。RAM73是由处理器72使用用于 进行处理的系统随机存取存储器(RAM) 。 ROM 74表示用于存储操 作装置70需要的且可能用于执行本发明的各种方面的程序的某种形 式的持久存储器,比如只读存储器(ROM) 。 1/0控制75表示通过 通信信道76、 77接收和发送信号的接口电路。在所示的实施例中, 全部主系统部件连接到总线71,其可以表示多于一个物理或者逻辑总 线;但是,总线体系结构不是实现本发明必需的。
在由通用目的计算机系统实现的实施例中,可以包括另外的部件 用于接口连接比如键盘或者鼠标和显示器的装置,并用于控制具有比 如磁带或者盘,或者光学介质的存储介质的存储装置78。该存储介质 可以用于记录用于操作系统、公用程序和应用程序的指令的程序,且 可以包括实现本发明的各种方面的程序。
能够由以包括离散的逻辑部件、集成电路、 一个或多个ASIC和 /或程序控制的处理器的多种方式实现的部件执行实践本发明的方面 需要的功能。其中实现这些部件的方式对本发明来说不重要。
可以通过多种才几器可读的介质传送本发明的软件实现,比如从超 声波到紫外线频率的整个频镨上的基带或者调制的通信路径,或者使 用基本上任何记录技术传送信息的存储介质,包括磁带、卡或者盘、 光卡或者光盘,和在包括纸张的介质上的可检测的标记。
权利要求
1. 一种编码方法,其包括接收传送数据的一个或多个信号,该数据或者识别或者传送表示意在用于人感知的刺激的指定材料;获得第一加密密钥;获得控制数据,该控制数据包括数据帧中的所选数据以及表示与指定材料相关联并且与第一加密密钥不同的第二加密密钥的信息,其中,所述所选数据表示指定材料的至少一部分且少于数据帧中的全部数据;应用第一加密处理到控制数据以产生第一加密的数据,其中,该第一加密处理响应于第一加密密钥;和将第一加密的数据组装到第一编码的信号中以传递到接收方,以用于获得用于解密第二加密的数据的解密密钥,该第二加密的数据表示未包括在所选数据中的数据帧中的非所选数据的加密形式。
2. 根据权利要求1的编码方法,其包括应用第二加密处理到非所 选数据以产生第二加密的数据,其中,该第二加密处理响应于第二加 密密钥。
3. 根据权利要求2的编码方法,其中,该非所选数据包括码元, 该第二加密处理包括将非所选数据的码元乘以系数的算术运算,其中码元按行和列排列,且独立于对于其他列的算术运算而执行对于每列 的算术运算,或独立于对于其他行的算术运算而执行对于每行的算术运算。
4. 根据权利要求3的编码方法,其中,该所选数据包括表示第二 加密密钥的信息。
5. 根据权利要求2到4中任何一个的编码方法,其包括将第二加 密的数据组装到第一编码的信号中。
6. 根据权利要求2到4中任何一个的编码方法,其包括将第二加 密的数据组装到第二编码的信号中。
7. 根据权利要求6的编码方法,其包括 沿着第一分配路径向接收方分配所述第一编码的信号;和 沿着第二分配路径向接收方分配所述第二编码的信号。
8. 根据权利要求7的编码方法,其中,所述第一加密密钥是与所述指定材料的意向接收方相关联的; 所述第 一分配路径是促进到所述意向接收方的分配的面向接收方的分配网络的一部分;和所述第二分配路径是促进到多个接收方的分配的面向材料的分配网络的一部分。
9. 根据权利要求8的编码方法,其中,该面向材料的分配网络是 对等网络。
10. 根据权利要求2到9的任何一个的编码方法,其中,在第一 计算机系统上执行所述第 一加密处理以产生所述第 一加密的数据,并 在第二计算机系统上执行所述第二加密处理以产生所述第二加密的数据。
11. 根据权利要求2到IO的任何一个的编码方法,其中,将所述 第二加密处理递增地应用于部分的非所选数据从而以累进的方式产 生第二加密的数据。
12. 根据权利要求3到10的任何一个的编码方法,其中,该算术运算将码元的行和列乘以动态矩阵中的系数;和 通过响应于相乘的码元的行或列而从一组矩阵选择系数矩阵的 处理来实现该动态矩阵。
13. 根据权利要求3到11的任何一个的编码方法,其中,该第二 加密处理进一步包括响应于控制数据的列的置换。
14. 根据权利要求13的编码方法,其中,所述列的置换在各行之 间是不同的。
15. 根据权利要求3到11的任何一个的编码方法,其中,该第二 加密处理进一步包括在乘以所述系数之前响应于所述控制数据的行 的置换。
16. 根据权利要求15的编码方法,其中,所述行的置换在各列之 间是不同的。
17. 根据权利要求3到11的任何一个的编码方法,其中,该第二 加密处理进一步包括在乘以所述系数之后响应于所述控制数据的行 的置换。
18. 根据权利要求17的编码方法,其中,所述行的置换在各列之 间是不同的。
19. 根据权利要求3到11的任何一个的编码方法,其中,所述系 数以具有零值的系数的三角形阵列排列,以使得相乘等效于对码元的行或者列进行一个或多个滤波器的迭代应用。
20. 根据权利要求19的编码方法,其中,响应于所述控制数据对 于每行改变用于所述一个或多个滤波器的抽头的系数。
21. 根据权利要求19的编码方法,其中,响应于所述控制数据对 于每行和列改变用于所述一个或多个滤波器的抽头的系数。
22. 根据权利要求1到21的任何一个的编码方法,其中,所述第 一加密密钥是与指定材料的意向接收方相关联的。
23. —种解码方法,包括接收传送第一加密的数据的第一编码的信号,该第一加密的数据 表示包括数据帧中的所选数据的控制数据,其中,所述所选数据表示 指定材料的至少一部分,所述指定材料表示意在用于人感知的刺激, 且其中,所述所选数据少于数据帧中的全部数据;将第 一解密处理应用于第 一加密的数据以恢复所述控制数据,其中,该第一解密处理响应于第一解密密钥,且其中,该控制数据包括 表示与所述指定材料相关联且与第一解密密钥不同的第二解密密钥 的信息;将第二解密处理应用于第二加密的数据以恢复未包括在所选数 据中的数据帧中的非所选数据,其中,该第二解密处理响应于第二解 密密钥;和通过组装所选数据和非所选数据到数据帧中而产生表示所述指 定材料的至少一部分的信号。
24. 根据权利要求23的解码方法,包括将所述第二解密处理应用 于该第二加密的数据,其中,该第二解密处理包括将第二加密的数据乘以系数的算术运算,其中所述第二加密的数据以行和列排列,且独 立于对于其他列的算术运算而执行对于每列的算术运算,或独立于对于其他行的算术运算而执行对于每行的算术运算。
25. 根据权利要求24的解码方法,其中,该所选数据包括表示所述第二解密密钥的信息。
26. 根据权利要求23到25的任何一个的解码方法,包括从所述第一编码的信号获得所述第二加密的数据。
27. 根据权利要求23到25的任何一个的解码方法,包括从第二编码的信号获得所述第二加密的数据。
28. 根据权利要求27的解码方法,其包括从第一分配路径接收所述第一编码的信号;和从笫二分配路径接收所述第二编码的信号。
29. 根据权利要求28的解码方法,其中,所述第 一解密密钥是与所述指定材料的意向接收方相关联的;所述第一分配路径是促进到所述意向接收方的分配的面向接收方的分配网络的一部分;和所述第二分配路径是促进到多个接收方的分配的面向材料的分配网络的一部分。
30. 根据权利要求29的解码方法,其中,该面向材料的分配网络是对等网络。
31. 根据权利要求23到30的任何一个的解码方法,其中,将该第二解密处理递增地应用于部分的第二加密的数据从而以累进的方式产生非所选数据。
32. 根据权利要求24到31的任何一个的解码方法,其中,所述算术运算将第二加密的数据的行和列乘以动态矩阵中的系数;和通过响应于相乘的数据的行或列而从一组矩阵选择系数矩阵的处理来实现该动态矩阵。
33. 根据权利要求24到31的任何一个的解码方法,其中,该第二解密处理进一步包括响应于所述控制数据的列的置换。
34. 根据权利要求33的解码方法,其中,所述列的置换在各行之间是不同的。
35. 根据权利要求24到31的任何一个的解码方法,其中,所述第二解密处理进一步包括在乘以所述系数之前响应于所述控制数据的行的置换。
36. 根据权利要求35的解码方法,其中,该行的置换在各列之间是不同的。
37. 根据权利要求24到31的任何一个的解码方法,其中,该第二解密处理进一步包括在乘以该系数之后响应于控制数据的行的置换。
38. 根据权利要求37的解码方法,其中,该行的置换在各列之间是不同的。
39. 根据权利要求24到31的任何一个的解码方法,其中,所述系数以具有零值的系数的三角形阵列排列,以使得相乘等效于对加密的数据的行或者列进行一个或多个滤波器的迭代应用。
40. 根据权利要求39的解码方法,其中,响应于所述控制数据对于每行改变用于所述一个或多个滤波器的抽头的系数。
41. 根据权利要求39的解码方法,其中,响应于控制数据对于每个行和列改变用于所述一个或多个滤波器的抽头的系数。
42. 根据权利要求25到41的任何一个的解码方法,其中,该第一解密密钥是与所述指定材料的意向接收方相关联的。
43. —种包括执行如权利要求1到42的任何一个所述的方法的步骤的部件的设备。
44. 一种传送可由装置执行以实现根据权利要求1到42的任何一个所述的方法的指令的程序的介质。
全文摘要
加密表示图像和声音的数据帧的处理器,例如,使用第一加密处理加密包括来自数据帧的所选数据的控制数据并使用第二加密处理加密来自数据帧的非所选数据。第一加密处理响应于可以与数据帧的意向接收方相关联的密钥。第二加密处理响应于从控制数据获得或者得出的密钥。该加密的控制数据和加密的非所选数据可以使用分别的介质被传送给接收器。该接收器使用与第一和第二加密处理相反的解密处理恢复数据帧。公开了第二加密处理的高效实现方式。
文档编号H04L9/00GK101490999SQ200780026398
公开日2009年7月22日 申请日期2007年7月13日 优先权日2006年7月13日
发明者蒋文宇 申请人:杜比实验室特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1