{"id":25135438,"url":"https://github.com/clats97/clatsguard","last_synced_at":"2025-04-03T02:26:36.211Z","repository":{"id":276353349,"uuid":"929031292","full_name":"Clats97/ClatsGuard","owner":"Clats97","description":"Secure your documents with this Python AES-256-GCM file encryptor featuring PBKDF2-HMAC key derivation, passphrase-based or hex key usage, and a Tkinter GUI for user-friendly encryption. Open-sourced. This project was peer reviewed by a CompTIA Security+ person.","archived":false,"fork":false,"pushed_at":"2025-02-07T18:20:07.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T18:30:57.433Z","etag":null,"topics":["aes256","aes256-gcm","cryptography","encryption","encryption-decryption","file-encryption","python","security","trending"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Clats97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-07T17:21:31.000Z","updated_at":"2025-02-07T18:20:11.000Z","dependencies_parsed_at":"2025-02-07T18:44:35.378Z","dependency_job_id":null,"html_url":"https://github.com/Clats97/ClatsGuard","commit_stats":null,"previous_names":["clats97/clatsguard"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatsGuard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatsGuard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatsGuard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clats97%2FClatsGuard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Clats97","download_url":"https://codeload.github.com/Clats97/ClatsGuard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246923962,"owners_count":20855645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes256","aes256-gcm","cryptography","encryption","encryption-decryption","file-encryption","python","security","trending"],"created_at":"2025-02-08T16:32:49.875Z","updated_at":"2025-04-03T02:26:36.203Z","avatar_url":"https://github.com/Clats97.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ClatsGuard File Encryptor (AES-256-GCM with PBKDF2-HMAC)\n\n**Version:** 1.01\n**Author:** Joshua M Clatney aka (Clats97)- Ethical Pentesting Enthusiast \n\n![Screenshot 2025-02-07 131933](https://github.com/user-attachments/assets/8c8a90c0-aab4-4f7c-86df-bf6c6310953b)\n\n**Overview**\nClatsGuard File Encryptor is a Python-based GUI application for securely encrypting and decrypting files. It uses AES-256-GCM for authenticated encryption, and PBKDF2-HMAC for key derivation from a user-provided passphrase.\n\n**Key Features**\n\n- **AES-256-GCM**: Ensures data confidentiality and integrity with authenticated encryption.\n- **PBKDF2-HMAC Key Derivation**: Strengthens passphrase-based keys with salt and multiple iterations.\n- **Hex Key Support**: Allows use of raw 256-bit hex keys if you already have them.\n- **Hex Key Generation**: Generates secure 256-bit keys if neccessary.\n- **GUI with Tkinter**: User-friendly interface for easy file selection and encryption/decryption.\n- **Supported File Types**: `.txt`, `.docx`, `.pdf`, `.xls`, `.pptx`, `.rtf`, and more (see code for full list).\n\n**Requirements**\n\n- **Python 3.6+** (Tested with Python 3.12.1)\n- **cryptography** library (`pip install cryptography`)\n- **tkinter** (usually included with most Python installations on Windows/macOS; on Linux, install via your package manager)\n\n**Installation**\n\n1. Clone or download this repository.\n2. Install the required Python libraries:\n   pip install cryptography\n\n**Key Management**\n\n•\tPassphrase-Derived Keys: You can generate a key from any passphrase. It is recommended to use a strong passphrase for better security\n\n•\tHex Keys: If you already have a 256-bit hex key, you can directly paste it into the key field.\n\n**Encryption Workflow**\n\n1.\tClick Browse to select the file.\n2.\tOptionally enter a passphrase in the \"Seed Value\" field and click Derive Key to generate a new key.\nor\nPaste an existing 256-bit hex key into the \"Enter Key\" field.\n3.\tClick Encrypt File.\n4.\tThe tool generates an .enc file which contains the encrypted data, and if applicable, the salt header.\n\n**Decryption Workflow**\n\n1.\tClick Browse to select the .enc file.\n2.\tEnter the passphrase used to generate the key.\n3.\tClick Decrypt File.\n4.\tThe tool creates a new file with the original content.\n\n**Advanced Configuration**\n\n•\tIteration Count: Currently set to 300,000 iterations for PBKDF2-HMAC. For specialized requirements, modify this value in the source code. Higher iterations add more security, but slow down the key derivation process.\n\n•\tAllowed File Extensions: Expand or reduce the set of allowed file types by editing the ALLOWED_EXTENSIONS set in the source code.\n\n**Troubleshooting**\n\n•\tInvalid Key Error: Ensure you are using the correct passphrase or hex key. The tool expects a 64-character hex string for a direct key, corresponding to 256-bits.\n\n•\tMissing cryptography: Run pip install cryptography. On some systems, you might need to install additional dev libraries or upgrade pip/setuptools.\n\n**FAQ**\n\nQ: Can I encrypt large files?\n\nA: Yes, though memory usage will be proportional to file size. For large files, consider streaming approaches.\n\nQ: Does this tool work on MacOS and Linux?\n\nA: Yes, as long as Tkinter and the cryptography library are properly installed.\n\nCopyright 2025 Joshua M Clatney (Clats97) All Rights Reserved\n\n**DISCLAIMER: This project comes with no warranty, express or implied. The author is not responsible for abuse, misuse, or vulnerabilities. Please use responsibly and ethically in accordance with relevant laws, regulations, legislation and best practices.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclats97%2Fclatsguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclats97%2Fclatsguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclats97%2Fclatsguard/lists"}