GithubHelp home page GithubHelp logo

anzotika / cryptofly Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 2.0 122 KB

Small application for file encryption and decryption

Python 100.00%
python pyqt5 qtdesigner pyside2 python-gui desktop-application encryption-decryption aes-encryption twofish blowfish

cryptofly's Introduction

CryptoFly

This project was made for assignment in BONEVET/(I) class of python 2020

The program itself

It is made for encrypting and decrypting files such as pdf, random files, images etc.

CryptoFly Windows

How the program works

Depending on whether you want to encrypt or decrypt your file, you have to follow the steps below.

  1. For encryption you have to choose the type of the algorithm you wish to continue. (For decryption you have to choose the type of the algorithm you encrypted the file with)
  2. The key for encryption/decryption is a key which in our program is related to PASSWORD
  3. You upload the file.

After finishing everything you press the button and to be sure that your file is encrypted/decrypted a new window pops up to tell you that everything is finished.

Confirmation Window

The file is always saved in the location that you already have the base file (file that is yet to be encrypted nor decrypted).

Used ciphers

All used ciphers in this project are symmetric block ciphers; a single key is used for encryption and decryption.

  • AES AES is an iterative rather than Feistel cipher. It is based on ‘substitution–permutation network’. It comprises of a series of linked operations, some of which involve replacing inputs by specific outputs (substitutions) and others involve shuffling bits around (permutations). Interestingly, AES performs all its computations on bytes rather than bits. Hence, AES treats the 128 bits of a plaintext block as 16 bytes. These 16 bytes are arranged in four columns and four rows for processing as a matrix − Unlike DES, the number of rounds in AES is variable and depends on the length of the key. AES uses 10 rounds for 128-bit keys, 12 rounds for 192-bit keys and 14 rounds for 256-bit keys. Each of these rounds uses a different 128-bit round key, which is calculated from the original AES key.

  • Blowfish was designed as an alternative to DES. Blowfish has a 64-bit block size and a variable key length from 32 bits up to 448 bits. It is a 16-round Feistel cipher and uses large key-dependent S-boxes. In structure it resembles CAST-128, which uses fixed S-boxes.

  • Twofish has a block size of 128 bits, and accepts a key of any length up to 256 bits. The cipher is a 16-round Feistel network with a bijective function made up of four key dependent 8-by-8 bit Sboxes, a fixed 4-by-4 maximum distance separable matrix, a pseudo Hadamard transform, bitwise rotations, and a carefully designed key schedule.

Warning

The password should be remembered by the user and the user should be really careful while writing it.

Members

Anzotikë Bilalli

Arbena Musa

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.