Description:
Create a Python-based command-line tool that allows users to choose between multiple ciphers (Caesar, AES, Vigenère) to encrypt or decrypt data securely. The tool should include secure key handling and support for both string and file-based encryption. This project introduces contributors to real-world CLI applications and modular encryption architecture.
Expected Tasks:
- Create a new folder:
tools/
- Build a
multi_cipher_tool.py script with:
- CLI argument parsing (
argparse) to select cipher, mode, input, and key
- Integration of existing Caesar, AES, and Vigenère implementations
- A simple CLI interface (e.g.,
--cipher aes --mode encrypt --input "hello" --key "1234")
- Implement secure key generation and storage for AES
- Add support for reading and writing to text files
- Create a
MULTI_CIPHER.md documenting:
- Architecture
- CLI options
- Example use cases
- Update the root
README.md with a short description and link
Stretch Tasks:
- Add support for encryption of images or PDFs
- Include a secure password-based key derivation function (e.g., PBKDF2)
Description:
Create a Python-based command-line tool that allows users to choose between multiple ciphers (Caesar, AES, Vigenère) to encrypt or decrypt data securely. The tool should include secure key handling and support for both string and file-based encryption. This project introduces contributors to real-world CLI applications and modular encryption architecture.
Expected Tasks:
tools/multi_cipher_tool.pyscript with:argparse) to select cipher, mode, input, and key--cipher aes --mode encrypt --input "hello" --key "1234")MULTI_CIPHER.mddocumenting:README.mdwith a short description and linkStretch Tasks: