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 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 .