Go through README.md to understand the project
The following are some ideas for contributions
- Basic framework(Server, Client, Socket connections)
- Multithreading for simultaneous message receiving and sending
- User Addition
- User login
- Pickling client info to reduce login overhead
- DHKE, Sender Keys, End to end encryption, HMAC verification
- Single Ratcheting
- Asynchronous additions/removals
- Added basic GUI support
- Add file transfer support
- Add chatroom and login password authentication
- Reducing user addition overhead
- Message Storing for complete asynchronicity
- Delete user option(Keys should be reinitialized)
- Double ratcheting
- Improve GUI mode and design(add emoji support etc)
- Using Asynchronous Ratcheting Trees to improve asymptotic complexity
Any other feature/bug fix is also welcome
Feel free to contact me at [email protected] for any queries