Implementation of AES in rust
Find a file
2023-08-25 03:20:18 +05:30
.github/workflows Create rust.yml 2023-08-25 03:19:41 +05:30
benches feat: v0.1.0 2023-08-25 02:56:59 +05:30
src feat: v0.1.0 2023-08-25 02:56:59 +05:30
.gitignore feat: v0.1.0 2023-08-25 02:56:59 +05:30
Cargo.lock feat: v0.1.0 2023-08-25 02:56:59 +05:30
Cargo.toml feat: v0.1.0 2023-08-25 02:56:59 +05:30
LICENSE Create LICENSE 2023-08-25 03:03:19 +05:30
README.md chore: added more todos in README.md 2023-08-25 03:20:18 +05:30

AES in Rust

This is my implementation of AES in rust.

Instructions

Run aes command input_file_path output_file_path key_string where

  • command can be one of encrypt or decrypt
  • input_file_path is path to input file
  • output_file_path is path to output file
  • key_string is a 128bit string (currently only AES-128 supported)

TODOs

Components:

  • AddRoundKeys - basic, inverse, tests
  • MixColumns - basic, inverse, tests
  • ShiftRows - basic, inverse, tests
  • SubBytes - basic, inverse, tests
  • KeyExpansion - basic, tests
  • Chunk Splitting and Padding - basic
  • CLI - basic
  • AES-192 and AES-256 support
  • Multithreading
  • Add support for CTR/CBR mode
  • Randomly generate key and share with user