Skip to content

This project extends the Vigenère cipher implementation to support file encryption and decryption. It provides a user-friendly command-line interface (CLI) for encrypting and decrypting files, with a progress bar to visualize the operation's progress. Built using Rust.

Notifications You must be signed in to change notification settings

martian58/vigenc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Encryption and Decryption using Vigenère Cipher

This project extends the Vigenère cipher implementation to support file encryption and decryption. It provides a command-line interface (CLI) for encrypting and decrypting files, with a progress bar to show the operation's progress.

Features

  • Encrypt files using the Vigenère cipher in ECB mode.
  • Decrypt files using the Vigenère cipher in ECB mode.
  • Command-line interface for easy usage.
  • Progress bar to visualize the encryption/decryption process.

Prerequisites

Ensure you have Rust installed on your system.

Installation

Clone the repository and navigate to the project directory:

git clone https://github.com/martian58/vigenc.git
cd vigenc

Building the Project

To build the project, use the following command:

cargo build

For a release build, use:

cargo build --release

Running the Project

Command-Line Interface

The project provides a command-line interface for encrypting and decrypting files. The available options are:

  • --input or -i: The input file to use (required).
  • --output or -o: The output file to use (optional).
  • --key or -k: The encryption/decryption key (optional, will prompt if not provided).
  • --decrypt or -d: Decrypt the input file instead of encrypting.

Example Usage

Encrypt and Overwrite the Input File

cargo run --bin vigenc -- --input input_file.txt

Encrypt and Create a New Output File

cargo run --bin vigenc -- --input input_file.txt --output output_file.txt

Decrypt and Overwrite the Input File

cargo run --bin vigenc -- --input encrypted_file.txt --decrypt

Decrypt and Create a New Output File

cargo run --bin vigenc -- --input encrypted_file.txt --output decrypted_file.txt --decrypt

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

Contact

For any questions or inquiries, please contact martian58.

About

This project extends the Vigenère cipher implementation to support file encryption and decryption. It provides a user-friendly command-line interface (CLI) for encrypting and decrypting files, with a progress bar to visualize the operation's progress. Built using Rust.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages