EncryptDecrypt
Objective
Also known as CipherDecipher, this is an encryption and decryption program which aims to encrypt ‘.txt’ files containing valuable and/or personal data and to decrypt it when required preventing unauthorized tampering with the data. The highlight of my project is it’s ability to randomize it’s encryption pattern on each run of the software with a possible key variation of over 26 Octa Decillion (2.6831381e+58 or 2.6831381*10^58) keys using the RandomCipher Technology making it very impenetrable. The ‘key’ is basically used to encrypt the ‘.txt’ files and is stored along with the data, where the program recognizes the key and the encrypted text file, and decrypts it at one go.
Usage
Step 1 - Provide Input
Either through Entering the Text.
OR
By providing a .txt file.
Step 2 - Encrypt
After Encryption
Step 3 - Decrypt
After Decryption
Benefits
The process of encryption / decryption hardly takes a second once the file to be encrypted is located or the text to be encrypted is entered during encryption and the key and the encrypted text file are located by the program during decryption making it a really fast data protection tool. It’s size is less than 100 KB making it very portable. Also, the underlying algorithm can be ported to any language easily as it uses some basic in-built functions along with some custom ones which can be easily reproduced ensuring that it can be used in various projects on various devices.
PS: This is my year-end final project in Class 12th where we had to use C++ and create a program that uses input/output functionality. I didn't just wanted to look at it as a simple school project and so, I decided to develop something that is unique, challenging and rewarding. To keep it simple, our school used Turbo C++ to teach the basics of C++ and some fundamental object-oriented programming concepts.
Please keep in mind that this project is more of a demonstration of a working encryption and decryption technology and can be used inside another project instead of anything on it's own. It is one of my earlier attempts at creating something different and a product that can be used instead of just small programs or algorithm implementations that we've been doing throughout the year. This implementation can be used to not only encrypt data for storage but also while communication. However, there are some drawbacks as compared to modern encryption methods which appear to be superior than this method. Doing this project made me really understand programming at it's core and how much more there is to learn. Finishing this project made me realize how important it is to undertake new challenges as they teach you a lot and are very rewarding.