Giter Site home page Giter Site logo

encryption-python-project's Introduction

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.

encryption-python-project's People

Contributors

islamaf avatar

Watchers

Eugene F. Baulin avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.