A cross-platform Flutter application for secure communication and modern cryptography. Designed as a graduation project in Cybersecurity at Tafila Technical University.
π§ͺ Graduation Project by
Osama Wesam Jaradat @Oso00Luffy
Moath Amjad Hdairis @moathhdairis Supervisor: Dr. Eman
- Project Objectives
- Tech Stack
- Features
- Screenshots
- Project Structure
- Getting Started
- Educational Value
- To-Do
- License
- Links
- Star History
- Enable secure encryption/decryption of messages and images
- Support steganography for hiding messages in images or text
- Peer-to-peer secure chat system (local network/Bluetooth)
- Expiry for encrypted content and messages
- Modular, privacy-focused architecture for cybersecurity education
| Layer | Technology |
|---|---|
| Language | Dart |
| Framework | Flutter |
| Cryptography | AES, RSA (via PointyCastle) |
| Steganography | Zero-width encoding, homoglyphs, whitespace |
| Communication | Local LAN/Bluetooth P2P |
| Platform | Android (Flutter) |
Other notable tech:
- Firebase (App Check, Auth for login)
- Provider for state management
- C++/CMake/Swift for low-level extensions (minor)
- Shared Preferences for local, secure storage
- Text: AES and RSA encryption/decryption
- Images: Hide and extract messages securely
- Offline: All cryptographic processing is local
- Hide encrypted text in PNG/JPG images
- Extract hidden messages from steganographic images
- Multiple techniques: homoglyph, zero-width, whitespace
- Peer-to-peer local communication (LAN/Bluetooth)
- End-to-end encrypted messages
- Expiry timer for sensitive chats
- Self-destructing (time-bound) messages
- Secure session management & auto-logout
- Multiple custom themes: AMOLED, Blue, Sepia, Gold & Purple, Pink & Blue-Gray, System, Light/Dark
- Theme persistence across sessions
- Modern, responsive UI
- Theme selector
- About and privacy information
- Session and security options
lib/
βββ main.dart
βββ constant/
β βββ colour_screen.dart
βββ models/
β βββ message.dart
βββ screens/
β βββ auth_gate.dart
β βββ chat_room_screen.dart
β βββ decrypt_image_screen.dart
β βββ decrypt_message_screen.dart
β βββ encrypt_image_screen.dart
β βββ encrypt_message_screen.dart
β βββ file_sender_screen.dart
β βββ firebase_options.dart
β βββ home_screen.dart
β βββ intro_screen.dart
β βββ login_screen.dart
β βββ profile_screen.dart
β βββ settings_screen.dart
β βββ ...
βββ services/
β βββ chat_room_service.dart
β βββ chat_service.dart
β βββ decryption_service.dart
β βββ encryption_service.dart
β βββ file_transfer_service.dart
β βββ image_encryption_service.dart
β βββ malware_check_service.dart
β βββ message_encryption_service.dart
β βββ recent_keys_service.dart
β βββ user_service.dart
β βββ ...
βββ theme/
β βββ theme_provider.dart
βββ utils/
β βββ crypto_service.dart
βββ widgets/
β βββ gradient_background.dart
β βββ custom_button.dart
β βββ custom_text_field.dart
β βββ message_list.dart
β βββ outlined_text.dart
β βββ profile_keys_section.dart
β βββ show_more_text.dart
β βββ ...
For a full, up-to-date structure, browse the lib/ directory.
- Flutter SDK (v3.0+)
- Dart (2.17+)
- Android Studio or VS Code
- Android device or emulator
git clone https://github.com/Oso00Luffy/Graduation_Project.git
cd Graduation_Project
flutter pub get
flutter run- Place your
firebase_options.dartinlib/screens/(see FlutterFire docs) - Enable App Check, Authentication, etc. in Firebase console
- Hands-on use of cryptographic algorithms
- Steganography techniques in mobile apps
- Peer-to-peer communication without internet
- Secure session management and lifecycle awareness
- UI polish and animations
- QR-code export for encrypted messages
- Optional backup via Firebase
- Biometric authentication for login
- Additional steganographic techniques
This project is for academic/graduation purposes and is not licensed for commercial use.
- π Tafila Technical University
- π GitHub Repository
- π€ @Oso00Luffy



