Google AI 新进展:没人知道它的工作原理

译文
移动开发
该加密系统的设置方式。P=输入普通文本,K=共享密钥,C=加密文本,而PEve与PBob则为计算后的明文输出结果。

【51CTO.com快译】Google Brain创造出两套人工智能方案,能够自行开发加密算法以保护消息免受第三套AI的窥探——第三套AI也会不断演进以努力破解AI生成的加密机制。研究结果非常成功:前二者已经顺利学会了如何以安全方式彼此进行通信。

[[183999]]

该加密系统的设置方式。P=输入普通文本,K=共享密钥,C=加密文本,而PEve与PBob则为计算后的明文输出结果。

AI

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则输出认为正确的明文。

AI

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是否会成为一种强大的安全挑战方案,研究人员表示:“虽然看起来神经网络在密码分析领域似乎不太可能起到重要作用,但在元数据与流量分析方面则拥有巨大的发展潜力。”

原文标题:Google AI invents its own cryptographic algorithm; no one knows how it works

原文作者:SEBASTIAN ANTHONY

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:陈琳 来源: 51cto
相关推荐

2014-06-17 09:58:15

容器Google

2023-07-17 10:21:25

TC39JavaScript

2021-09-14 10:03:35

RustLinux开发工作

2020-07-02 16:00:53

​Flutter桌面应用代码

2009-09-25 09:27:33

Ubuntu 2010最新进展Lucid Lynx

2012-11-19 10:50:39

思杰CloudStack开源

2012-11-19 10:37:57

思杰OpenStack

2015-11-12 09:27:13

C++最新进展

2019-11-15 10:11:03

人工智能埃博拉技术

2021-09-16 10:15:56

Linux内核Rust

2018-07-23 15:26:02

Java框架应用程序

2017-02-17 13:38:40

2021-11-12 20:59:21

数字人民币数字货币区块链

2022-03-02 09:53:51

微软FlutterEngine PR

2012-02-09 09:49:48

2013-06-04 09:40:00

阿里云黑色10秒钟阿里巴巴

2011-11-23 09:25:15

KinectWindows

2023-04-06 07:30:02

2022-06-22 06:42:35

美团业务FlinkSQL数仓

2009-03-23 08:44:29

Windows Ser微软操作系统
点赞
收藏

51CTO技术栈公众号