Skip to content

The Horcrux project enables user to adapt a, 2 stage advanced encryption process to enable privacy preservation and conservation of files with paramount security measures.

License

Notifications You must be signed in to change notification settings

mehra-deepak/The-Horcrux-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The-Horcrux-Project.

Introduction.

The Horcrux project enables user to adapt a, 2 stage advanced encryption process to enable privacy preservation and conservation of files with paramount security measures. It let's users to encrypt, split and save copies of their files in the filesystem (the name “horcrux” is inspired by the Harry Potter saga). The file to be encrypted is selected by the user, and a secret random key is generated, the secret key is converted into Base64 format and provided to the user for future reference, restoration and decryption of file. The original file is then encrypted by AES-128 encryption algorithm, and the file thus produced has an extension of ".txt" format, containing unreadable ciphered data. For stage 2 and to enable the utmost level of privacy the file is then split into 'n' number of Horcruxes, (smaller atomic files/ chunks) where n is the number of horcruxes defined by user.The horcruxes are then stored at the user's specified location.

For the process of Decryption, the user is asked for the secret reference key which was initally generated by the system, if the user enters the right key then, first;the horcruxes are brought together and restored in the form of ciphered text to build back the encrypted file, and then the process of decryption is carried out for the file to be restored as original file.

Specifications.

  1. Language Used : C++.

  2. Encryption Algorithm : AES128.

  3. IDE used : Visual Studio Code.

  4. Operating System : Windows 10.

  5. GCC compiler to Windows : MinGW64.

Time Line of the Project.

  • Date : 10/12/2020.

Looked after the resources and got familiar with cryptogrpahic algorithms and maths behind them.

  • Date : 11/12/2020.

Did wireframing of the project and build the prototype, more of R & D work.

  • Date : 12/12/2020.

Created the github repo started to code and pushed the base code.

  • Date : 13/12/2020.

CODE! CODE! CODE! Searching, Manipulating, Debugging, Pushing into Github.

  • Date : 14/12/2020.

Refactoring the code and finshing up with final touches.

  • Date : 15/12/2020.

Looked after some more resources for improvement in the modules prepared flowchart and readme.

  • Date : 16/12/2020.

Demo Video content and some final commits.

Process Flow.

FOR ENCRYPTION.

encryption-flow-chart

FOR DECRYPTION.

decryption flow chart

How to test this project.

  1. Fork this repository

  2. Clone to make a native copy.

  3. Run the "main.cpp" file.

What More can be done.

  1. Reading about advancded crypto algorithms for making it even more robust.

  2. Using hashtables for strong the horcruxes and the key as primary key for future references and decryption.

  3. The domain has vast scope of improvement as security is a myth.

References.

  1. Cryptogrpahy Algorithms
  2. AES128
  3. AES256
  4. Base64 encoding

Foot Notes.

  1. Through this project i got to know about the seamless power of C++, and learnt a lot about cryptography and how porgrammers incorporate encryption for hiding useful information.
  2. My enthusiasm for privacy preservation has levaraged up and i'm willing to explore more in the same direction.
  3. This program can be certainly modified into more robust and clean application by investing more time and seeking mentorship from proficient developers and cryptographers and i'm looking forward to improve it and add more functionality to it.
  4. Overall the project brought immense leanring experince for me and i'm elated having explored this side of software development and this domain of software engineering.

Until then, THANK YOU VERY MUCH, E BUONA GIORNATA.

About

The Horcrux project enables user to adapt a, 2 stage advanced encryption process to enable privacy preservation and conservation of files with paramount security measures.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages