CAprogs / CryptoChat

CLI-based secure chat with end-to-end encryption and simple SQL data storage.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CryptoChat πŸ’¬πŸ”

GitHub Repo stars GitHub total downloads latest release

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.

About πŸ₯’

  • 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.

Demo πŸ“Έ

CryptoChat_demo.mp4

Installation πŸ“¦

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. /
About roles 🎭 Capture d’écran 2024-02-02 aΜ€ 21 12 14

Run the project πŸš€

Consider installing python 3.12 or higher.

  • Create a virtual environment and install the requirements.
pip install -r requirements.txt

Server

python3 srv.py

Client

python3 clt.py

Sniffer

python3 snf.py

As simple as that 🀯

The figures below explain how CryptoChat works.

About roles

Author ✍️

License πŸ“

CryptoChat πŸ’¬πŸ” is under MIT License

Donations & Support ❀️

If you like this project, feel free to give it a ⭐!

About

CLI-based secure chat with end-to-end encryption and simple SQL data storage.

License:MIT License


Languages

Language:Python 100.0%