A Python‑based implementation of Caesar Cipher encryption & decryption, including brute‑force attacks and frequency‑analysis methods. Supports English and German languages with both manual input and file-based input options.
Note: This README contains essential instructions and summaries.
For deeper technical explanations, full theory, and detailed flowcharts, please refer to the full project report.
This project implements:
- Caesar Cipher Encryption & Decryption
- Random Key Generation
- Manual Input and File-Based Input
- Brute-Force Decryption
- Frequency Analysis (Mathematical Attack)
- Support for English & German Languages
- Case‑Sensitive Encryption
- Automatic Output File Generation
The system functions like a stream cipher, encrypting each character sequentially using a shifting mechanism.
- Shifts characters based on a numeric key
- Case‑sensitive encryption
- Example:
'A' → 'V', but'a' → 'd'
- Example:
- Uses the provided key to reverse the shift
- Tries all possible keys
- Writes results to
Brute_Force_Output.txt
- Uses unigram, bigram, and trigram statistics
- Outputs results in
Math_Analysis_Method_Output.txt
- English
- German
- Manual message input
- File-based input using
Original_data.txt
- Programming Language: Python
- Cipher Type: Caesar Cipher (Stream-based shifting)
- Techniques: Brute-force search, frequency analysis
- Concepts: Character manipulation, modular arithmetic, file I/O
- Open the folder
Caeser_Cryptography - Open Command Prompt inside the folder
- Run:
python main.pyCeaser_Cryptography.exe
Ceaser_Cryptography.exe
The complete project report, including flowcharts, architecture diagrams, file‑level explanations, and mathematical background, is available here:
Caesar_Cryptography_Report.pdf