A crypto-engine for cryptographic processing has an arithmetic unit and an
interface controller for managing communications between the arithmetic
unit and a host processor. The arithmetic unit has a memory unit for
storing and loading data and arithmetic units for performing arithmetic
operations on the data. The memory and arithmetic units are controlled by
an arithmetic controller.