Patent ID: 8005212

Claim:
A device for executing a cryptoalgorithm, wherein the cryptoalgorithm comprises a group of operations including a first and a second sub-group, comprising: a central processing unit configured to perform the first sub-group and to perform a flow control of the cryptoalgorithm; and a hardware circuit configured to perform the second sub-group, wherein the hardware circuit comprises a first register having a rotational ability, a second register having a rotational ability, a multiplexer, a substitution memory configured to store a bit substitution rule, and a control register configured to control the multiplexer depending on a bit pattern written into the control register by the central processing unit, the first register and the second register being connected to a data bus, the multiplexer and the substitution memory, wherein the data bus is arranged between the central processing unit and the hardware circuit, and wherein the rotational ability is a connection between the first bit of a block of bits stored in a register to be rotated and the last bit of the block of bits stored in the register to be rotated.