farice / RL-Cryptography

Using RL to protect communications between agents in the presence of an adversary

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reinforcement Learning Cryptography in TensorFlow

by Faris Sbahi -- final project for CS 590: Reinforcement Learning by Prof. Parr

A project inspired by Google Brain's work regarding using neural networks to protect communications. Here, we seek to use reinforcement learning as an alternative model.

In this setting, we model attackers by neural networks; alternative models may perhaps be enabled by reinforcement learning. [2]

Setup

  1. Install pip and virtualenv

On MacOS

$ sudo easy_install pip
$ sudo pip install --upgrade virtualenv
  1. Clone the repository and install the requirements
$ git https://github.com/farice/RL-Cryptography
$ cd RL-Cryptography
$ mkdir ~/rl-cryp
$ virtualenv --system-site-packages ~/rl-cryp
$ source ~/rl-cryp/bin/activate
$ pip install -r requirements.txt

rl-cryp is an arbitrary directory. You can replace rl-env with a directory of your choice.

Run

To train the neural networks, run the main.py script.

$ python main.py --msg-len 32 --epochs 50

Deactivate

Once finished deactivate the virtual environment

$ (rl-cryp) deactivate

Cited Publications

Cited Projects

About

Using RL to protect communications between agents in the presence of an adversary

License:MIT License


Languages

Language:TeX 75.0%Language:Python 25.0%