Skip to content

Oso00Luffy/Graduation_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

94 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” SCC_App β€” Secure Communication & Cryptography App

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


πŸ“š Table of Contents


🎯 Project Objectives

  • 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

πŸ›  Tech Stack

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

πŸ“¦ Features

πŸ” Encryption & Decryption

  • Text: AES and RSA encryption/decryption
  • Images: Hide and extract messages securely
  • Offline: All cryptographic processing is local

πŸ–ΌοΈ Image Steganography

  • Hide encrypted text in PNG/JPG images
  • Extract hidden messages from steganographic images
  • Multiple techniques: homoglyph, zero-width, whitespace

πŸ’¬ Secure Chat

  • Peer-to-peer local communication (LAN/Bluetooth)
  • End-to-end encrypted messages
  • Expiry timer for sensitive chats

⏳ Message Expiry & Session Management

  • Self-destructing (time-bound) messages
  • Secure session management & auto-logout

🎨 Theming & UX

  • Multiple custom themes: AMOLED, Blue, Sepia, Gold & Purple, Pink & Blue-Gray, System, Light/Dark
  • Theme persistence across sessions
  • Modern, responsive UI

βš™οΈ Settings & Utilities

  • Theme selector
  • About and privacy information
  • Session and security options

πŸ“Έ Screenshots


🧱 Project Structure

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.


πŸš€ Getting Started

Prerequisites

  • Flutter SDK (v3.0+)
  • Dart (2.17+)
  • Android Studio or VS Code
  • Android device or emulator

Installation

git clone https://github.com/Oso00Luffy/Graduation_Project.git
cd Graduation_Project
flutter pub get
flutter run

Firebase Setup

  • Place your firebase_options.dart in lib/screens/ (see FlutterFire docs)
  • Enable App Check, Authentication, etc. in Firebase console

🧠 Educational Value

  • Hands-on use of cryptographic algorithms
  • Steganography techniques in mobile apps
  • Peer-to-peer communication without internet
  • Secure session management and lifecycle awareness

βœ… To-Do

  • UI polish and animations
  • QR-code export for encrypted messages
  • Optional backup via Firebase
  • Biometric authentication for login
  • Additional steganographic techniques

πŸ“ License

This project is for academic/graduation purposes and is not licensed for commercial use.


🌐 Links


πŸ“ˆ Star History

Star History Chart

About

Resources

Stars

2 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors