随着互联网的发展,网络多媒体的应用正在变得越来越受欢迎。为保证利润或机密,必须对视频进行加密,常规的加密算法只能针对文本数据,所以很需要一个加密视频数据的特殊算法。那么我们今天就给大家介绍一个加密视频数据的特殊算法——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加密算法实现了很快的加密速度,并保持在一个适当的安全水平上,这样就可以适应现在大部分的多媒体应用需求,特别是高分辨率视频流。
小知识之加密算法:
数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。 该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。
辛辛苦苦提拔起来的销冠,反手把公司卖了:内部人员泄密如何防范?从行为审计到技术锁死!
2026年硬核干货拆解,企业等保2.0怎么做才能快速通关?企业速通!
离职骨干连夜拷走十几个G,去新公司一双击全成废码:这套图纸加密方法简直绝杀!
研发骨干用几块钱的U盘卷走图纸:员工用U盘拷走图纸怎么办?企业自救方案!
军工软件源代码加密怎么做?五个超顶用的加密方法分享,分分钟教会你!
离职工程师把图纸塞进压缩包带走:图纸防泄密这一记反杀,让他去新公司立功的美梦当场碎掉!
销冠离职带走千万业务大盘?如何防范销售跳槽引发的企业资产与客户流失危机!
源代码加密软件哪个好?安企神软件透明加密+外发管控+权限分级三重守护!
企业数据防泄露措施有哪些?
企业数据防泄露措施有哪些?企业数据防泄露措施有哪些?找谁做?随着信息技术的不断发展,企业数据泄露事件频繁发生,给企业带来了巨大的经济损失和声誉损失。为了保护企业的核心数据,企业需要采取一系列的数据防泄露措施。本文将介绍企业数据防泄露的措施,帮助企业更好地保护数据安全。一、数据加密数据加密是一种常用的数据防泄露措施。通过...
最强干货:企业数据防泄密的26种实战方法
防止内部泄密的方法1、教育员工:不要低估员工教育的力量。CoSoSys的研究显示,60%的员工不知道哪些公司的数据是机密的。因此,他们可能会意外泄漏或使用不当。2、签署法律文件:很多企业在员工入职的时候,都会签署保密协议,尤其是开发人员这样的涉密人员,通过这种方式,可以一定程度上的防止员工主动泄密。3、文件加密:文件加...
如何规范上班时员工行为?
很多公司员工上班期间会打游戏、刷剧、看电影、炒股、干一些与工作无关的事,这极大的影响了公司的业绩和员工的工作效率和氛围。那么应该如何规范员工的行为呢?1、利用安企神软件对员工的办公电脑打游戏、刷剧、看电影、炒股等行为进行禁止。设置方法:打开策略模板管理 > 应用程序管控 > 然后勾选【开启程序黑白名单】然后...
四种屏幕防拍照、截屏、打印等数据泄露水印解决方案
信息媒体的数字化为信息的存取提供了极大的便利性,同时也显著提高了信息表达的效率和准确性。特别是随着计算机网络通讯技术的发展,数据的交换和传输变成了一个相对简单的过程,人们借助于计算机、数字扫描仪、打印机等电子设备可以方便、迅速地将数字信息传输到所期望的任何地方。但随之而来的副作用是这些数字形式的数据文件在流转过程中安全...
商业机密用u盘存储安全吗?
不安全商业机密用u盘存储是不安全的,商场如战场,如今的商业战场竞争越来越激烈,很多公司都会不遗余力的窃取同行的商业机密,而很多的管理者会将企业的重要商业机密存储在u盘中,今天给大家讲一下如何将商业机密更安全的存储起来。1、U盘内数据加密利用安企神可以对公司的机密文件进行加密,然后将加密后的机密文件移到u盘里,这样U盘内...