Skip to content

islamaf/Encryption-Python-Project

Repository files navigation

ISLAM ABDELFATTAH ELSAYED

For the best results and the fastest use of the program, read this first.

Python project program

In order to deploy the program for command line arguments, you will need to download latest_encryption.py, caesar_cipher.py, vernam_cipher.py, vigenere_cipher.py, atbash_cipher.py present in this repository.
In order to deploy the program for GUI, you will need to download gui_main.py, caesar_cipher_gui.py, vernam_cipher_gui.py, vigenere_cipher_gui.py, atbash_cipher_gui.py present in this repository.

General rules to how the ciphers work

Each cipher requires a key and a plaintext to be encrypted. For decryption, it is the same too, just in the opposite way.

  • Caesar cipher: Plaintext, Key(a number from 1-25).
  • Vigenere cipher: Plaintext, Key(letters).
  • Vernam cipher: Plaintext, Key(letters) and length of key = length of text.
    If condition is not satisfied, the key will be repeated till it equals the text length as what happens in Vigenere cipher.
  • Atbash cipher: Plaintext.

Instructions inside program using command line

Using cmd, terminal, etc. simply open the program with the needed cipher and type (encode, decode, frequency) as the command line arguments.

  • Example of encoding:
    Example: FILE PATH> python3 latest_encryption.py caesar encode
    Example: FILE PATH> python3 latest_encryption.py vigenere encode
  • Example of decoding:
    Example: FILE PATH> python3 latest_encryption.py caesar decode
    Example: FILE PATH> python3 latest_encryption.py vigenere decode
  • Example of frequency analysis decoding:
    Example: FILE PATH> python3 latest_encryption.py caesar frequency

Notes for how frequency analysis works

Frequency analysis works by getting the distance from the most frequent letter(s) in a sentence and then calculates how far is it from letter "E".

Instructions inside program using GUI

Under the GUI folder the main GUI is the gui_main file (obviously haha). There will be a menu to all ciphers that can be used at the moment. By clicking on any of the options in the menu, the corresponding cipher file will directly pop up in a new window allowing the user to use any of the ciphers.
For more fun and a pretty formal experience, start from gui_main.
Each cipher has its own window and eavh one works in a different way than the other.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages