Method and apparatus for advanced encryption standard (AES) block cipher
First Claim
Patent Images
1. An apparatus comprising:
- an aes encrypt data path to receive data and an encrypt round key for an aes round, the aes encrypt data path to perform a sequence of round operations on the received data using the encrypt round key to provide a next encrypted data to a next aes encrypt round; and
an aes decrypt data path to receive the data and a decrypt round key for the aes decrypt round, the aes decrypt data path to perform a sequence of inverse round operations on the received data using the decrypt round key in parallel with the aes encrypt data path to provide a next decrypted data to a next aes decrypt round.
1 Assignment
0 Petitions
Accused Products
Abstract
The speed at which encrypt and decrypt operations may be performed in a general purpose processor is increased by providing a separate encrypt data path and decrypt data path. With separate data paths, each of the data paths may be individually optimized in order to reduce delays in a critical path. In addition, delays may be hidden in a non-critical last round.
-
Citations
18 Claims
-
1. An apparatus comprising:
-
an aes encrypt data path to receive data and an encrypt round key for an aes round, the aes encrypt data path to perform a sequence of round operations on the received data using the encrypt round key to provide a next encrypted data to a next aes encrypt round; and an aes decrypt data path to receive the data and a decrypt round key for the aes decrypt round, the aes decrypt data path to perform a sequence of inverse round operations on the received data using the decrypt round key in parallel with the aes encrypt data path to provide a next decrypted data to a next aes decrypt round. - View Dependent Claims (2, 3, 4, 5, 6, 7, 12)
-
-
8. A method comprising:
-
in an aes encrypt data path, performing a sequence of round operations on received data using an encrypt round key to provide a next encrypted data to a next aes encrypt round; and in an aes decrypt data path, performing a sequence of inverse round operations on the received data using a decrypt round key to provide a next decrypted data to a next aes decrypt round, the sequence of inverse round operations to be performed in parallel with the sequence of round operations. - View Dependent Claims (9, 10, 11, 13, 14)
-
-
15. A system comprising:
-
a dynamic random access memory to store data and instructions; and a processor coupled to said memory to execute the instructions, the processor comprising; an execution unit to perform a sequence of operations for an aes instruction, the execution unit comprising an aes data path, the aes data path comprising; an aes encrypt data path to receive data and an encrypt round key for an aes round, the aes encrypt data path to perform a sequence of round operations on the received data using the encrypt round key to provide a next encrypted data to a next aes encrypt round; and an aes decrypt data path to receive the data and a decrypt round key for the aes decrypt round, the aes decrypt data path to perform a sequence of inverse round operations on the received data using the decrypt round key in parallel with the aes encrypt data path to provide a next decrypted data to a next aes decrypt round. - View Dependent Claims (16, 17, 18)
-
Specification