Grain (cifrado)
Un cifrado de flujo del proyecto eSTREAM que combina un registro de desplazamiento lineal y otro no lineal.
Grain fue diseñado por Martin Hell, Thomas Johansson y Willi Meier y presentado al proyecto eSTREAM en 2004. Usa dos registros de desplazamiento: uno lineal, que da un periodo largo, y otro no lineal, que hace la salida más difícil de predecir. La combinación es pequeña y rápida en hardware, que era la idea para dispositivos con poca energía y poca superficie.
La familia tiene varias variantes con distintas longitudes de clave, y las versiones más nuevas añaden autenticación. Grain es un buen ejemplo de diseño elegante de cifrado de flujo que, como muchos candidatos de eSTREAM, tuvo que ajustarse tras el análisis.