SMASH is a cryptographic hash function which was created by Lars R. Knudsen. SMASH comes in two versions: 256-bit and 512-bit. Each version was supposed to rival SHA-256 and SHA-512, respectively, however, shortly after the SMASH presentation at FSE 2005, an attack vector against SMASH was discovered which left the hash broken.
Specifications The message length was limited to less than 2128 for SMASH-256 and 2256 for SMASH-512.
Definition Input: 256/512-bit message blocks m 1 , m 2 , . . . , m t {\displaystyle m_{1},m_{2},...,m_{t}} and θ ∈ G F ( 2 n ) {\displaystyle \theta \in GF(2^{n})}
h 0 = f ( i v ) ⊕ i v {\displaystyle h_{0}=f(iv)\oplus iv}
h i = h ( h i − 1 , m i ) = f ( h i 1 ⊕ m i ) ⊕ m i ⊕ θ m i {\displaystyle h_{i}=h(h_{i-1},m_{i})=f(h_{i_{1}}\oplus m_{i})\oplus m_{i}\oplus \theta m_{i}}
h t + 1 = f ( h t ) ⊕ h t {\displaystyle h_{t+1}=f(h_{t})\oplus h_{t}}
The function f is a complex compression function consisting of H-Rounds and L-Rounds using S-boxes, linear diffusion and variable rotations, details can be found here
Details The S-boxes in SMASH are derived versions from the Serpent ones.
References
