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 .