这是一个稍微更新的模型,用于“学习用对抗神经网络加密来保护通信”的论文。
我们想神经网络是否可以学习使用秘密密钥来保护来自其他神经网络的信息。具体来说,我们专注于确保多代理系统中的机密属性,并且我们根据对手指定这些属性。因此,一个系统可以由名叫Alice和Bob的神经网络组成,我们的目标是限制名为Eve的第三个神经网络从窃听Alice和Bob之间的通信中学到的东西。我们不为这些神经网络规定具体的加密算法;相反,我们在对话方面进行端对端的训练。我们证明神经网络可以学习如何执行加密和解密形式,以及如何有选择地应用这些操作,以达到保密目标。
该代码允许您训练编码器/解码器/对手三元组,并评估其对随机生成的输入和键对的有效性。
This is a slightly-updated model used for the paper “Learning to Protect Communications with Adversarial Neural Cryptography”.
We ask whether neural networks can learn to use secret keys to protect information from other neural networks. Specifically, we focus on ensuring confidentiality properties in a multiagent system, and we specify those properties in terms of an adversary. Thus, a system may consist of neural networks named Alice and Bob, and we aim to limit what a third neural network named Eve learns from eavesdropping on the communication between Alice and Bob. We do not prescribe specific cryptographic algorithms to these neural networks; instead, we train end-to-end, adversarially. We demonstrate that the neural networks can learn how to perform forms of encryption and decryption, and also how to apply these operations selectively in order to meet confidentiality goals.
This code allows you to train an encoder/decoder/adversary triplet and evaluate their effectiveness on randomly generated input and key pairs.
项目地址:https://github.com/tensorflow/models/tree/master/adversarial_crypto