File Encryption / Decryption System: Description: This tool helps keep your files safe by turning them into secret codes (encryption) and turning them back to normal (decryption). It uses a special tool called Libsodium to make sure your files stay safe. You can use it on your computer either through the Visual Studio terminal or a simple command window. These examples will use the Command prompt but if you know how to use Visual Studio You can paste the commands in its terminal. How to Run: Prerequisites: Make sure your computer can understand and use this tool. If you don't have a specific tool called GCC, you need to get it. Install GCC Compiler for Windows: 1) Open the Command Prompt. You can do this by pressing the windows key and R together. This will open a small window at the bottom of Your screen. Type cmd and press enter. Another window will open. 2) Copy and paste this command to install Chocolatey (a package manager for Windows): Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 3) Follow the on-screen instructions. If prompted to close and reopen your command window, do so. 4) Once Chocolatey is installed, you can install GCC using the command (copy and paste): choco install mingw If all is successful, move onto "Compiling the program". Install GCC Compiler for Mac: 1) Open the Terminal. You can do this by Pressing the Command key (⌘) and the Space bar simultaneously to open Spotlight Search. Type "Terminal" and press Enter. This will open the Terminal application. 2) Copy and paste this command: brew install gcc 3) Install Libsodium: Visit Libsodium website Follow the instructions for your computer system. Compile the Program: 1) Use this command in the Command Prompt (Windows) or Terminal (Mac): gcc -o project project.c -lsodium -lm Execution: After compiling, run the program by typing/pasting: ./project Usage: When the program is running: Type the name of the file you want to encrypt or decrypt. Type the name of the new file where the result will be saved. Type a password for the encryption/decryption process. Choose "1" for Encryption or "2" for decryption. Examples Usage: For Encryption: ``` ./project Enter input file name: input.txt Enter output file name: encrypted.txt Enter Encryption/Decryption password: Password1234 Choose Operation: 1 ``` For Decryption: ``` ./project Enter input file name: encrypted.txt Enter output file name: decrypted.txt Enter Encryption/Decryption password: Password1234 Choose Operation: 2 In-Depth Explanation: Password-based Key Derivation: This makes a secret code from your password. The code uses Libsodium and a smart method called Argon2id to make sure it's very secure. Encryption Process: It takes your file, mixes it with a secret key made from your password, and creates a new secret code for each part of your file. This new code is saved in another file. Decryption Process: It reads the secret code and turns it back to your original file using the key from your password. Security Measures: Choose a strong password with letters, numbers, and symbols. The program uses strong secret codes and special methods to keep your files safe. Use Cases: Use it when sending important files over the internet. Keep backups of your important files in a safe way. Protect confidential documents from others by using a secret key. Conclusion: This tool is like a super-secret locker for your files. It makes sure only you can see them. Make sure to use strong passwords and be careful where you use this tool. If you want to know more about how it works, check out the code. Remember, this is for learning and being safe online. Enjoy! Note: If you have any encounter any issues during the installation, have further questions or need assistance, feel free to seek help from someone tech-savvy or look for online resources or reach out via email at vivekmaharaj41@gmail.com.