Client-server encrypted chat protocol (ECP) utilizing RSA and AES encryption. To begin, first run
python server.py
to start the listener server. Then, connect to the server using
python client.py
Be careful to ensure the correct port and hostname are used when connecting to the server.
The full specifications for the schema are as follows:
- First, the client connects to the server
- The server sends its public RSA key to the client
- The client encrypts their public RSA key using the servers public key and send its back to the server
- The server generates a shared AES key, encrypts it using the clients public RSA key, and sends its to the client
- The client and server are now able to share information securely
- Disconnecting a client seems to break the server if not closed properly
- Text overflows if messages are sent while typing a response