SMASH is a
cryptographic hash function
A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with fixed size of n bits) that has special properties desirable for cryptography:
* the probability of a particular n-bit output ...
which was created by
Lars R. Knudsen
Lars Ramkilde Knudsen (born 21 February 1962) is a Danish researcher in cryptography, particularly interested in the design and analysis of block ciphers, hash functions and message authentication codes (MACs).
Academic
After some early work i ...
.
[Knudsen, Lars R.]
SMASH - A Cryptographic Hash Function
Accessed 23 November 2009 SMASH comes in two versions: 256-bit and 512-bit. Each version was supposed to rival
SHA-256
SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the United States National Security Agency (NSA) and first published in 2001. They are built using the Merkle–Damgård construction, from a one-way compressi ...
and
SHA-512
SHA-2 (Secure Hash Algorithm 2) is a set of cryptographic hash functions designed by the United States National Security Agency (NSA) and first published in 2001. They are built using the Merkle–Damgård construction, from a one-way compressi ...
, 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 2
128 for SMASH-256 and 2
256 for SMASH-512.
Definition
Input: 256/512-bit message blocks
and
*
*
*
The function f is a complex compression function consisting of H-Rounds and L-Rounds using
S-boxes
In cryptography, an S-box (substitution-box) is a basic component of symmetric key algorithms which performs substitution. In block ciphers, they are typically used to obscure the relationship between the key and the ciphertext, thus ensuring Shan ...
,
linear diffusion and variable rotations, details can be found here
Details
The
S-boxes
In cryptography, an S-box (substitution-box) is a basic component of symmetric key algorithms which performs substitution. In block ciphers, they are typically used to obscure the relationship between the key and the ciphertext, thus ensuring Shan ...
in SMASH are derived versions from the
Serpent
Serpent or The Serpent may refer to:
* Snake, a carnivorous reptile of the suborder Serpentes
Mythology and religion
* Sea serpent, a monstrous ocean creature
* Serpent (symbolism), the snake in religious rites and mythological contexts
* Serp ...
ones.
References
Cryptographic hash functions
{{crypto-stub