This is an application that supports the encoding and decoding of three popular ciphers:
This is a application and it is written in Python. All the cipher implementations are my own. For the UI it uses Tkinter with my custom theme minimal-tkinter. All the code is in one file, however it wouldn't be difficult to refactor it and have seperate files for each cipher.
Run cipher.py
- Keep Character Case: Keeps the character case in the output. When the setting is on:
Test -> Docd
and when the setting is off:Test -> docd
. - Keep Unknown Characters: Any Characters that don't work in the cipher (most puncutation, etc) gets put in the ciphertext at the same position. For example, when the setting is on:
test! -> docd!
and when setting is off:test! -> docd
.
- Keep Character Case: Same as Ceasar Cipher and Vigenere Cipher
- Seperate Binary: Splits up output binary string into 8-bit blocks. When the setting is on:
test -> 00000100000100110000010100000100
and when setting is off:test -> 00000100 00010011 00000101 00000100
.
To encode with a particular cipher do the following steps:
- Select a Cipher via the Entry that says
Select Cipher
- Make sure you choose an option that says encode if you want to encode or decode if you want to decode. - Enter the text you wish to encode/decode into the input that says
Enter Plaintext/Ciphertext
. - Enter a key into the input that says
Enter Key
- Becareful here, some ciphers only allow certain types of keys. For example, a Ceasar Cipher will only work with an integer. - Click Compute and the output will be displayed in the output window.