Skip to content

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

License

Notifications You must be signed in to change notification settings

CAprogs/CryptoChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 à 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 ⭐!