Threefish

Threefish
General
DesignersBruce Schneier, Niels Ferguson, Stefan Lucks, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas, Jesse Walker
First published2008
Related toBlowfish, Twofish
Cipher detail
Key sizes256, 512 or 1024 bits
(key size is equal to block size)
Block sizes256, 512 or 1024 bits
Rounds72 (80 for 1024-bit block size)
Speed6.1 cpb on Core 2.[1]
Best public cryptanalysis
In October 2010, an attack that combines rotational cryptanalysis with the rebound attack was published. The attack mounts a known-key distinguisher against 53 of 72 rounds in Threefish-256, and 57 of 72 rounds in Threefish-512. It also affects the Skein hash function.[2]

Threefish is a symmetric-key tweakable block cipher designed as part of the Skein hash function, an entry in the NIST hash function competition. Threefish uses no S-boxes or other table lookups in order to avoid cache timing attacks;[1] its nonlinearity comes from alternating additions with exclusive ORs. In that respect, it is similar to Salsa20, TEA, and the SHA-3 candidates CubeHash and BLAKE.

Threefish and the Skein hash function were designed by Bruce Schneier, Niels Ferguson, Stefan Lucks, Doug Whiting, Mihir Bellare, Tadayoshi Kohno, Jon Callas, and Jesse Walker.

  1. ^ a b Ferguson, Niels; Lucks, Stefan; Schneier, Bruce; Whiting, Doug; Bellare, Mihir; Kohno, Tadayoshi; Callas, Jon; Walker, Jesse (October 1, 2010), The Skein Hash Function Family (PDF), archived from the original (PDF) on 2014-08-24 The paper in which Threefish was introduced.
  2. ^ Cite error: The named reference rotational-rebound was invoked but never defined (see the help page).