Skip to content

Latest commit

 

History

History
18 lines (14 loc) · 1.79 KB

README.md

File metadata and controls

18 lines (14 loc) · 1.79 KB

Cipher_Room

Chat room command-line application with secure communication using Sockets, handled multiple client connections via Multi-threading for increased responsiveness, and ensured robust confidentiality using AES and RSA algorithms. This project's main objective for me was to learn the basics of the Public Key cryptography utilized in our day-to-life, primarily utilizing online chatting and web interactions.

Dependencies

PyCryptodome

This library is used for RSA, AES encryption. Official API documentation: https://pycryptodome.readthedocs.io/en/latest/src/introduction.html

All other libraries utilized in the project are python-built-in. You can find a complete list in requirements.txt

Demonstration

  1. Starting the server with the following command: python3 server.py

Screenshot 2022-11-23 at 4 53 48 PM

2) After the server started listenning on certain IP address and port, we can connect the client script by executing this command: ```python3 client.py -i 127.0.0.1 -p 5555 -k ~/Desktop/client_keys``` (the variables can change depending on your conf.ini values)

Screenshot 2022-11-23 at 4 54 35 PM

Screenshot 2022-11-23 at 4 55 07 PM

3) Server output will look the following way after a client has successfully authorized:

Screenshot 2022-11-23 at 4 55 19 PM