Skip to content

EmreKaratopuk/EncryptDecrypt

Repository files navigation

EncryptDecrypt Web Application

Author: Ali Emre Karatopuk

A web application built with Flutter and Firebase that lets users encrypt and decrypt messages using the Caesar or Vigenère ciphers.

This project was developed as part of the Web Application Security course assignment.

Pages

Login Page

The login page lets users sign in with an existing account or register a new one before using the application.

Login Screen

Main Page

The main page is where encryption and decryption take place. Messages may include any unicode characters such as letters, numbers, punctuation, or even emojis.

The app supports two ciphers:

  • Caesar: The key is a number that represents the shift amount.

  • Vigenère: The key is a sequence of characters. Users can enter any Unicode characters.

After running an encryption or decryption, the result is displayed at the bottom of the page.

History Panel

The history panel shows all past cryptographic operations. Each entry includes:

  • The original message.
  • The key used.
  • The resulting text (encrypted/decrypted).
  • The algorithm used (Caesar or Vigenère).
  • The mode (Encrypt or Decrypt).
  • The date and time of the operation.

Main Page

Installation

Follow these steps to run the app locally:

  1. Install Flutter by following the instructions here.
  2. Clone this repository.
  3. Install Flutter dependencies using flutter pub get.

This web application uses Firebase as its backend. Therefore, Firebase needs to be configured by following the steps below:

  1. Create a Firebase project.
  2. Enable Firestore Database and Authentication services.
  3. Run flutterfire configure to generate the lib/firebase_options.dart file with your Firebase connection parameters.

The app will not work without Firebase integration.

Finally, to run the application locally, you need to execute:

flutter run -d chrome

Disclaimer

This project is for educational purposes only. Caesar and Vigenère are not secure for real-world cryptography.

About

A Flutter + Firebase web application that allows users to encrypt and decrypt messages using Caesar and Vigenere ciphers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors