1. A cryptographic unit, comprising: hash logic configured to compute a hash value of a data block according to a hash algorithm, wherein said hash algorithm includes a plurality of iterations and a plurality of rounds, each round comprising one or more of said plurality of iterations, and wherein said data block includes a plurality of data words; and a word buffer comprising a plurality of data word positions and configured to store said data block during computing by said hash logic, wherein subsequent to said hash logic computing one of said iterations of said hash algorithm, said word buffer is further configured to perform a linear shift to linearly shift said data block by one or more data word positions according to said hash algorithms; wherein said word buffer is further configured to perform, subsequent to said hash logic computing one of said rounds, a reordering of data words stored at two or more of the plurality of word positions, wherein said reordering is distinct from said linear shift; wherein said hash algorithm is dynamically selectable from a plurality of hash algorithms.