Skip to content

RichieOnData/Caesar-Cifer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Enhanced Caesar Cipher with GUI πŸ”

A Java-based implementation of the Caesar Cipher encryption technique with a graphical user interface, frequency analysis, and brute-force decryption capabilities.

πŸ“Έ GUI Interface

Main Application Window

Main GUI Interface

The main interface provides input fields for message and shift value, along with encryption/decryption options

Encryption Demo

Encryption Example

Example of encrypting text with a custom shift value

Decryption Demo

Decryption Example

Successful decryption of an encrypted message

🌟 Features

  • πŸ”’ Encryption and decryption using custom shift values
  • πŸ”‘ Support for both uppercase and lowercase letters
  • πŸ“Š Frequency analysis for cipher cracking
  • πŸ’ͺ Brute-force decryption method
  • πŸ–₯️ User-friendly GUI interface
  • πŸ”’ Support for numeric characters
  • πŸš€ Dynamic shift calculation based on passwords

πŸ› οΈ Technical Implementation

Core Components

  • EnhancedCaesarCipherGUI: Main GUI class using Java Swing
  • encrypt(): Message encryption with custom shifts
  • decrypt(): Message decryption functionality
  • findShiftByFrequency(): Frequency analysis implementation
  • crackCipherBruteForce(): Brute-force decryption method

πŸ” Complexity Analysis

  • Encryption/Decryption: O(n)
  • Frequency Analysis: O(n)
  • Brute-Force Cracking: O(n)
  • Password-based Shift: O(m)

🎯 GUI Features

  • πŸ“ Input fields for message and shift value
  • πŸ”„ Encrypt/Decrypt buttons
  • πŸ”¨ Cipher cracking options
  • πŸ“Š Results display area
  • 🎨 Clean, intuitive interface

πŸš€ Getting Started

  1. Clone the repository
  2. Compile the Java files
  3. Run EnhancedCaesarCipherGUI.java
  4. Enter your message and shift value
  5. Choose desired operation (encrypt/decrypt/crack)

πŸ’‘ Educational Value

This project serves as an excellent introduction to:

  • Basic cryptography concepts
  • GUI development in Java
  • Algorithm implementation
  • Frequency analysis techniques

πŸ”§ Dependencies

  • Java Development Kit (JDK)
  • Java Swing Library

πŸ“š Author

John Anugrah Peter (23215206)

πŸŽ“ Academic Project

Developed for BDA202-3N: JAVA
B.Sc.(Data Science & Artificial Intelligence)
School of Sciences
Academic Year: 2024-25

About

Enhanced Caesar Cipher with GUI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages