An apparatus and method for implementing a hash algorithm word buffer. In
one embodiment, a cryptographic unit may include hash logic configured to
compute a hash value of a data block according to a hash algorithm, where
the hash algorithm includes a plurality of iterations, and where the data
block includes a plurality of data words. The cryptographic unit may
further include a word buffer comprising a plurality of data word
positions and configured to store the data block during computing by the
hash logic, where subsequent to the hash logic computing one of the
iterations of the hash algorithm, the word buffer is further configured
to linearly shift the data block by one or more data word positions
according to the hash algorithm. The hash algorithm may be dynamically
selectable from a plurality of hash algorithms.