Google AI 新进展:没人知道它的工作原理
该加密系统的设置方式。P=输入普通文本,K=共享密钥,C=加密文本,而PEve与PBob则为计算后的明文输出结果。
Google Brain团队(位于山景城,与伦敦的Deep Mind团队不同)首先构建起三套相当普通的神经网络,分别命名为Alice、Bob与Eve。
每套神经网络都拥有非常具体的目标:Alice负责向Bob发送安全消息; Bob必须尝试对消息进行解密; Eve则必须尝试拦截该消息并进行解密。Alice与Bob在与Eve的对抗中拥有一大优势:双方起始时拥有一条共享密钥(对称加密)。
重要的是,AI并不了解要如何对信息进行加密或者应当使用什么加密技术:它们仅仅得到一项失败函数(即失败条件),所有工作都要以为基础展开。
在Eve方面,失败函数非常简单:测定Alice原始输入文本得出猜测结果之间正确与错误bit的差别。对于Alice与Bob,失败函数则更加复杂:如果Bob的猜测(针对bit测量结果)距离原始输入文本太远,则被称为失败; 对于Alice,如果Eve的猜测结果较随机猜测更准确,则视为失败。如此一来,这套对抗性创造网络(简称GAN)即构建完毕。
Alice、Bob与Eve皆共享同样的“混合与转换”神经网络架构,但各自独立进行初始化,且除Alice与Bob间共享密钥外再无其它联系。对于Alice,密钥与文本被输入至该神经网络的首层; 对于Bob,密钥与密文作为输入结果; 而对于Eve,则仅能获得密文。首层完全连接,因此文本与密钥能够进行融合。后则为多个卷积层,它们用于学习以对由第一层交付的bit进行函数应用。并且并不知晓该函数具体是什么,而必须通过学习逐步了解。对于Alice,最终层将交付一些密文,而Bob与Eve则输出认为正确的明文。
Bob与Eve在训练过程中不断重建误差。可以看到Eve一直在不断改进,但Alice与Bob也在进行加密方法变更并不断挫败Eve的“阴谋”。
结果是……比较复杂。一部分运行结果彻底失败,Bob根本无法重构Alice给出的消息。但在大多数情况下,Alice与Bob确实能够构建起一套演进系统,双方间的通信理解保持着极低的误差率。
在部分测试中,Eve确实给出了优于随机猜测的结果解读,但Alice与Bob随后往往会改进自己的加密技术直到Eve再次陷入失败(详见图表)。
研究人员无法对Alice与Bob设计的加密方法进行详尽分析,但通过特定训练来看,他们发现Alice与Bob同时依赖于密钥与明文内容。“不过绝不是简单的XOR。具体来讲,输出的值通常为非0与1的浮点值,”他们解释称。
作为总结,研究员Martin Abadi与David G. Andersen表示,这些神经网络确实能够学习如何通过仅告知Alice加密内容本身保护通信内容——而更重要的是,这种保密效果无需指定特定加密算法集合即可实现。
当然,除了数据对称加密之外还有大量其它技术可供使用,而研究人员们指出未来的工作将着眼于隐写(即将数据隐藏在其它媒体之内)及非对称(公钥)加密。
至于Eve是否会成为一种强大的安全挑战方案,研究人员表示:“虽然看起来神经网络在密码分析领域似乎不太可能起到重要作用,但在元数据与流量分析方面则拥有巨大的发展潜力。”