GithubHelp home page GithubHelp logo

ejupialked / cryptchat Goto Github PK

View Code? Open in Web Editor NEW
35.0 2.0 16.0 19.09 MB

A secure chat between an Android client and Java server using AES for encryption and Diffie-Hellman for key exchange.

License: MIT License

Java 100.00%
diffie-hellman-algorithm java-sockets client-server android asymmetric-cryptography tcp-ip socket-programming diffie-hellman aes android-client java-server cryptography chat crypto asynctask

cryptchat's Introduction

MIT Licence Open Source Love

CryptChat

CryptChat is a secure chat between an Android client and Java server based on TCP/IP socket connection.

This chat uses the Diffie-Hellman algorithm for the exchange of public keys and the AES algorithm for the encryption/decryption of messages. The public key carries different parameters which can be seen by anyone, it is needed to generate a common secret key. Both client and server generate a key pair, the public key mentioned before and private key used to decrypt every message. The common secret key (generated by the Diffie-Hellman algorithm) encrypts the messages. The message sent over the network socket are encoded in BASE64.

Client Server

Motivation

This personal project was created in my final year of high school in 2017. I presented this project during my final oral exam which was about Computer Security. After high school my coding skills have improved, that's why I decided to refactor the code making the chat more secure.

How to run the project

Simply use Intellij with Maven to run the server and Android studio with gradle for the client. The IDE will automatically detect the project.

Screenshots

Client

Client

Server

Server

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Contact

Alked Ejupi - [email protected]

cryptchat's People

Contributors

dependabot[bot] avatar ejupialked avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cryptchat's Issues

How to run CryptChat app server

Hi, I hope you are well. Can you please tell me how to compile and run the CryptChat app server? I have run the client but the server is not working and I tried but don't how to do it. Please reply to me as I really need your help. It has to be compiled in Android Studio or any other tool like Netbeans.
Capture

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.