Skip to content

SMFEH323/NETwasel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NETwasel – Secure End-to-End Encrypted Chat System

Overview

NETwasel is a secure client-server chat application built in Python that supports end-to-end encrypted messaging and file transfer.

The goal of this project was to better understand secure communication systems, encryption, and networking concepts by building a practical chat application where the server only relays data and cannot read user messages.


Key Features

  • End-to-End Encrypted Messaging (E2EE)
  • Encrypted File Transfer (Private & Group)
  • User Authentication with Secure Password Hashing
  • RSA Public Key Exchange
  • TLS-secured Client-Server Communication
  • Private & Group Messaging
  • User Identity Mapping (/whois)

Architecture

  • Messages and files are encrypted on the client side before being sent
  • The server works only as a relay between users
  • RSA is used for key exchange
  • AES is used for encrypted file transfer
  • TLS secures communication between client and server

Tech Stack

  • Python
  • Socket Programming
  • SSL/TLS
  • RSA Encryption
  • AES Encryption
  • PBKDF2 Password Hashing
  • Threading

Setup & Usage

Start Server

python3 server.py --host 0.0.0.0 --port 5050

Start Client

python3 client.py --host localhost --port 5050 --name <username>

Example Commands

/msg user Hello
/encmsg user Secret Message
/sendfile user file.txt
/encfile user file.txt client.py --host localhost --port 5050 --name <username>

Security Highlights

  • Messages and files are encrypted client-side
  • Passwords stored using salted hashing
  • TLS used for transport security
  • Server cannot read encrypted data

Current Limitations

  • No offline messaging
  • No persistent message storage
  • CLI-only interface
  • No group session key management

Future Improvements

  • GUI support
  • Offline message delivery
  • Persistent chat history
  • Improved group encryption management

What This Project Demonstrates

  • Understanding of networking and client-server systems
  • Practical use of encryption concepts
  • Secure communication design
  • Concurrent programming with multiple clients

Releases

No releases published

Packages

 
 
 

Contributors

Languages