随着互联网的发展,网络多媒体的应用正在变得越来越受欢迎。为保证利润或机密,必须对视频进行加密,常规的加密算法只能针对文本数据,所以很需要一个加密视频数据的特殊算法。那么我们今天就给大家介绍一个加密视频数据的特殊算法——Puzzle加密算法,算法随时都能够整合到已存在的视频系统,而不需要理会它们的具体实现。
Puzzle加密算法的原理
Puzzle加密算法的灵感得益于儿童游戏Puzzle。在Puzzle游戏里,会把一个完整的图片分解成很多无序的小片,以使小孩不能把完整的图片辨认出来。
当他们进行这个游戏的时候,必须花费很多的时间来把碎片重新组合成原始的图片。一些聪明的小孩根据不同片断的正面,甚至在没有整个原始图片的情况下就能够重构。虽然我们不能直接地把Puzzle游戏应用到加密一副图片,但是,如果我们稍微修改一下游戏规则,小孩将不能重构原始的图片。修改如下:
孩子们只能看到图片的正面,重构时没有任何关于整幅图片的线索。这样,如果n是块的数量,那么就会由n!种可能的重构。n不一定是一个很大的数量,假设一幅图片被分解成64块,那么可能的假设将会达到64!=1.27×1089。这么大的假设重构数量,孩子们不可能会重构出原始的图片。Puzzle加密算法由此而来。
Puzzle加密算法加密步骤
根据修改的Puzzle游戏规则,Puzzle视频加密算法包括了以下两个步骤:①分离每帧压缩视频数据;②搅乱分离视频数据的次序。步骤①相应于Puzzle游戏中把图片翻至正面。步骤②即是把视频数据分解成很多块,这些块被随机地洗牌,类似于搅乱块的正面。
1、分离每帧压缩视频数据
分离压缩视频数据是用一个小型加密算法来实现的。这种算法的基本思想是只有视频流的一小部分会用流密码来加密。另外一部分则不加以处理。过程如下:
给定一个压缩视频数据V(V1V2...VL)的L字节长的帧(不包含帧的头部)。头部之后开始的1(1<L)字节(V1V2...VL)是独立的,它会用由加密键k如SEAL或者是AES-CTR的流密钥来产生1个字节键流S(S1S2...SL)。视频数据的开始的1个字节会被作为关键流,独立于的第二个1字节。然后第二个1字节也会以相同的方式独立于第三个字节。该过程会一直重复下去直到帧的尾部。输出是L字节临时加密文本T(T1T2...TL)。
2、搅乱分离视频数据的次序
(1)分块
对长度为L的加密文本T,把它分解成具有相同长度b的n块,是一个典型的因式分解的问题,如L=n×b。假设两个变量(n,n)是两个常量,那么这个问题是很容易解决的。但不能通过这种方法来解决问题。如果先固定了b的值,那么可能在某些帧里b的值会很大,而某些帧的会很小,因为每个帧的长度L都是不同的。在另外一方面,n的值很大的时候,在交换块的时候将会引起一个很大的计算量。如果n的值太小,加密方案会很容易被破解。
为了解决这个问题,可以对n和n施加一些限制。块长度n应该为b=2m,其中m是一个整数。而n的值只能在mb和2mb之间变化,mb是一个预定义的常量。它表明了临时加密文本T应该至少被分成mb块。使用这些限制,m的值将会只是由下列的公式来唯一地确定:mb≤L/2m<2mb
块长度由b=2n来确定。真正的块数量m能够由以下的公式来计算:m=pn 如果pn为偶数,r=o _ m=pn-2 如果pn为偶数,r≠0 ,m=pn-1_如果pn为奇数
当pn是L/b的商,而r是L/b的余数时,上述公式将会使n的值总是偶数。这个操作对于下一步的搅乱块序是必需的。上述公式还表明如果pn是一个偶数或者r不等于零,那么在加密文本T尾部之前的一个或者两个块就可能在搅乱块次序过程中被分离出。
(2)乱序
块乱序的基本思想是加密文本T的n个块被分成两个相等的部分:顶部和底部。每个部分都包括了n/2个块。两个部分都可以根据排列P=P1P2..PL/2相互修改。该排列是从随机的顺序中继承过来的,它用来防止攻击者猜测出块的原始位置。为了使该算法更加有效,可以重用了在分离步骤中为了产生排列而生成的键流S=S1S2...SL。每个视频帧的键流S都是不同的,所以不同帧的排列也是截然不同的。当排列已经是可用的时候,可以通过把ih个块与临时加密文本T的Pith个块交换,从临时加密文本T=T1T2...TL里产生出加密文本C=C1C2...CL。一个很小的例子被用来解释搅乱块次序的过程。假定临时加密文本T被分解成256个块B1B2B256.从键流S继承过来的排列,产生的结果显示在下图中。
3、编码和解码
编码和解码过程上述Puzzle加密算法的部分编码过程总结如下。
加密文本能够通过相反的解码操作,在接收端重构原始的压缩视频序列。
Puzzle加密算法实现了很快的加密速度,并保持在一个适当的安全水平上,这样就可以适应现在大部分的多媒体应用需求,特别是高分辨率视频流。
小知识之加密算法:
数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。
电子文档管理系统的重要性:企业数字化转型的得力助手
在这个智能信息爆炸的时代,数据成为了企业最宝贵的资产之一。如何有效地管理和使用这种信息,已成为每个企业必须面对的重要课题。电子文档管理系统是解决这一问题的关键工具。今日,我们将探讨电子文档管理系统的重要性。在热点话题中,我们经常听到数据泄漏、信息安全等事件。这些事件不仅给企业带来了极大的经济损失,并且严重影响到企业的声...
it资产管理系统:IT资产大管家
在这个智能飞速发展的时代,公司的IT资产如同无形金矿,非常有价值。可是您有没有经历过这种困扰:IT资产种类繁多,数量庞大,管理耗时费力,还常常担忧数据安全和合规性?别担心,今天就给大家介绍一个IT资产管家——安企神IT资产管理系统。一、IT资产管理,为何如此重要?随着企业业务的不断增加,IT资产的数量和种类也在增加。这...
PHP线上加密解密:确保数据安全的有效途径
在如今智能化快速发展的时代,数据安全成为了人或单位不可忽视的重要话题。据最新统计,过去一年超出50%的企业遭到黑客入侵,数据泄露事件高发,给企业信誉和经济损失导致双重打击。在这种情况下,PHP线上加密解密技术的发展至关重要,既能提升数据安全性,又能帮助企业有效防范潜在威胁。一、PHP在线加密解密是什么意思?PHP是一种...
U盘管理工具大曝光:管理便捷,安全无忧!
在这个信息爆炸的时代,U盘已经成为我们日常生活中不可或缺的小帮手。不论是工作材料的备份或是学习课件的存储,U盘都以其小巧便携、容积丰富的特征受到大家的喜爱。但是,随着U盘的广泛使用,管理里的不便也随之而来。别担心,下面我就给大家介绍一款优秀的U盘管理工具,使你的U盘管理更安全!一、U盘管理,为何这么重要?想象一下,你U...
桌面管理软件怎样帮企业提高管理效益?
近日,一家知名科技公司因为桌面管理不当,造成内部数据泄漏,导致了业内的高度重视。这一事件不但揭露了桌面管理在企业管理中的作用,也催生了对高效安全桌面管理软件的需求。在此背景下,安企神桌面管理软件因其卓越的性能和全面的功能迅速成为很多企业的新宠。一、桌面管理:企业安全高效的基石桌面管理不仅关系到企业日常办公的顺利进行,也...