{"id":25932366,"url":"https://github.com/karthik558/rust-crypt","last_synced_at":"2026-06-05T03:31:54.165Z","repository":{"id":280099758,"uuid":"940977149","full_name":"karthik558/Rust-Crypt","owner":"karthik558","description":"A lightweight yet powerful file encryption utility implemented in Rust. Securely protect your sensitive files with AES-256-GCM encryption and Argon2 password-based key derivation.","archived":false,"fork":false,"pushed_at":"2025-03-01T07:56:36.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T08:29:12.131Z","etag":null,"topics":["cli-tool","cross-platform","cryptography","encryption-decryption","password-protection","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/karthik558.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-01T07:20:50.000Z","updated_at":"2025-03-01T07:56:39.000Z","dependencies_parsed_at":"2025-03-01T08:40:49.624Z","dependency_job_id":null,"html_url":"https://github.com/karthik558/Rust-Crypt","commit_stats":null,"previous_names":["karthik558/rust-crypt"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karthik558%2FRust-Crypt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karthik558%2FRust-Crypt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karthik558%2FRust-Crypt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karthik558%2FRust-Crypt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karthik558","download_url":"https://codeload.github.com/karthik558/Rust-Crypt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241763766,"owners_count":20016161,"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":["cli-tool","cross-platform","cryptography","encryption-decryption","password-protection","rust"],"created_at":"2025-03-04T00:37:02.194Z","updated_at":"2025-03-04T00:37:19.203Z","avatar_url":"https://github.com/karthik558.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Rust Crypt (File Encryptor)\n\nA simple yet powerful file encryption tool built with Rust. Securely encrypt and decrypt files using AES-256-GCM encryption with password-based key derivation.\n\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Rust Version](https://img.shields.io/badge/rust-1.65%2B-orange.svg)\n![Last Updated](https://img.shields.io/badge/last%20updated-2025--03--01-green.svg)\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n  - [From Source](#from-source)\n  - [Using Cargo](#using-cargo)\n- [Usage](#usage)\n- [Technical Details](#technical-details)\n  - [Encryption Process](#encryption-process)\n  - [Security Considerations](#security-considerations)\n- [Dependencies](#dependencies)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n\n## Features\n\n- **Strong Encryption**: Uses AES-256-GCM, a highly secure authenticated encryption algorithm\n- **Password-Based**: Simple password-based protection for your sensitive files\n- **Secure Key Derivation**: Implements Argon2 for secure key derivation from passwords\n- **User-Friendly CLI**: Simple command-line interface for ease of use\n- **Cross-Platform**: Works on Windows, macOS, and Linux\n\n## Installation\n\n### From Source\n\n1. Ensure you have [Rust installed](https://www.rust-lang.org/tools/install)\n2. Clone the repository\n   ```bash\n   git clone https://github.com/karthik558/Rust-Crypt.git\n   cd Rust-Crypt\n    ```\n3. Build the project\n   ```bash\n   cargo build --release\n   ```\n4. The binary will be available at `target/release/rust-crypt`\n\n### Using Cargo\n\n```bash\ncargo install --git https://github.com/karthik558/Rust-Crypt.git\n```\n\n## Usage\n\nEncrypting a file:\n\n```bash\n  rust-crypt encrypt --input \u003cINPUT_FILE\u003e --output \u003cOUTPUT_FILE\u003e --password \u003cYOUR_PASSWORD\u003e\n```\n\nExample:\n\n```bash\n  rust-crypt encrypt --input secret.txt --output secret.enc --password mysecretpassword@7%%%!\n```\n\nDecrypting a file:\n\n```bash\n  rust-crypt decrypt --input \u003cENCRYPTED_FILE\u003e --output \u003cOUTPUT_FILE\u003e --password \u003cYOUR_PASSWORD\u003e\n```\n\nExample:\n\n```bash\n  rust-crypt decrypt --input secret.enc --output secret.txt --password mysecretpassword@7%%%!\n```\n\n## Technical Details\n\n### Encryption Process\n\n1. A unique salt is generated for each file encryption\n2. An AES-256 key is derived from the user's password using Argon2\n3. A random nonce is generated for the AES-GCM encryption\n4. The file is encrypted using AES-256-GCM with the derived key and nonce\n5. The encrypted file format is: [salt_length (4 bytes)][salt][nonce (12 bytes)][encrypted data]\n\n### Security Considerations\n\n1. Password Strength: The security of your encrypted files depends significantly on the strength of your password\n2. File Format: The encrypted file contains the salt and nonce used for encryption, but these do not compromise security\n3. Memory Safety: Built with Rust, providing memory safety guarantees\n\n## Dependencies\n\n1. ```aes-gcm:```: Provides the AES-GCM encryption algorithm\n2. ```argon2:```: Secure password hashing and key derivation\n3. ```clap:```: Command-line argument parsing\n4. ```anyhow:```: Flexible error handling\n\n## Contributing\n\nContributions are welcome! Feel free to open an issue or submit a pull request for new features, improvements, or bug fixes.\n\n1. Fork the repository\n2. Create your feature branch (```git checkout -b feature/security-feature```)\n3. Commit your changes (```git commit -m 'Add some security feature'```)\n4. Push to the branch (```git push origin feature/security-feature```)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgements\n\n1. Inspired by the need for simple, secure file encryption tools\n2. Thanks to the Rust cryptography community for maintaining excellent libraries","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarthik558%2Frust-crypt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarthik558%2Frust-crypt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarthik558%2Frust-crypt/lists"}