Skip to content

Latest commit

 

History

History
32 lines (21 loc) · 1.63 KB

README.md

File metadata and controls

32 lines (21 loc) · 1.63 KB

Cryptus

Command-Line Tool for File Encryption using AES-256 in GCM mode (Symmetric).

It's uses the simplest technique, symmetric encryption. The program uses pre-shared key to encrypt and decrypt messages.

What the code does

  • It uses clap to parse command-line arguments.

  • If the keyfile is provided, it reads in that file otherwise it asks the user for a password.

  • It uses AES-256 in GCM mode for encryption and decryption.

  • For encryption, it reads the input file, encrypts it, and writes the ciphertext to a new file with the .enc extension.

  • For decryption, it reads the encrypted file, decrypts it, and writes the plaintext to a new file with the .dec extension.

References

This is not a comprehensive list. This is my first time using Rust so I searched up many basic questions, such as "How to get user input in Rust?" or looked through the Rust documentation.

  1. Advanced Encryption Standard
  2. Keyfile
  3. Rust Documentation
  4. Clap
  5. Access Optional
  6. Error handing with ? operator
  7. Which key sizes can I use?
  8. AES256Gcm
  9. Files
  10. Handling errors