A system for the encryption and decryption of data employing dual ported
RAM to accelerate data processing operations during the computation of
the encryption and decryption algorithm. The system includes logic to
track data changes in the dual ported memory for fast table
initialization; a means to accelerate operations by performing read/write
operations in different iterations of the algorithm to separate ports on
the dual ported RAM in the same clock cycle; and a means to resolve data
manipulation conflicts between out of order read/write operations so that
the system correctly computes the desired algorithm.