LUX

From CryptoLUX
Jump to: navigation, search

The hash family LUX is a SHA-3 proposal. It is a stream-based hash function with an internal state three times larger than the message digest. LUX has a high benchmark on both 32-bit and 64-bit platforms.

Luxembourg.jpg

Description

The internal state of LUX is divided into two parts: core and buffer. The core is updated with Rijndael-like transformation. The buffer is cyclically rotated.

Additional transforms of the state include message xors as well as feedbacks between the core and the buffer.

The full specification of LUX can be found here.

The presentation of LUX on the SHA-3 Conference can be found here.

Speed

LUX is one of the two (together with Cheetah) fastest SHA-3 proposals based on Rijndael. In general, LUX is in the top fastest functions on 32 and 64-bit architectures.


Implementation results (in cycles per byte)
LUX-256 LUX-512
32-bit (C) 14.8 28.2
64-bit (asm) 10.2 9.5

Reference implementation of LUX

Optimized 32-bit C implementation of LUX

Optimized 64-bit C implementation of LUX

64-bit Assembler implementation of LUX