A Java-based implementation of the Caesar Cipher encryption technique with a graphical user interface, frequency analysis, and brute-force decryption capabilities.
The main interface provides input fields for message and shift value, along with encryption/decryption options
Example of encrypting text with a custom shift value
Successful decryption of an encrypted message
- 🔒 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
EnhancedCaesarCipherGUI
: Main GUI class using Java Swingencrypt()
: Message encryption with custom shiftsdecrypt()
: Message decryption functionalityfindShiftByFrequency()
: Frequency analysis implementationcrackCipherBruteForce()
: Brute-force decryption method
- Encryption/Decryption: O(n)
- Frequency Analysis: O(n)
- Brute-Force Cracking: O(n)
- Password-based Shift: O(m)
- 📝 Input fields for message and shift value
- 🔄 Encrypt/Decrypt buttons
- 🔨 Cipher cracking options
- 📊 Results display area
- 🎨 Clean, intuitive interface
- Clone the repository
- Compile the Java files
- Run
EnhancedCaesarCipherGUI.java
- Enter your message and shift value
- Choose desired operation (encrypt/decrypt/crack)
This project serves as an excellent introduction to:
- Basic cryptography concepts
- GUI development in Java
- Algorithm implementation
- Frequency analysis techniques
- Java Development Kit (JDK)
- Java Swing Library
John Anugrah Peter (23215206)
Developed for BDA202-3N: JAVA
B.Sc.(Data Science & Artificial Intelligence)
School of Sciences
Academic Year: 2024-25