π CryptexChat β Secure Messaging with Layered Encryption
CryptexChat is a Qt-based desktop chat application that emphasizes security, privacy, and structured communication. It implements a layered encryption model and leverages multiple data structures for efficient message handling, session management, and real-time communication.
π± UI Design Credit: The chat interface design is based on the work of Saw Zi Dunn(https://github.com/SawZiDunn/).
π§ Key Features Layered Encryption β Multiple encryption layers applied sequentially for enhanced security
End-to-End Security β AES-CBC encryption with secure key exchange
Offline Messaging β Queue-based storage for undelivered messages
Session Management β Hash table-based user session tracking
Thread-Safe Communication β Mutex-protected message queues for inter-thread messaging
Database Indexing β B-tree optimized message retrieval
Clean & Modern UI β Qt-based interface with dark theme and intuitive navigation
ποΈ Data Structures in Action Vectors β Encryption layer and algorithm pool management
QList β Message history retrieval and database result buffering
Stack β UI page navigation and encryption/decryption processing
Queue β Offline message storage and thread-safe message passing
Hash Tables β Session management and client-socket mapping
Trees β UI widget hierarchy and JSON metadata structuring
Graphs β Implicit user connection modeling and session state transitions
π οΈ Tech Stack C++ with Qt Framework
SQLite for persistent storage
AES-CBC for message encryption
STL & Qt Containers for data structure implementations
π Project Highlights Modular architecture with clear separation of concerns
Real-time chat with online/offline status updates
Secure user authentication and session handling
Scalable design supporting multiple concurrent users