To achieve the above goal, the following methodology been followed:
- Load the file on the server.
- Dividing the uploaded file into N parts, Where N depends on the Buffer Size of the uploaded file
- Encrypting all the parts(N- numbers) of the file using any one of the selected algorithms
(Algorithm is changed with every part in round robin fashion).
- The keys for cryptography algorithms is then secured using a different algorithm and the key for this algorithm is
provided to the user as public key.
- The Key for cryptography Algorithms is been sent to user's email id
After the above 4 steps you will have a 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, follow the following steps:
- Load the key on the server.
- Decrypt the keys of the algorithms.
- Decrypt all the N parts of the file using the same algorithms which were used to encrypt them.
- Combine all the N parts to form the original file and provide it to the user for downloading.
NOTE: The project is based on Python 2.7.15 platform running it on any other platform might create some issues.
Step 1: Install Requirements
pip install -r requirements.txt
Step 2: Run the application
sudo python app.py
Step 3: Visit the localhost from your browser
Default URL is given is 0.0.0.0 and Port is 80, which is good for Production environment as well.
Step 4: Enjoy :-0
IF YOU ENCOUNTER ANY BUGS OR FOR ANY SUGGESTIONS REGARDING THE IMPROVEMENT OF THE PROJECT FEEL FREE TO CONTACT ME :
Abhishek Kumar
hello@kumarabhi.com
abhishek.ricky88@gmail.com
"""