π Secure Messaging System
This project is a secure client-server messaging system written in Python. It uses a mix of RSA and AES encryption, digital signatures, and timestamp validation to guarantee:
- Confidentiality
- Authenticity
- Replay protection
- Offline message delivery
β¨ Features
- π± Client registration via two-step verification (code + public key)
- π Secure key exchange (RSA for handshake, AES for messaging)
- π¬ End-to-end encrypted messaging with digital signatures
- π Timestamp validation to avoid replay attacks
- π₯ Offline message queuing and delivery upon reconnect
π Structure
main.py
βββ Server.py
βββ ConnectionManager.py
βββ Client.py
βββ utils/
β βββ AESEncryption.py
β βββ RSAManagement.py
β βββ NumericSignatureAndTimeStamp.py
β βββ communicationFunctions.py
β βββ getRSAKeys.py
β βββ randomPhoneNumber.py
π How to Run
Start the Server
python main.py server
Start a Client
python main.py client
Simulate Two Clients Communicating
python main.py 2clients
π‘οΈ Technologies Used
- RSA 2048-bit, AES 256-bit
- Python sockets & threading
- Cryptography library
- JSON & UTC timestamps
β¬οΈ Download
Download ZIP of the full project β
βDon't listen to the person who has all the answers. Listen to the person who has the questions.β