Skip to content
/ zero Public

An implementation of Ceaser, Vigenere and Vernam Ciphers written in Python using Tkinter

License

Notifications You must be signed in to change notification settings

tywil04/zero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zero

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.

Screenshots:

"Zero Application"

Usage:

Run cipher.py

Program Settings:

Ceasar Cipher and Vigenere Cipher Options:

  • 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.

Vernam Cipher Options:

  • 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.

Encoding/Decoding:

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.

About

An implementation of Ceaser, Vigenere and Vernam Ciphers written in Python using Tkinter

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages