GitHub - aksrustagi/CryptoNN: An implementation of the adversarial cryptographic neural network setup described in Abadi and Andersen's paper.
An implementation of the neural network setup described in Abadi and Andersen's paper using Tensorflow and Tensorboard support. The aim is to generate a cryptographic protocol by considering Alice, Bob and Eve as 3 neural networks and training Alice and Bob against Eve adversarially. Paper: Abadi, MartÃn, and David G. Andersen. "Learning to protect communications with adversarial neural cryptography." arXiv preprint arXiv:1610.06918 (2016). Link: https://arxiv.org/abs/1610.06918 Before running make sure you install the required modules: From a terminal on Linux run: sudo pip install numpy sudo pip install tensorflow sudo pip install matplotlib sudo pip install seaborn ########################################################### Once the modules are installed run from a terminal using: python3 cryptoNN.py ########################################################### You will then be prompted to enter the parameters. To select the default values, leave blank and just press enter. If you want all default parameters, press enter 5 times ########################################################### If you want logging, you have to provide a directory to write onto when prompted with : logging file? (default: no logging) if it doesn't exist it will be created it's relative path so if you enter logging1, it will create a folder called 'logging1' wherever cryptoNN.py is If you leave it blank and press enter, there will be no logging CAUTION: for some reason, logging takes A LOT of RAM memory so make sure you allocate enough ############################################################# To view logging information make sure to install Tensorboard From a terminal in Linux run: sudo pip install tensorflow Then, (even while still training), open a new terminal and run: tensorboard --logdir /path/to/logdir It should launch a process at port:6006 (this can be changed, this is the default) then open your webbrowser and type in the address bar: localhost:6006 TensorBoard will show up with all its glory! ############################################################