=========================================================== K2L Encryption Tool =========================================================== Author: K0NxT3D Script: k2l.sh Purpose: This script encrypts a folder of Target_Dir using a randomly generated ultra-high-entropy password, then embeds the encrypted payload inside a PNG image. For Operational Use: Edit k2l.sh and replace "Target_Dir" with the name or path of the directory you want to encrypt. The final output is a PNG file that contains hidden data (ZIP + AES-256-CBC encrypted content) appended to the image. =========================================================== HOW IT WORKS =========================================================== 1. A 1024-bit (128-byte) random password is generated using: openssl rand -hex 128 The password is saved to: password.txt (Permissions are restricted to the current user only.) 2. A working folder named "Encrypted_Files" is created. 3. The folder: ./Target_Dir/ is zipped with the random password and saved as: Encrypted_Files.zip 4. The ZIP file is encrypted using OpenSSL AES-256-CBC with: - PBKDF2 key derivation - 20,000 iterations - Base64 output encoding The result is saved as: Encrypted_Files/Encrypted_Files.k2l 5. All encrypted output files inside Encrypted_Files/ are zipped together into: payload.zip 6. This ZIP is appended to a PNG image: logo.png + payload.zip → k2l.png The resulting PNG appears completely normal but contains the encrypted payload attached to the end of the file. 7. The final stego PNG is placed inside the: Output/ directory. 8. All temporary working files and folders are removed. =========================================================== FILES AND FOLDERS =========================================================== Target_Dir/ Folder containing files to encrypt Encrypted_Files/ Temporary working folder Encrypted_Files.zip Protected ZIP (deleted after encryption) payload.zip ZIP containing final encrypted content password.txt Generated ultra-high-entropy password logo.png Input container image k2l.png Final image containing hidden payload Output/ Final destination for encoded image k2l.sh Main script d2l.sh Decryption script (included in distributable) =========================================================== REQUIREMENTS (DEPENDENCIES) =========================================================== The script requires: 1. Bash shell 2. zip (command-line tool) 3. OpenSSL (with AES-256-CBC support) 4. A PNG file named "logo.png" 5. A folder named "Target_Dir/" containing files to secure Without these, the script will fail or skip certain steps. =========================================================== USAGE INSTRUCTIONS =========================================================== 1. Place files you want encrypted inside: ./Target_Dir/ 2. Make the script executable: chmod +x k2l.sh 3. Run the script: ./k2l.sh 4. When finished, retrieve the final output from: ./Output/k2l.png 5. The encryption password is stored in: password.txt KEEP THIS FILE SAFE! You cannot decrypt the payload without it. =========================================================== IMPORTANT =========================================================== • The password generated is ULTRA-HIGH ENTROPY (256 hex characters, ~1024 bits). It cannot be guessed or brute-forced. • Do NOT lose the file: password.txt • The image created is NOT visually altered. The hidden content is appended to the end of the PNG file. • The script removes temporary files when finished. • The script will fail if "Target_Dir/" is empty or missing. =========================================================== DECRYPTION =========================================================== The distributable includes the decryption script: d2l.sh To reverse the process: 1. Ensure the following files are present in the same folder: - k2l.png - password.txt - d2l.sh 2. Make the decryption script executable: chmod +x d2l.sh 3. Run the decryption script: ./d2l.sh 4. The script will: - Extract the appended payload.zip from k2l.png - Restore the original folder structure - Place all decrypted files inside: ./Restored_Files/ 5. Once complete, check ./Restored_Files/ to retrieve your original data. =========================================================== END OF FILE ===========================================================