📖 WIPIVERSE

🔍 Currently registered entries: 103,612건

Grain (cipher)

Grain refers to a family of stream ciphers designed for hardware efficiency. Developed primarily by Martin Hell, Thomas Johansson, and Alexander Maximov, Grain ciphers are characterized by their lightweight design, making them suitable for resource-constrained environments such as RFID tags and embedded systems.

The Grain family includes several versions, most notably Grain v1, Grain-128, and Grain-128a. They share a common architectural principle: a combination of a Linear Feedback Shift Register (LFSR) and a Non-linear Feedback Shift Register (NFSR). These registers are updated in each clock cycle, and their outputs are combined to produce the keystream.

The specific structure of the LFSR and NFSR, as well as the feedback functions employed, differentiate the various Grain ciphers. For instance, Grain v1 utilized an 80-bit key and an 80-bit initialization vector (IV), while Grain-128 and Grain-128a use a 128-bit key and a 96-bit IV.

Grain ciphers are designed to be resistant to various cryptanalytic attacks, including correlation attacks and algebraic attacks. The design principles aim to create a balance between security and hardware efficiency. However, vulnerabilities have been identified and analyzed for different versions, particularly concerning distinguishing attacks based on specific IV choices or biases in the keystream. Grain-128a was designed, in part, to address some of the concerns raised about Grain-128.

The lightweight nature of Grain ciphers makes them a subject of ongoing research and development, especially in the context of the Internet of Things (IoT) and other applications where security must be provided within strict resource limitations. Their performance and security characteristics are continually evaluated and refined as new cryptanalytic techniques emerge.