AN EFFICIENT PARALLEL ALGORITHM FOR SKEIN HASH FUNCTIONS
Recently, cryptanalysts have found collisions on the MD4, MD5, and SHA-0 algorithms; moreover, a method for finding SHA1 collisions with less than the expected amount of work complexity has been published. The National Institute of Standards and Technology (http://www.nist.gov/index.html) has decided that it is prudent to develop a new hash algorithm that shall be referred to as SHA3, and will be developed through a public competition (http://www.nist.gov/itl/csd/ct/hash_competition.cfm). From the set of proposal accepted for the second round of the competition, the solution we have chosen to explore in this paper for providing an efficient parallel algorithm, is the Skein  hash function family. Its design combines speed, security, simplicity, and a great deal of flexibility in a modular package that is easy to analyze. The main reason for parallelizing such an algorithm is to obtain optimal performances when dealing with critical applications which require implementation on multi-core target processors. For parallelizing Skein we have used the tree hash mode which virtually creates one thread for each node of the tree. We claim that this is one of the first parallel implementation with associated performances evaluation of this SHA-3 candidate algorithm.