Whirlpool is a hash function, designed by Vincent Rijmen and Paulo S. L. M. Barreto. It was submitted to the NESSIE crypto bake off, and was accepted as one of the winners in the hash category, sharing the honors with the members of the SHA-2 family. It produces 512-bit hashes, which is quite formidable (the only other accepted hash function that produces an output that large is SHA-512). Whirlpool is also being accepted into the ISO/IEC 10118-3 standard, which basically means it's a serious competitor. As of now, only a few crypto libraries support Whirlpool, but more will as time goes on. Whirlpool is 100% free for any use; both designers have stated publicly that Whirlpool is not and will never be patented.

For well over a decade, there have been well known techniques for creating a secure hash function from a secure block cipher. However, these constructions were usually limited by the block size of the cipher itself (almost universally 64 bits until the late 1990s), and that is unacceptably small for a hash function, due to the birthday paradox. Recently, the adoption of 128 bit ciphers has made the situation somewhat more tenable, but still quite "on the edge" in terms of attack. For this reason, hashes designed specifically for the purpose (such as MD5 and RIPEMD-160) have maintained their popularity. In addition, such dedicated algorithms are often much faster than block cipher constructions, since they can eliminate all unneeded overhead (a block cipher will tend to do things which are good for its security as a block cipher but which end up being useless when it's used as a hash function).

However, Whirlpool gets around many of these problems by defining a new, 512-bit cipher, called W, which is very similar in flavor to Rijndael (both of Whirlpool's designers were involved with Rijndael during the AES competition). While W is probably not acceptable as a general use cipher, when combined with the Miyaguchi-Preneel scheme, it produces an extremely strong hash function.

W operates on 64-bit units, and iterates 10 rounds of a Rijndael/Square like scheme. The key schedule is quite simple; the keys for each round are generated from the previously used keys by applying a round of the cipher to the keys itself. Due to the use of many 64-bit variables, Whirlpool is terribly slow on commodity 32-bit CPUs like the x86. However, on 64-bit machines with more registers, like the Alpha and x86-64, it should do much better. In addition, the high parallelism present in the algorithm should allow very high performance hardware implementations, as well as helping out CPUs with multiple functional units. In fact, the specification of the S-Boxes was changed partway through the competition, specifically to allow very fast hardware implementations (the earlier version used a completely random S-Box, while the new one is based off some simple equations which are easy to do in gates).

Lastly, "The Whirlpool hashing function is named after the Whirlpool galaxy in Canes Venatici (M51, or NGC 5194), the first one recognized to have spiral structure by William Parsons, third Earl of Rosse, in April 1845" (quoted from the web site)

You can find out many wonderful things about Whirlpool by going to http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html. This page has, among other things, some papers about Whirlpool, as well as software implementing it.

Whirl"pool` (?), n.

1.

An eddy or vortex of water; a place in a body of water where the water moves round in a circle so as to produce a depression or cavity in the center, into which floating objects may be drawn; any body of water having a more or less circular motion caused by its flowing in an irregular channel, by the coming together of opposing currents, or the like.

2.

A sea monster of the whale kind.

[Obs.]

Spenser.

The Indian Sea breedeth the most and the biggest fishes that are; among which the whales and whirlpools, called "balaenae," take up in length as much as four . . . arpents of land. Holland.

 

© Webster 1913.

Log in or register to write something here or to contact authors.