Grain is a stream cipher submitted to eSTREAM in 2004 by Martin Hell, Thomas Johansson and Willi Meier. It has been selected for the final eSTREAM portfolio for Profile 2 by the eSTREAM project. Grain is designed primarily for restricted hardware environments. It accepts an 80-bit key and a 64-bit IV. The specifications do not recommended a maximum length of output per (key, iv) pair. A number of potential weaknesses in the cipher have been identified and corrected in Grain 128a which is now the recommended cipher to use for hardware environments providing both 128bit security and authentication.
Usage of grain: grain [-d] -p "pass" [-i N] [-s "salt"] -f <file.ext> -a string Additional Associated Data. -d Decrypt instead of Encrypt. -f string Target file. ('-' for STDIN) -i int Iterations. (for PBKDF2) (default 1024) -k string 128-bit key to Encrypt/Decrypt. -p string PBKDF2. -r Generate random 128-bit cryptographic key. -s string Salt. (for PBKDF2)
This project is licensed under the ISC License.