Giter Site home page Giter Site logo

chirag-shilwant / terminal-based-encrypted-messenger Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 1.0 82 KB

A Terminal based Encrypted Messenger. To ensure secure communication the messages are encrypted using Triple DES(3DES) which is a Symmetric Encryption technique and the secret key used for encryption will be exchanged between the users using Diffie–Hellman key exchange algorithm.

Python 100.00%
messagi diffie-hellman symmetric-encryption triple-des multi-client-chatroom chat messaging chat-application

terminal-based-encrypted-messenger's Introduction

Terminal based Encrypted Messenger

  • Multiclient chat application that has 1 server component and atleast 4 clients.

    image

  • To ensure secure communication the messages are encrypted using Triple DES(3DES) which is a Symmetric Encryption technique and the secret key used for encryption will be exchanged between the users using Diffie–Hellman key exchange algorithm.

How to run

pip3 install pycryptodome
run server: ./server.py
run client: ./client.py PORT

Features

  • Multiclient chat application that has a server component and atleast 4 clients.
  • The system supports the signup and sign in feature. [error message with wrong credentials].
  • User can send message to other user [p2p message] [ SEND command] []
  • Each user can join multiple chat rooms (groups) at a time.
  • Each user can list all the groups. [LIST Command] [show all group and number of participants ineach group]
  • Each user can join a group [JOIN command]. If the group does not exist then the first create it thenjoins it.
  • Each user can create a group [CREATE command].
  • If one user sends a message to a group it should be sent to all members of that group.
  • The message is encrypted using Tripple DES (3DES) which is a Symmetric Encryption Technique and the secret key exchange algorithm used between the users is Diffie–Hellman.
  • Each group has one key (random nonce).
  • Message can be any type, for example, text, images, video, and audio.

Commands Implemented

1. create_account
2. login
3. create_group
4. list_groups
5. join_groups
6. text messaging to other clients within network
7. group messaging
8. p2p file sharing
9. group file sharing

terminal-based-encrypted-messenger's People

Contributors

chirag-shilwant avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.