https://github.com/obirikan/caesar-cipher-encoder-decoder
πThis project implements a modular Caesar cipher for encoding and decoding English alphabetic messages. It's structured in a clean, maintainable folder-based architecture using Python functions and modules.
https://github.com/obirikan/caesar-cipher-encoder-decoder
cryptography
Last synced: 12 months ago
JSON representation
πThis project implements a modular Caesar cipher for encoding and decoding English alphabetic messages. It's structured in a clean, maintainable folder-based architecture using Python functions and modules.
- Host: GitHub
- URL: https://github.com/obirikan/caesar-cipher-encoder-decoder
- Owner: obirikan
- Created: 2025-06-11T10:17:04.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-11T17:51:48.000Z (about 1 year ago)
- Last Synced: 2025-06-11T19:16:24.294Z (about 1 year ago)
- Topics: cryptography
- Language: Jupyter Notebook
- Homepage:
- Size: 207 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
# π Modular Caesar Cipher
This project implements a **modular Caesar cipher** for encoding and decoding English alphabetic messages. It's structured in a clean, maintainable folder-based architecture using Python functions and modules.
---
## π Architecture

## π Project Structure
```
CaesarCipherProject/
βββ cipher.py # Main runner script
βββ Variables/
β βββ main.py # Contains shared constants (alphabets, delimiter)
βββ Tokenizer/
β βββ main.py # Contains the Transfomer function
βββ encoder/
β βββ encoder.py # Encoding logic
βββ decoder/
βββ decoder.py # Decoding logic
```
---
## π How It Works
### π `Transfomer(input_sentence)`
* Breaks sentence into individual characters
* Converts characters into index positions in the alphabet
* Passes characters to `Encode_Message()` and indices to `Decoded_Message()`
### π `Encode_Message(each_letter)`
* Shifts each letter back by 3 positions in the alphabet
* Returns the encoded message as a string
### π `Decoded_Message(word_index_in_alphabet)`
* Adjusts negative indices (replaces them with -1, which maps to 'z')
* Reconstructs the original sentence (note: 'z' used as space)
---
## π¬ Example
```python
input_sentence = 'we are going home today'
# Output:
Encoded Message: tb xob dlfkd eljb qlabv
Decoded Message: we are going home today
```
(Note: In this version, 'z' is temporarily used to indicate spaces)
---
## π§ Future Improvements (Phase 2+)
* Support upper/lower case properly
* Handle non-alphabetic characters
* Create CLI or GUI wrapper
---
## π¦ Requirements
* Python 3+
---
## βοΈ License
MIT License β free to use and modify.
---
## π€ Author
* GitHub: obirikan
> "Encryption teaches us the power of shifting perspectiveβliterally and logically."