如何解决语音和图像一重复加密就露底的问题
2026-05-25
23

提到加密,大多数人想到的都是 DES、RSA 这种“算不出来就安全”的路子。但这篇论文想问的是另一类问题:如果对象本来就是语音和图像这种“允许近似恢复”的信号,能不能借用信号处理里的工具,做一个更适合这类数据的加密办法?通俗讲:有没有一种方案,既能把原始语音和图像遮得很严,又能在解密端用近似估计把它们比较自然地还原出来。
作者选中的工具叫非负矩阵分解,也就是 NMF,是一种“把一个非负数据表拆成两个更简单非负数据表”的方法。过去这类工具经常用于信号分离、图像压缩。作者的脑洞是:既然它能做分解,能不能反过来把“解密”理解成一次特殊的分解,进而把“加密”设计成一个逆推的过程?
这篇论文想解决前一代 BSS/ICA 加密方案的两个明显短板。第一,老方案通常要求明文彼此独立,像图像这种本来相关性很强的数据就不太适合。第二,老方案很多时候只能安全地“一次性用一把密钥”,一旦同一套密钥反复用,安全性就会塌得很快。
论文先证明基于 BSS/ICA 的旧方案如果拿来处理相关信号或高斯型信号,会直接失效;进一步说明,如果明文本身是稀疏的,你又把原本只能一次性使用的密钥拿来重复使用,那么攻击者就可能在没有密钥的情况下,把原信号大致拆回来。
图2有效的回答了为什么“重复用同一套密钥流”会出事。论文说得很直白:在这种攻击下,恢复出来的语音片段的 SIR 都在 14 dB 以上,说明攻击者已经能把原始内容比较有效地扒出来。直接证明老方案的问题不是理论上某个小漏洞,重复使用时真的会被拆开。

新方案怎么改?核心有两步。第一步,在加密端引入一个“带强噪声的非线性混合模型”。引入的意义不是单纯把信号搅得更乱,让攻击者难以把这个过程直接反过来算回去。第二步,在解密端不用 ICA 那套“要求独立”的办法,改用 NMF 来做盲的或半盲式的分解。这样做的好处是:NMF 不依赖明文必须是独立的、高斯的还是非高斯的,相关语音、图像这种对象,也更容易被纳进来。
图1展示了这套加密系统是怎么跑的:预处理、加密、解密、波形重建。预处理会先把语音或图像切成段,再把数据变成非负形式,以便后面的 NMF 使用。加密阶段把这些段和密钥信号送进一个非线性混合过程。解密时,先做一次“非线性拆解”,再做一次 NMF 式的线性分解,最后再把波形或图像拼回来。

过去有些方法在最后重建波形时,会用“过零点个数”去解决排列问题,但这个指标不稳定。作者换成了峰度,也就是kurtosis一类更稳的统计量。表 I 就是在说明这件事:同样要给各段波形重新排回原位,用峰度比只看过零点数更靠谱。

实验部分把“语音”和“图像”两类非常不一样的数据都拿来试了。先看语音,图 3 和表 IV 对应的是新方案处理语音的结果。作者的发现是:语音被遮得比较好,同时又能被有效恢复,表现和前一代方法旗鼓相当。更重要的是,这里用的是重复密钥流,而不是一次一换。这一条很关键,因为真正在线通信时,频繁分发全新密钥真的很贵。


图 4、图 5 和表 VI、表 VII 连起来看,结论非常清楚:新方案对图像能做到“遮得住、解得回”,旧的 BSS/ICA 方案一到图像上就明显不行了。


作者在结尾也说明了研究局限性:加密端很快,计算负担不大;但解密端要跑迭代式的NMF,所以会更耗时。作者补了一句很重要的话:如果你要求的是“完全精确、解析式恢复”,那这类基于盲或半盲估计的加密思路未必适合;它更适合语音、图像这种本来就允许近似恢复的对象。
作者简介:谢胜利,广东工业大学自动化学院教授、博士生导师。长期从事控制、信号处理与智能信息处理等领域的教学与研究,研究工作涉及无线通信与网络、物联网信息技术等方向。现为国家杰出青年科学基金获得者、国家自然科学二等奖第一完成人。
DOI:10.1109/TCSI.2008.918233