An apparatus arranged to accept digital data as an input and to process
the data according to one of either the Secure Hash Algorithm (SHA-1) or
Message Digest (MD5) algorithm to produce a fixed length output word. The
apparatus includes a plurality of rotational registers for storing data,
one of the registers arranged to receive the input data, and data stores
for initialization of some of the plurality of registers according to
whether the SHA-1 or MD5 algorithm is used. The data stores include fixed
data relating to SHA-1 and MD5 operation. Also included is a plurality of
dedicated combinatorial logic circuits arranged to perform logic
operations on data stored in selected ones of the plurality of registers.