Using carry-truncated addition to analyze add-rotate-xor hash algorithms

Rebecca E. Field, Brant C. Jones
2013 Journal of Mathematical Cryptology  
We introduce a truncated addition operation on pairs of N -bit binary numbers that interpolates between ordinary addition mod 2 N and bitwise addition in (Z/2Z) N . We use truncated addition to analyze hash functions that are built from the bit operations add, rotate, and xor, such as Blake, Skein, and Cubehash. Any ARX algorithm can be approximated by replacing ordinary addition with truncated addition, and we define a metric on such algorithms which we call the sensitivity. This metric
more » ... s the smallest approximation agreeing with the full algorithm a statistically useful portion of the time (we use 0.1%). Because truncated addition greatly reduces the complexity of the non-linear operation in ARX algorithms, the approximated algorithms are more susceptible to both collision and pre-image attacks, and we outline a potential collision attack explicitly. We particularize some of these observations to the Skein hash function.
doi:10.1515/jmc-2012-0019 fatcat:bzly4y5vvvapboio5wp5a47ljm