Skip to content

shubhamsaxena924/SecureFileStorageUsingHybridCryptography

Repository files navigation

Secure File Storage Using Hybrid Cryptography

Objective: To achieve a highly secure platform for storing any type of file on Cloud using Hybrid Cryptography Technique.

Hybrid Cryptography: Combination of multiple cryptographic technique to get even more secure and strong cryptographic system.

Methodology

To achieve the above goal, the following methodology happens on sender side:

  1. Load the file on the server. It can be any type of file.
  2. Dividing the uploaded file into N parts depending on the fixed block size.
  3. Encrypting all the sub-files using any one of the selected algorithms (Algorithm is changed with every part in round robin fashion).
  4. The keys for cryptography algorithms used are stored in a file and then the resulting file is secured using a different cryptographic algorithm and the key for this algorithm is provided to the user as public key, which needs to be transferred safely to the receiver. (Currently, we are using symmetric encryption, we may also shift to authentication and asymmetric encryption in future.)

After the above steps on the sender side, you will have N files which are in encrypted form which are stored on the server and a key which is downloaded as public key for decrypting the file and downloading it.

To restore the file:

  1. Load the key (.pem file) on the server. Ask it from your sender.
  2. Decrypt the keys of the algorithms.
  3. Decrypt all the N subfiles using the same algorithms which were used to encrypt them.
  4. Combine all the N subfiles to form the original file and provide it to the user for downloading.

How to Run

NOTE: The project is based on Python 3.8.10 platform.

Libraries Used:

  1. Flask 1.1.1
  2. werkzeug
  3. Cryptography 2.9.2

Step 1: Install Requirements
pip install -r requirements.txt

Step 2: Run the application
python3 app.py or try python app.py

Step 3: Visit the localhost on your browser

Step 4: Enjoy :)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published