A method of enhancing throughput of a pipelined encryption/decryption
engine for an encryption/decryption process has a predetermined number of
stages and provides feedback around the stages (and of such an
encryption/decryption engine) by receiving a source datablock for a given
stage and encryption/decryption context identifier; indexing according to
the encryption/decryption context identifier into a bank of initial
variables to retrieve an initial variable for the source datablock; and
generating an output datablock from the source datablock and its
corresponding initial variable.