Learning to Protect Communications with Adversarial Neural Cryptography
Martín Abadi, David G. Andersen
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/mguarin0/LearningToProtectCommunicationsWithAdversarialNeuralCryptographypytorch★ 11
- github.com/Agwave/Pytorch-Adversarial-Neural-Cryptographypytorch★ 8
- github.com/avani17101/Adversarial-Neural-Cryptonone★ 0
- github.com/asya-b/adversarial-cnn-cryptographytf★ 0
- github.com/tensorflow/models/tree/master/research/adversarial_cryptotf★ 0
- github.com/EXYNOS-999/MIT_utrcnone★ 0
- github.com/marcellodebernardi/adversarial-csprngtf★ 0
- github.com/IBM/MAX-Adversarial-Cryptographytf★ 0
- github.com/Rutts07/Adversarial-Neural-Crytographypytorch★ 0
Abstract
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.