A family of sponge-based hash functions with states between 232 and 576 bits and rates of 8, 16, 32, 64 and 128 bits.
To be a lightweight crypto design, GAGE uses:
• very small 4-to-2 bits s-box;
• 2-bit round constants.
S-box in GAGE
Interleaved 4-to-2 bits s-boxes act as one huge s-box of (b+2)-to-b bits.
Flexible register size representation
GAGE operations can be represented as 2-bit, 4-bit, 8-bit, 16-bit, 32-bit, 64-bit or wide b-bit register operations, thus suitable for all types of MCUs and CPUs.
Nonlinear operations in GAGE
They can be represented as
• readings from very small 4-to-2 bits lookup tables
• register operations of SHIFT, XOR, AND and NOT.
Explicit description of its differential distribution tables
Its simple and systematic design offers a possibility to completely describe with explicit mathematical expressions the distribution and the values of the cells in the differential distribution table for the big (b+2)-to-b-bits s-box, regardless of the size of b.
Two types of protection techniques against side channel attacks
• Masking techniques for reading from look-up tables. The small size of the s-box enables higher order masking look-up tables;
• If implemented with register operations of SHIFT, XOR, AND and NOT, then the Boolean masking techniques used for Keccak can be used also for GAGE.