/ README.md
README.md
1 # OTPninja File Encryption Tool 2 3 ## Overview 4 5 OTPninja is a professional-grade file encryption and decryption tool built in Rust, leveraging the **One-Time Pad (OTP)** encryption technique. This tool provides a secure and efficient way to encrypt and decrypt files using XOR operations with a randomly generated OTP. The OTP ensures perfect secrecy when used correctly, making this tool ideal for scenarios where data confidentiality is paramount. 6 7 The tool is designed with simplicity and security in mind, offering the following features: 8 - **OTP Generation**: Generate a cryptographically secure OTP tailored to the size of your input file. 9 - **File Encryption**: Encrypt files using the generated OTP. 10 - **File Decryption**: Decrypt files using the same OTP, ensuring data integrity and confidentiality. 11 - **Secure Memory Handling**: Utilizes the `zeroize` crate to securely handle sensitive data in memory, preventing residual data exposure. 12 13  14 15 --- 16 17 ## Table of Contents 18 19 1. [Features](#features) 20 2. [Prerequisites](#prerequisites) 21 3. [Installation](#installation) 22 4. [Usage](#usage) 23 - [Generating an OTP](#generating-an-otp) 24 - [Encrypting a File](#encrypting-a-file) 25 - [Decrypting a File](#decrypting-a-file) 26 5. [Security Considerations](#security-considerations) 27 6. [Contributing](#contributing) 28 7. [License](#license) 29 30 --- 31 32 ## Features 33 34 - **Cryptographically Secure OTP Generation**: Uses `rand::rngs::OsRng` to generate high-quality random bytes for the OTP. 35 - **Perfect Secrecy**: Ensures that the encrypted data cannot be decrypted without the exact OTP. 36 - **Zeroization of Sensitive Data**: Automatically clears sensitive data (e.g., OTP) from memory after use to prevent accidental exposure. 37 - **Cross-Platform Compatibility**: Built in Rust, ensuring portability and performance across different operating systems. 38 - **User-Friendly CLI Interface**: Provides an intuitive command-line interface for generating OTPs, encrypting, and decrypting files. 39 40 --- 41 42 ## Prerequisites 43 44 Before using OTPninja, ensure you have the following installed on your system: 45 46 1. **Rust Programming Language**: Install Rust by following the instructions at [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install). 47 2. **Cargo Package Manager**: Comes bundled with Rust installation. 48 3. **Basic Knowledge of Command-Line Interfaces**: Familiarity with terminal commands is recommended. 49 50 --- 51 52 ## Installation 53 54 1. Clone the repository: 55 ```bash 56 git clone https://github.com/your-repo/otp-ninja.git 57 cd otp-ninja 58 ``` 59 60 ## No Licensing Restrictions 61 62 This tool is provided without any licensing restrictions. You are free to use, modify, and distribute it as you see fit. 63 64 --- 65 66 67 ## Contact 68 69 For encrypted email correspondence, please refer to the file public-key.asc. 70 71 ## Official Website 72 73 https://enkryp.duckdns.org 74 75 ## e-mail 76 77 battosai@dnmx.su 78 79 ## LXMF Address 80 81 1b634f9ac2aee34bec3276ad17f52d11 82 83 An LXMF address is a unique identifier used for secure communication over the LXMF protocol, enabling users to send and receive encrypted messages. I suggest using the Sideband app or Nomad Network for this purpose. 84 85 ## Briar 86 87 To connect via Briar, please first add me using the link provided, and then send your Briar link to my email. I will promptly add you to my trusted contacts. 88 89 briar://ac4jkk7rqcb7vbvjudzvoav64lcypoo3qaj3b5wnndcvvsdpz3fvs 90 91 92 93