《利用aes算法对数字电影加密的研究和软件实现》由会员分享,可在线阅读,更多相关《利用aes算法对数字电影加密的研究和软件实现(5页珍藏版)》请在金锄头文库上搜索。
1、2 7 4 一 第四届京、津、沪、渝反全国城市有线电视技术研讨会论文集 利用A E S 算法对数字电影加密的研究和软件实现 中国传媒大学信息工程学院袁 l g 摘要:电影诞生百年来对于版权的保护一直是电影工业的一个重饔环节。随着信息技术的爆炸性突破互联网的B 益普爰和 发展电影的盗版问题日益严重,电影特别是数宇化的电影的版权保护,越来越受到人们的重视。而在大的社会层面上。W e b 2 0 逐 渐成为人们热谈的话题网络正在不可逆转的成为大众的媒体。赢盯这样的共享平自爱们不应该也不可能去封杀和围堵而应渡 正确引导。 而目前加密系统又分为对称加密系统和公开密钥加密系统。对称加密系统最著名的是美国数
2、据加密标准D E S 、A E S ( 高级加 密标准) 和欧洲数据加密标准I D E A 。D E S 成为全世界使用最广泛的加密标准。但是经过2 0 多年的使用发现D E S 有很多不足 A E S 将成为新的加密标准。 本文升绍了当前的主流电影加密技术,提出了基于A E S 算法的电影加密方式并触述了在起基础上的一套运营模式。 美键词:A E SD E S 密钥 自从电影实现了数字放映之后,一百多年未曾改变的电影无论从影片的拍摄、制作、存储到放映技术都发 生了巨大的变化。尤其是电影影片的存储载体由传统胶片转变到硬盘、数字磁带及光盘上。影片载体的改变无 疑带来了很多优点:大大降低了电影制作
3、、发行成本,提高了画面的质量,无论放映多少场,观众都能够观看到 最好最新的画面。但同时,新的技术也使得盗版变得更加容易,盗版质量也得到提高。在影片的发行过程中,盗 版的可能性处处存在,于是对数字电影的加密,成为数字电影技术中一个重要的环节。表l 对照了胶片电影与 数字影片盗版产生的环节。 通过上表,我们可以看到,只要对数字电影进行加密,就可以防范盗版的发生。同时由于数字节目的发行可 以通过卫星传输也可以通过网络传输,这样也很容易发生盗版情况,如物理地取走数据库,在通讯线路上截取 数据信息等。对于这样的威胁,最有效的解决方法仍是数据加密,即以加密格式存储和传输电影节目。那么如何 对数字节目实施加
4、密呢? 以下是从原理上进行的初步分析和探讨 裹1 盔版产生环节胶片电影数字电影 洗印厂可产生人为盗版无 在后期制作部门,数字化的内容非常容易通过网络、光盘 后期编辑、缺作部门 无 等介质盗版。 传输过程容易发生盗版影片采取加密方式的,不容易发生蛊版。 在影院腔片不能赦有救地控制 影院影片采取加密方式的不容易发生盗版。 因而不能排除人为的盔牍发生。 枪版可能发生可能发生 管理相对容易但一且发生盎版 对每一个流通环节进行数字签名,在盗版发生时可以有 追踪管理效地追踪到盗版的源头。同时也可以有效地阻止电影发生 时缺乏有效地追踪、查源手臣。 渠道内部少数 员的非法复制行为。 1 数据加密原理和体制 在
5、计算机上实现的数据加密,其加密或解密变换是由密钥控制实现的。密钥( K e y 2w o r d ) 是用户按照一种 密码体制随机选取,它通常是一随机字符串,是控制明文和密文变换的唯一参数。密码技术除了提供信息的加 密解密外,还提供对信息来源的鉴别、保证信息的完整和不可否认等功能,而这三种功能都是通过数字签名实 第四届京、津、沪、渝反全国城市有线电视技术研讨会论文亲 2 7 5 现。数字签名的原理是将要传送的明文通过一种函数运算( H a s h ) 转换成报文摘要( 不同的明文对应不同的报文 摘要) ,报文摘要加密后与明文一起传送给接受方,接受方将接受的明文产生新的报文摘要与发送方的发来报
6、文摘要解密比较,比较结果一致表示明文未被改动,如果不一致表示明文已被篡改。 根据密钥类型不同将现代密码技术分为两类:一类是对称加密( 秘密钥匙加密) 系统,另一类是公开密钥加 密( 非对称加密) 系统。 1 1 对称密钥加密系统 对称密钥加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙 的秘密。对称密码系统的安全性依赖于以下两个因素。第一,加密算法必须是足够强的,仅仅基于密文本身去解 密信息在实践上是不可能的:第二,加密方法的安全性依赖于密钥的秘密性,而不是算法的秘密性,因此,我们 没有必要确保算法的秘密性,而需要保证密钥的秘密性。对称加密系统最著名的是美国
7、数据加密标准D E S 、A E S ( 高级加密标准) 和欧洲数据加密标准I D E A 。1 9 7 7 年美国国家标准局正式公布实施了美国的数据加密标准 D E S ,公开它的加密算法,并批准用于非机密单位和商业上的保密通信。随后D E S 成为全世界使用最广泛的加 密标准。加密与解密的密钥和流程是完全相同的,区别仅仅是加密与锯密使用的子密钥序列的施加顺序刚好相 反。但是,经过2 0 多年的使用,已经发现D E S 很多不足之处,对D E S 的破解方法也日趋有效。A E S 将会替代 D E S 成为新一代加密标准。 1 2 公开密钥加密系统 自公钥加密问世以来,学者们提出了许多种公钥
8、加密方法,它们的安全性都是基于复杂的数学难题。根据 所基于的数学难题来分类。有以下三类系统目前被认为是安全和有效的:大整数因子分解系统( 代表性的有 R S A ) 、椭圆曲线离散对数系统( E C C ) 和离散对数系统( 代表性的有D S A ) 等。 2 目前数字服务器对数字电影采用的加密方式 目前数字服务器生产厂商主要包括美国的A v i e a 、Q u v i s 和比利时的E V S 公司。 Q u v i s 公司的数字服务器采用其自己研制的Q P E 质量优先编码来对影片节目内容进行编码,编码后生成 的文件格式只有Q u b i t 本身才能够识别播放,因此Q u v i s
9、 公司认为这也相当于对影片进行了加密。从数据加密 的角度来看,一个完整的加密系统应该包括加密数据和密匙,而Q u b i t 数字服务器则只具有加密数据文件,并没 有密匙,任何人得到了Q u v i s 格式的节目文件,只需要有一台Q u b i t 数字服务器就可以进行盗版活动。从这个角 度来讲,Q u b i t 并不安全。数字电影巨大的数据量对加密系统的速度提出了非常高的要求,由于对称加密系统的 算法实现速度极快,从A E S 候选算法的测试结果看,软件实现的速度都达到了每秒数兆或数十兆比特,同时加 之此算法是公开的,可以大大降低开发成本,因此E V S 公司和A v i c a 公司都
10、采用了对称加密算法中的A E S 标准 算法。但是,虽然两个服务器厂家采用的都是A E $ 加密算法,但由于使用的版本和参数设置的不同,两种加密格 式目前是不能够相互兼容通用的。在E V S 和A v i c a 数字服务器中,对应于各个影院的每一台服务器,加密的影 片内容数据是相同的,但每台服务器的解密密匙是不同的。这样,只要保证密匙的安全传输,即使加密的数字节 目被盗走,节目还是不能够被随意播放和盗版。 3 本地链接加密系统 当数字电影刚开始发展时,人们就已经考虑到了物理接口上的安全性,即数字节目从数字服务器的视频输 出1 3 一端到数字放映机信号输入口这一段,数字节目是已经解完密的,是干
11、净的明文信号如果盗版在这一部 分发生的话,那么前面所有的加密工作岂不白做了吗? 因此对数字服务器输出口到数字放映机输人口这一段的 保护是非常重要的。最开始日本采用了纯物理的加密保护措施:将服务器的输出口用一个盒子锁起来,井将服 务器放在专门的设备室中由专人看守,虽然我们不能够否认这种做法可能确实能起一些作用,但考虑到各种实 际情况也包括人的因素在内,这显然不是绝对安全的。针对这种情况,数字芯片提供商德州仪器公司研制出了 - 2 7 6 - 第四届京、津、沪、渝及奎国城市有线电视技术研讨会论文集 ( C i n e l i n k ) 本地链接加密,这种加密方法是在数字服务器输出端口实时地对已经
12、解密的数字节目明文加入一些 干扰信号,对干扰信号的解密放在数字放映机,在放映过程中实时解密。这样从数字服务器中出来的信号即使 被截取了也是不能使用的。德州仪器公司无偿向各个服务器厂商提供本地链接加密软件规范,目前A v i c a 、E V S 服务器已经实现了本地链接加密。可以看到,在数字电影盗版最容易发生的后期制作室和放映输出接口,分别 采用了快速的A E S 加密算法和本地加密链接,只要保证密匙的安全,盗版的可能性便被大大降低。因而保证密 匙的安全成为防范盗版至关重要的一个环节。而做到这一点,就应该保证密匙在生成和传送时,必须和电影节 目分离。在影院经过身份认证后。密钥才可以使用。为此需
13、要一个独立的管理中心对密匙进行管理和分发,方能 确保数字电影的节目安全。 4 A E S ( 高级加密标准) 算法原理 4 1 A E S 算法结构总述 分组加密算法是由一种叫轮变换的函数通过多次迭代构成的,轮变换的构成包括非线性层、扩散层和密钥 调度等元素。这样设计是基于香农提出的设计原则,即非线性替代与线性混合函数交替进行。这样结合的结果 导致来自密码的重要的统计特性必须是高度相关的和敏感的类型,即通过混合变换的扩散和混乱产生充分的 混合,使加密后的分组特性分布更均匀。非线性的目标就是通过一个较小的非线性元素得到一个大的非线性构 件。而线性的目标就是使非线性元素取得尽可能简单。而一个高强度
14、的轮函数就是通过重复这些简单的函数变 化,并且在每轮迭代中,通过密钥调度引入密钥。这样便以简单的运算代价而取得了更大的加密效果。在A E S 算 法中,也包含非线性结构、线性结构和轮密钥的混合。它是一个迭代型分组密码,其分组长度和密钥长度都可 变,各自可以独立的指定为1 2 8 比特、1 9 2 比特、2 5 6 比特。A E S 的要求数据块要经过多次数据转换操作,每一次 转换操作产生一个中问结果,这个中问结果叫做状态。状态可表示为二维字节数组即状态矩阵,它有四行,N b 列,且N b 等于数据块长除以3 2 ,在标准A E S 里N b :4 。密钥也可类似地表示为二维字节数组,它有四行,
15、N k 列, 且1 N k 等于密钥块长除以3 2 。 s 皿s 嵋 s 蕾S 阻南 鼬轧S n s nS 口轧S d kkkk _ k wk n k n k B bk tkk 叠 kk n k 卫 k 圈扣l 状态和密钥的矩阵表示 算法转换的轮数N r ,由N b 和N k 共同决定,具体值列在表4 - 1 中: 密钥长度( )数据块长度( N b )轮循环次数( N z - ) I 瞄一1 2 8 44 1 0 A E S 一1 9 26 d i 2 A E S - 2 5 6841 4 A E S 的轮函数由四个不同的字节变换组成: ( 1 ) 用替换表进行字节替换; ( 2 ) 将状态
16、矩阵每行进行不同偏移量的行移位; ( 3 ) 将状态矩阵中的每列数据进行列混合; ( 4 ) 把状态矩阵和子密钥相加; 4 2 加密流程 第四届京、律、沪、渝反套国城市唷线电视技术研讨会论文纂 一2 7 7 一 在加密的开始,输入字节被拷贝到状态矩阵。在经过一个初始的子密钥加后,状态矩阵经过1 0 ,1 2 或1 4 次 ( 依赖于密钥的长度) 轮函数的变换,只有最后一轮与前N r - - 1 轮略有不同,少了列混合的过程。最后的状态矩阵 被拷贝到输出。密钥扩展流程由四字节双字的一维数组构成。 加密算法的伪C 代码如下,i n 】、o u t 】数组分9 0 为输人明文、输出密文,川】中存储的是所有子密钥。四种 独立变换S u b B y t e s ( ) 、S h l f t R o w s ( ) 、l l i x C o l u m n s ( ) 、“d R m n d K 町( ) 分别作用于状态数组s t a t e 】: C i p h e r b y t ei T l