Simple python scripts to simulate end-end to encryption in a messaging app using Python sockets.
To run the scripts just run "Alice.py" and "Bob.py" on two different terminal windows or run them on two different devices on a same local network.
To make it easier to implement, the role of a server in end-to-end encrypted messaging system has been removed. The shared keys have been hardcoded inside the script which are distributed by a central server in real end-to-end encrypted systems.