Skip to content
This repository has been archived by the owner on Mar 25, 2024. It is now read-only.

pedroalbanese/grain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grain

ISC License GoDoc GitHub downloads Go Report Card GitHub go.mod Go version GitHub release (latest by date)

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.

Command-line Grain128AEAD Encryption Tool.

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)

License

This project is licensed under the ISC License.

Industrial-Grade Reliability. Copyright (c) 2020-2022 ALBANESE Research Lab.

About

A lightweight AEAD stream cipher submitted to the CAESAR competition for authenticated ciphers. A Lightweight Encryption Scheme for IoT Devices

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages