/mschat

MSCHAT is an encrypted multi-client chatroom with both simple and advanced features.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

MSCHAT

                     _           _    
  _ __ ___  ___  ___| |__   __ _| |_  
 | '_ ` _ \/ __|/ __| '_ \ / _` | __|
 | | | | | \__ \ (__| | | | (_| | |_ 
 |_| |_| |_|___/\___|_| |_|\__,_|\__|

Read the WIKI for deeper information.

mschat is a simple application that allows you:

  • create your own chat server using the server
  • connect to an existing server using the client

Source code for the project can be found here. Note that I've used a custom version of the pydispo module.

Encryption

Messages sent using mschat are encrypted using:

  1. Diffie-Hellman key exchange method to generate a numeric key shared by server and client
  2. PBKDF2 key derivation function to get a stronger key that can be used with encryption algorithms
  3. Fernet to encrypt the message using the derived key

DISCLAIMER: encryption effectiveness is not guaranteed by any official standard.

Screenshots

image gui

Top WIKI pages:

Note for fellows developers

This application was developed to demonstrate and test the use of Python to create server applications and for this reason I didn't focus on code readability and efficiency. Sorry.