A centralised encrypted messaging service written from scratch in c++ https://shayandoust.me/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Shayan Doust 3ce8bb4b4d
Empty spacing commit for future enet
5 months ago
.vscode Attempt at more mutex & Worker threading 1 year ago
DMsg_Client Merge branch 'master' of https://git.shayandoust.me/shayan_doust/DMsg 6 months ago
Dmsg_Server Redact BOOST completely from project. 10 months ago
Project documentation Project documentation refactor. 8 months ago
builds GUI refactor: Good enough for now. No overlaps but we need more dynamic control for different monitors. 6 months ago
lib Nice neat logger... 10 months ago
.gitattributes Add .gitignore and .gitattributes. 1 year ago
.gitignore Logging 11 months ago
DMsg.sln Remove Identifier.cpp & add fmt-5.1.0 to project 10 months ago
README.md Update readme 9 months ago




A proposed and active application for my NEA computer science project. DMsg is a barebone re-creation of a secure centralised messaging application utilising the client-server model. This project stands out in terms of security, where the IV and KEY is mathematically derived from the password the user sets for the chatroom. The program also boasts efficiency and portability, directly interfacing with Win32API as well as third party libraries.

Proposed features

The features are proposed, but may already be implemented. If not, they will be at some time in the near future.

  1. Secure FIPS compliancy & strong encryption not using security through obscurity.
  2. Possible key distribution centre handling tickets similar to MIT’s Kerberos.
  3. Easy to read layout, possible replica of IRC.
  4. Very low memory footprint, disk presence and CPU utilisation. Efficiency is key.
  5. Compiled in a portable package.
  6. Possible SQLITE integration client-side. Nothing gets stored on the server, ever!
  7. File transfer (zlib compression) as well as audio capture and transmission (opus codec).
  8. UTF-16 (/BOM) support for emoji-based characters.

…And many more to come…


Any errors or issues? Please write to me hello@shayandoust.me