
加密只是手段,而不是目的——by自己
引言
视频加密技术应用十分广泛,一些在售的网课就充分利用了视频的加密技术,音频加密技术貌似见到的比较少,(不过可以将音频转为视频加密,笑^_^)。
下面我要介绍的这种方法,算是一种非常简陋的音频加密技术,甚至都算不上加密技术,因为本质上还是以明文传播的。这种技术只是我偶然间的幻想,我把它实现化了而已。
文章分为五个片段
基本思路
动手操作
出现问题
总结
致谢&例子
我已经尽量避免专业化的叙述,同时由于个人水平有限,文中出现的错误还望各位海涵。
基本思路
声音(sound)是由物体振动产生的声波。是通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。
在专业的软件中,一段音频是这个样子的。

Cool Edit pro软件呈现的音频波形
如果将其放大来看,是这个样子,这就是我们在课本上学到的波形(初中物理)

Cool Edit pro 放大音频之后
但是,众所周知,计算机是无法处理连续数据的,那么这种波形又是如何被计算机记录的呢?如果我们通过这个软件再进行放大音频,我们就能理解计算机是如何记录这些数据的。

能看到采样点的波形
上面的那些小点点就是采样点,通过这些间隔非常微小的采样点连线来近似等价于声波波形,这有点像微积分的思想。通常来讲,44100Hz是音频常用的采样频率,换言之,也就是每秒钟采集44.1K个点来近似模拟自然声波。
我的简单“加密”思路很明显,就是通过将采样点分割为小片段,然后将他们随机组合成N个大的片段,这样声音的特征点就会丧失,也就是说从单一的大片段就无法得到原有的声音信息,就起到了一种简单的加密作用。

简单原理演示
动手操作
如何做到这一点呢?
起先,我打算通过Cool Edit pro来进行音频的剪切(类似于粘贴复制的做法),但是很快我就发现了这种做法的局限性,那就是,我实在是没有那么大的耐心把一份音频裁成一段段的小片段啊,貌似有批处理功能,但是我不会用。
后来,我通过“传统式”的工具,也就是matlab做到了这一点。
附上源码,并且简单介绍思路。

matlab 源码
最后,感叹一句,先有matlab后有天。
出现的问题
加密效果不好。按照我的思路,分割之后的片段应该非常完美,两个片段由于丧失了声音的特征点,所以听起来应该是噪声,提取不出来原先音频的信息,但是我错了。人是有联想能力的,人在交流的时候,即使不能完美听清对方的话,也可以大致猜出对方的意思。所以有的片段即使切开了,也能大致脑补出含义来。
体验非常差。我用了空白去替代原先的采样振动,所以单独听一个视频的时候,就会出现声音时断时续的情况。这是一种折磨(逼走试听者也算另一种加密QAQ)。
解密困难。我原先设想,只要同时播放这两个片段,那么播放出来的音频就不会有任何的损失,其实这是我一厢情愿,我高估了人对于同时的掌控。如果两个音频播放时机相差50ms的话,解密出来的音频依旧嘈杂,根本无法享受,也是一种折磨。
总结
更好的加密方案我也能够提供出来,但是正如一开始所说的,“加密只是手段,而不是目的”,我的这个加密思路,并不是想提高别人解密的难度,而是想降低对方的解密难度。为什么?因为我一直认为信息的传播不应该有阻隔,每个人都能够有获取相应信息的权利。消息有好有坏,但是我将告诉你真实的情况。这种简单的加密只是为了绕开一些,我个人觉得非正义的消息传播壁垒。
上面提出了那么多缺点,有什么可以避免吗?有,下载相应的视频,提取出音频文件,然后通过Cool Edit pro就能够非常轻松地做到同时播放,就能欣赏到原先的音频文件,虽然背离了我的本意,但也并非毫无收获。
致谢&例子
能看到这儿的同学都不容易。在轻阅读盛行的互联网时代,感谢你能读完我的这篇文章。同时附上这篇文章中的加密例子(两个视频十分精确的同时播放就能收获原先的音频)

