└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # 🔐 Cipher Calculation App 2 | 3 | A Flutter-based application that enables users to encrypt and decrypt messages using various classical cipher techniques. The app supports: 4 | 5 | - **Rail Fence Cipher** 6 | - **Hill Cipher** 7 | - **Caesar Cipher** 8 | - **Vernam Cipher** 9 | 10 | Additionally, it incorporates user authentication (sign-up and login) powered by Supabase. 11 | 12 | ## ✨ Features 13 | 14 | - **User Authentication**: Secure sign-up and login functionalities using Supabase. 15 | - **Multiple Cipher Techniques**: 16 | - **Rail Fence Cipher**: Customise the number of rails for encryption/decryption. 17 | - **Hill Cipher**: Supports both 2x2 and 3x3 matrix sizes. 18 | - **Caesar Cipher**: Shift letters by a specified number. 19 | - **Vernam Cipher**: Implements the one-time pad encryption method. 20 | - **User-Friendly Interface**: Clean and intuitive UI for seamless user experience. 21 | - **Real-Time Results**: Instant encryption/decryption results are displayed upon input. 22 | 23 | ## 🚀 Run The App 24 | 25 | ### Prerequisites 26 | 27 | - **Flutter SDK**: Ensure Flutter is installed on your machine. [Installation Guide](https://flutter.dev/docs/get-started/install) 28 | - **Supabase Account**: Set up a project on [Supabase](https://supabase.io/) to handle authentication. 29 | 30 | ### Installation 31 | 32 | ```bash 33 | git clone https://github.com/MHFerdous/Crypto-Project 34 | cd Crypto-Project 35 | ``` 36 | 37 | ```bash 38 | flutter pub get 39 | ``` 40 | 41 | ```bash 42 | final supabaseUrl = 'https://your-supabase-url.supabase.co'; 43 | final supabaseAnonKey = 'your-anon-key'; 44 | ``` 45 | 46 | ```bash 47 | flutter run 48 | ``` 49 | 50 | --------------------------------------------------------------------------------