{"id":23911896,"url":"https://github.com/khanhtran0111/Secure-file-encryption-tool","last_synced_at":"2026-06-29T07:30:14.911Z","repository":{"id":270503494,"uuid":"906549933","full_name":"khanhtran0111/Secure-file-encryption-system","owner":"khanhtran0111","description":"Implement a program to encrypt and decrypt files securely","archived":false,"fork":false,"pushed_at":"2025-01-07T17:36:37.000Z","size":30384,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-07T18:35:28.750Z","etag":null,"topics":["chacha20","cpp17","cryptography","encryption-decryption","python3"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khanhtran0111.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":"2024-12-21T07:56:43.000Z","updated_at":"2025-01-07T17:36:40.000Z","dependencies_parsed_at":"2025-01-07T18:31:05.125Z","dependency_job_id":null,"html_url":"https://github.com/khanhtran0111/Secure-file-encryption-system","commit_stats":null,"previous_names":["khanhtran0111/secure-file-encryption-system"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanhtran0111%2FSecure-file-encryption-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanhtran0111%2FSecure-file-encryption-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanhtran0111%2FSecure-file-encryption-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanhtran0111%2FSecure-file-encryption-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khanhtran0111","download_url":"https://codeload.github.com/khanhtran0111/Secure-file-encryption-system/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240349932,"owners_count":19787584,"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":["chacha20","cpp17","cryptography","encryption-decryption","python3"],"created_at":"2025-01-05T08:32:16.021Z","updated_at":"2026-06-29T07:30:14.830Z","avatar_url":"https://github.com/khanhtran0111.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chacha20 application in secure file encryption system\n\n## Introduction\n\nThis project implements a secure file encryption system using the ChaCha20 encryption algorithm. It provides a reliable and efficient way to encrypt and decrypt files, ensuring data confidentiality and integrity. The application is designed to prioritize speed and security, making it suitable for protecting sensitive information in various environments.\n\n## Report\n\nRead more: [Chacha20 application in secure file encryption system on personal computer](UET_report.pdf)\n\n## How to Use\n\n### Prerequisites\n- Python 3.12\n- C++ compiler (for compiling the C++ code)\n- Install libraries:\n    ```sh\n    pip install pycryptodome\n    pip install tk\n    ```\n\n### Setup\n1. Clone the repository:\n    ```sh\n    git clone https://github.com/khanhtran0111/Secure-file-encryption-system.git\n    cd Secure-file-encryption-system\n    ```\n\n2. Compile the C++ code:\n    ```sh\n    g++ -o chacha20_file_processor src/chacha20.cpp\n    ```\n\n### Usage\n\n#### Encrypt a File\n1. Run the Python application:\n    ```sh\n    python src/app.py\n    ```\n\n2. In the GUI, select the file you want to encrypt.\n3. Enter your secret key, which will be converted to the encryption key (32 bytes) and nonce (12 bytes).\n4. Choose the output format (binary).\n5. Click the \"Encrypt\" button.\n\n#### Decrypt a File\n1. Run the Python application:\n    ```sh\n    python src/app.py\n    ```\n\n2. In the GUI, select the file you want to decrypt.\n3. Enter your previous secret key for encryption, which will be converted to the encryption key (32 bytes) and nonce (12 bytes).\n4. Choose the output format (the format before encryption).\n5. Click the \"Decrypt\" button.\n\n### Example\n\nFor example, I have an image that needs to be encrypted:\n\n![Max Verstappen image](rm/1.png)\n\nNext, I run the app:\n\n![Run app](rm/2.png)\n\nNow, you can see the main app. There is a box for you to enter your secret string for making the key and nonce for the algorithm. There are two buttons, `Encrypt File` and `Decrypt File`, for actions and a box where you can drag and drop your specific file.\n\n![App](rm/3.png)\n\nI will put my secret string in the box. For example, my string is `simply lovely`, then I choose `Encrypt File` and pick the file which is going to be encrypted.\n\n![Example](rm/4.png)\n\nAnd done!\n\n![Done](rm/5.png)\n\nThe information after being encrypted will be saved in a file with the extension `.txt`.\n\n![Encrypted file](rm/6.png)\n\nIf I want to see what that file is, I enter the secret string used for encryption, choose `Decrypt File`, and enter the name with the original file format (.jpg, .pdf, etc.).\n\nBoom, now I have two images, one is the original, and one is decrypted from the encrypted txt file.\n\n![Decrypted image 1](rm/8.png)\n![Decrypted image 2](rm/9.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhanhtran0111%2FSecure-file-encryption-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhanhtran0111%2FSecure-file-encryption-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhanhtran0111%2FSecure-file-encryption-tool/lists"}