Cryptochat is a project that allows two users to communicate securely via the command line interface (CLI).
- The server is implemented in Python with the socket module.
- A network sniffer is implemented to capture the packets sent and received and ensure that the data is properly encrypted.
- An authentication is required before accessing the server.
- Cryptochat uses the RSA algorithm to encrypt messages.
- All datas are stored into a SQLite database.
- All roles run on the same machine by default.
CryptoChat_demo.mp4
Role | Link | Description | Max clients |
---|---|---|---|
Server (P2P) | ⇩ | Host, send, receive and save messages. | 1 |
Client | ⇩ | Send and receive messages. | / |
Sniffer | ⇩ | Analyze a specified number of TCP packets containing datas. | / |
All roles | ⇩ | Contains the entire project with all roles. | / |
Consider installing python 3.12 or higher.
- Create a virtual environment and install the requirements.
pip install -r requirements.txt
python3 srv.py
python3 clt.py
python3 snf.py
The figures below explain how CryptoChat works.
CryptoChat 💬🔐 is under MIT License
If you like this project, feel free to give it a ⭐!