Skip to content

Implementation of the AES standard (ECB, CBC, CTR, GCM)

License

Notifications You must be signed in to change notification settings

codedude/cryptomania

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cryptomania - AES implementation

The goal of this project is to implement the AES encryption algorithm with some block mode of operations.

Usage:

CLI

Command line options:
  -h [ --help ]         produce help message then exit
  -k [ --key ] arg      secret key in hexadecimal
  -n [ --iv ] arg       iv/counter in hexadecimal
  -a [ --aad ] arg      aad for gcm only in hexadecimal
  -l [ --list ]         list supported algorithms then exit
  -e [ --encrypt ]      encrypt input file (default)
  -d [ --decrypt ]      decrypt input file
  -i [ --in ] arg       input file
  -o [ --out ] arg      output file (default = X.[de|en]crypted)
  -m [ --mode ] arg     operation mode (ecb, cbc, ctr)
  -s [ --size ] arg     key size (128, 192, 256)
  -g [ --generate ] arg generate X random bytes in hexadecimal then exit
  --nopad               disable block padding (default is pkcs7). Input size
                        must be a multiple of 16 bytes
  -v [ --verbose ]      verbose mode (default = false)
  -t [ --tag ] arg      authentification tag (for testing purpose only)

Examples

cliaes.exe -m gcm -s 256 --nopad -n cafebabefacedbaddecaf888 -k feffe9928665731c6d6a8f9467308308 -a feedfacedeadbeeffeedfacedeadbeefabaddad2 -i plainFile.txt -o encryptedFile.txt

About

Implementation of the AES standard (ECB, CBC, CTR, GCM)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published